Base de datos orientada a objetos
En una base de datos orientada a objetos, la información se representa mediante objetos como los presentes en la programación orientada a objetos. Cuando se integra las características de una base de datos con las de un lenguaje de programación orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, Object Database Management System). Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación en uno o más lenguajes de programación a los que dé soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperación de datos, consultas asociativas y otras capacidades.[1]
La iniciativa ODMG (Object Database Management Group) proporciona estándares sobre base de datos orientada a objetos.[2]
Ámbito
Las bases de datos orientadas a objetos se diseñan para trabajar bien en conjunción con lenguajes de programación orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programación.
Los ODBMS son una buena elección para aquellos sistemas que necesitan un buen rendimiento en la manipulación de tipos de dato complejos.
Los ODBMS proporcionan los costes de desarrollo más bajos y el mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integración transparente con el programa escrito en un lenguaje de programación orientado a objetos, al almacenar exactamente el modelo de objeto usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento.
Historia
Los orígenes del término orientados a objetos (abreviado OO) se remontan a los lenguajes de programación orientadas a objetos. Los lenguajes de programación OO tienen sus raíces en el lenguaje SIMULA 67, propuesto a finales de la década de 1960. En Simula, el concepto de clase agrupa la estructura de datos interna de un objeto en una declaración de clase, es decir, introduce en el lenguaje ALGOL los conceptos de objeto y de clase. Como Algol, Simula es un lenguaje fuertemente tipado para entornos compilados. Sin embargo, el primer lenguaje que popularizó la aproximación a objetos fue Smalltalk (1976); este puede considerarse una síntesis de años del lenguaje Lisp, que ofrece una gran flexibilidad gracias a la interpretación, y de Simula, añadiendo el concepto de metaclase. Smalltalk ha podido responder a las necesidades de flexibilidad presentadas por el desarrollo de entornos de programación gráficos, favoreciendo la rápida creación de prototipos de interfaces de usuarios amigables. Fue utilizado con éxito en la primera estación gráfica de Xerox.[3]
Con la llegada de las estaciones de trabajo en los años 80, han crecido numerosos lenguajes orientados a objetos inspirados en Simula o Smalltalk. Entre los lenguajes compilados, los más célebres son C++, Objective C y Eiffel, debido a la compatibilidad del lenguaje o del código producido con el lenguaje de programación C. La mayor parte de los lenguajes interpretados son extensiones del Lisp; por ejemplo, Loops y CLOS. Es interesante notar que la mayor parte de los lenguajes populares existentes se encuentran en curso de ampliación para convertirse en orientados a objetos, incluyendo al COBOL y Ada (más exactamente Ada 9X, que aporta la herencia).
En años recientes, han aparecido muchos prototipos experimentales y sistemas de bases de datos comerciales orientados a objetos. Entre los primeros se encuentran los sistemas ORION, OpenOODB, IRIS, ODE y el proyecto ENCORE/ObServer. Y entre los sistemas disponibles en el mercado están: GEMSTONE/OPAL de ServicLogic, ONTOS de Ontologic, Objectivity de Objectivity Inc., Versant de Versant Technologies, ObjecStore de Object Design y O2 de O2 Technology. Esta es solo una lista parcial de los prototipos experimentales y de los sistemas de bases de datos comerciales orientados a objetos. Desafortunadamente, es aún demasiado pronto para saber cuáles sistemas se instalarán como líderes en este campo.
Las bases de datos orientadas a objetos han adoptado muchos de los objetos creados para los lenguajes de programación orientados a objetos.
Véase también
- Enterprise Objects Framework
- ODMG (Object Database Management Group)
- Mapeo objeto-relacional
- Persistencia
- ObjectDB
- Zope Object Database
Referencias
- ↑ Kim, Won. Introduction to Object-Oriented Databases. The MIT Press, 1990. ISBN 0-262-11124-1
- ↑ Tema 2. Bases de datos orientadas a objetos Dise no de Sistemas de Bases de Datos. Merche Marqu es
- ↑ «History - ODBMS.org» (en inglés estadounidense). Consultado el 5 de noviembre de 2019.
Enlaces externos
- Evolution of Object-Oriented Database Systems Global Journal of Computer Science and Technology: C Software & Data Engineering Volume 16 Issue 3 Version 1.0 Year 2016. Online ISSN: 0975-4172
- Bases de Datos
Bases de datos orientadas a objetos
Una base de datos orientada a objetos es aquella que implementa dentro de un sistema de información la representación de datos en forma de objetos. Esto mediante la aplicación de programación orientada de objetos. Estas bases de datos se diferencias de las bases de datos relacionales clásicas, debido a que no responden a un sistema de tablas para registrar su información.
Estas bases de datos mezclan las potencialidades de una base de datos de programación orientada a objetos con diferentes lenguajes de programación. Estas se coordinan muy bien con Delphi, Phyton, Ruby, JavaScript, Java, Visual BASIC, NET, C++, entre otros.
La mayoría de las bases de objetos ofrecen lenguajes de consultas para encontrar los objetos que pertenecen a la base.
Base datos orientada a objetos remota
Arquitectura regular en una base de datos orientada a objetos
Para ello se utiliza un enfoque de programación declarativa. El acceso a los datos en estas bases es más rápido debido a que los objetos pueden ser recuperados de forma directa sin búsqueda específica.
Una de las principales diferencias que se encuentran entre las bases de datos orientadas a objetos y los esquemas relacionales tradicionales es la forma en la que se define el esquema de la base de datos. En este modelo es mucho más flexible. Ventajas de las Bases de datos orientadas a objetos Lenguajes de Consulta
Entre los aspectos más positivos que poseen dichas bases de datos se encuentra su lenguaje de consulta. Estas implementan un sistema declarativo de permiten encontrar y recuperar los objetos de la base de datos. Como ya mencionamos, estas bases de datos son capaces de funcionar con varios tipos de lenguajes de programación conocidos. Persistencia transparente
Esta es una característica muy importante. Se refiere a la posibilidad de la base de datos de utilizar uno o varios objetos a través del lenguaje de programación para obtener análisis o manipulación de la data. Transacciones ACID
Estas bases de datos tienen un alto nivel de confiabilidad en la ejecución de transacciones ACID (atomicidad, consistencia, aislamiento y durabilidad). Esto significa que las transacciones se cumplen o terminan únicamente cuando no existen conflictos con los datos. También los usuarios pueden abortar las acciones en caso de que se presente algún error en el sistema de la base de datos. Almacenamiento en cache
Las bases de datos orientadas a objetos tienen un mecanismo de almacenamiento en cache que crea replicas parciales de la base de datos. El almacenamiento en caché es un método de almacenamiento y resguardo de datos que permite minimizar el acceso al disco o el flujo de tráfico de la red. Esto permite que las aplicaciones accedan a objetos desde la memoria del programa en lugar del utilizar el almacenamiento en disco.
También es importante mencionar que estas bases de datos tienen amplias capacidades para recuperación de datos, manejo complejo de altos volúmenes de datos. Sus características le proporcionan gran rendimiento y un manejo mínimo de código. Desventajas de las bases de datos orientadas a objetos
Al igual que diversas bases de datos NoSQL, carecen de madurez en el desarrollo. Esto lleva a un mayor riesgo de sostenibilidad de la base de datos en el largo plazo. No hay criterios claros de estandarización, ya que estas apenas están reemergiendo en el mercado digital.
Al tener relativamente poco tiempo en el mercado, existe poca experiencia y documentación sobre proyectos que las implementen. Esto pudiese extender los tiempos de desarrollo de un proyecto con este modelo de bases de datos.
Sin duda también representaría gastos de capacitación adicional para los equipos de desarrolladores ya que no existe una familiaridad en los entornos del mercado digital con el paradigma de objetos.