Base de datos de objetos

ImprimirCitar
Tipo de sistema de gestión de bases de datos
Ejemplo de un modelo orientado al objeto

Una base de datos de objetos o base de datos orientada a objetos es un sistema de gestión de bases de datos en el que la información se representa en forma de objetos como se usa en la programación orientada a objetos. Las bases de datos de objetos son diferentes de las bases de datos relacionales que están orientadas a tablas. Un tercer tipo, bases de datos relacionales de objetos, es un híbrido de ambos enfoques.

Las bases de datos de objetos se han considerado desde principios de la década de 1980.

Resumen

Los sistemas de administración de bases de datos orientadas a objetos (OODBMS), también llamados ODBMS (Object Database Management System), combinan capacidades de base de datos con capacidades de lenguaje de programación orientado a objetos. Los OODBMS permiten a los programadores orientados a objetos desarrollar el producto, almacenarlos como objetos y replicar o modificar objetos existentes para crear nuevos objetos dentro del OODBMS. Debido a que la base de datos está integrada con el lenguaje de programación, el programador puede mantener la coherencia dentro de un entorno, ya que tanto el OODBMS como el lenguaje de programación utilizarán el mismo modelo de representación. Los proyectos DBMS relacionales, por el contrario, mantienen una división más clara entre el modelo de base de datos y la aplicación.

A medida que aumenta el uso de la tecnología basada en web con la implementación de intranets y extranets, las empresas tienen un interés personal en los OODBMS para mostrar sus datos complejos. El uso de un DBMS que ha sido diseñado específicamente para almacenar datos como objetos brinda una ventaja a aquellas empresas que están orientadas a la presentación multimedia u organizaciones que utilizan diseño asistido por computadora (CAD).

Algunas bases de datos orientadas a objetos están diseñadas para funcionar bien con lenguajes de programación orientados a objetos como Delphi, Ruby, Python, JavaScript, Perl, Java, C#, Visual Basic.NET, C++, Objective-C y Smalltalk; otros como JADE tienen sus propios lenguajes de programación. Los OODBMS utilizan exactamente el mismo modelo que los lenguajes de programación orientados a objetos.

Historia

Los sistemas de administración de bases de datos de objetos surgieron a partir de la investigación realizada entre principios y mediados de la década de 1970 para tener soporte intrínseco de administración de bases de datos para objetos con estructura gráfica. El término "sistema de base de datos orientado a objetos" apareció por primera vez alrededor de 1985. Los proyectos de investigación notables incluyen Encore-Ob/Server (Universidad de Brown), EXODUS (Universidad de Wisconsin-Madison), IRIS (Hewlett-Packard), ODE (Bell Labs), ORION (Microelectronics and Computer Technology Corporation o MCC), Vodak (GMD-IPSI) y Zeitgeist (Texas Instruments). El proyecto ORION tuvo más artículos publicados que cualquiera de los otros esfuerzos. Won Kim de MCC compiló lo mejor de esos artículos en un libro publicado por The MIT Press.

Los primeros productos comerciales incluían Gemstone (Servio Logic, nombre cambiado a GemStone Systems), Gbase (Graphael) y Vbase (Ontologic). Productos comerciales adicionales ingresaron al mercado a fines de la década de 1980 hasta mediados de la década de 1990. Estos incluían ITASCA (Itasca Systems), Jasmine (Fujitsu, comercializado por Computer Associates), Matisse (Matisse Software), Objectivity/DB (Objectivity, Inc.), ObjectStore (Progress Software, adquirido de eXcelon, que originalmente era Object Design, Incorporated), ONTOS (Ontos, Inc., nombre cambiado de Ontologic), O2 (O2 Technology, fusionada con varias empresas, adquirida por Informix, que a su vez fue adquirida por IBM), POET (ahora FastObjects de Versant, que adquirió Poet Software), Versant Object Database (Versant Corporation), VOSS (Logic Arts) y JADE (Jade Software Corporation). Algunos de estos productos permanecen en el mercado y se han sumado nuevos productos comerciales y de código abierto como InterSystems Caché.

Los sistemas de administración de bases de datos de objetos agregaron el concepto de persistencia a los lenguajes de programación de objetos. Los primeros productos comerciales se integraron con varios lenguajes: GemStone (Smalltalk), Gbase (LISP), Vbase (COP) y VOSS (Sistema de almacenamiento de objetos virtuales para Smalltalk). Durante gran parte de la década de 1990, C++ dominó el mercado de administración de bases de datos de objetos comerciales. Los proveedores agregaron Java a fines de la década de 1990 y, más recientemente, C#.

A partir de 2004, las bases de datos de objetos experimentaron un segundo período de crecimiento cuando surgieron bases de datos de objetos de código abierto que eran muy asequibles y fáciles de usar, porque estaban completamente escritas en lenguajes OOP como Smalltalk, Java o C#, como Versant&# 39;s db4o (db4objects), DTS/S1 de Obsidian Dynamics y Prest (McObject), disponible bajo licencia dual de código abierto y comercial.

Cronología

  • 1966
    • MUMPS
  • 1979
    • InterSystems M
  • 1980
    • TORNADO – una base de datos de objetos para CAD/CAM
  • 1982
    • Gemstone comenzó (como Servio Logic) para construir un conjunto de la máquina base de datos modelo teórico.
  • 1985 – Base de datos sobre objetos de mandato
  • 1986
    • Servio Logic (Gemstone Systems) Ships Gemstone 1.0
  • 1988
    • Object Design, Incorporated founded, development of Object Tienda comenzado
    • Versant Corporation comenzó (como Object Sciences Corp)
    • Objectivity, Inc. founded
  • Principios de 1990
    • Servio Logic cambia nombre a Gemstone Systems
    • Gemstone (Smalltalk)-(C++)-(Java)
    • GBase (LISP)
    • VBase (O2- ONTOS – INFORMIX)
    • Objetividad/BD
  • Mid 1990s
    • InterSystems Caché
    • Versant Object Database
    • ODABA
    • ZODB
    • Poeta
    • JADE
    • Matisse
    • Illustra Informix
  • 2000s
    • lambda-DB: Un DBMS orientado al objeto basado en el ODMG por Leonidas Fegaras, Chandrasekhar Srinivasan, Arvind Rajendran, David Maier
    • db4o proyecto iniciado por Carl Rosenberger
    • ObjectDB
  • 2001 IBM adquiere Informix
  • 2003 odbpp public release
  • 2004 lanzamiento comercial de db4o como db4objects, Inc.
  • 2008 db4o adquirido por Versant Corporation
  • 2010 VMware adquiere GemStone
  • 2011 el desarrollo de db4o paró.
  • 2012 Wakanda primeras versiones de producción con licencias de código abierto y comerciales
  • 2013 GemTalk Systems adquiere productos Gemstone de VMware
  • 2014 la oferta comercial de db4o es oficialmente suspendida por Actian (que había adquirido Versant)
  • 2014 Realm
  • 2017 ObjectBox

Adopción de bases de datos de objetos

Las bases de datos de objetos basadas en programación persistente adquirieron un nicho en áreas de aplicación como ingeniería y bases de datos espaciales, telecomunicaciones y áreas científicas como la física de alta energía y la biología molecular.

Otro grupo de bases de datos de objetos se centra en el uso incorporado en dispositivos, software empaquetado y sistemas en tiempo real.

Características técnicas

La mayoría de las bases de datos de objetos también ofrecen algún tipo de lenguaje de consulta, lo que permite encontrar objetos mediante un enfoque de programación declarativa. Es en el área de los lenguajes de consulta de objetos y la integración de las interfaces de consulta y navegación donde se encuentran las mayores diferencias entre productos. El ODMG hizo un intento de estandarización con el lenguaje de consulta de objetos, OQL.

El acceso a los datos puede ser más rápido porque un objeto se puede recuperar directamente sin una búsqueda, siguiendo los punteros.

Otra área de variación entre productos es la forma en que se define el esquema de una base de datos. Sin embargo, una característica general es que el lenguaje de programación y el esquema de la base de datos utilizan las mismas definiciones de tipo.

Las aplicaciones multimedia se facilitan porque los métodos de clase asociados a los datos son los responsables de su correcta interpretación.

Muchas bases de datos de objetos, por ejemplo Gemstone o VOSS, ofrecen compatibilidad con el control de versiones. Un objeto puede verse como el conjunto de todas sus versiones. Además, las versiones de objetos se pueden tratar como objetos por derecho propio. Algunas bases de datos de objetos también brindan soporte sistemático para disparadores y restricciones que son la base de las bases de datos activas.

La eficiencia de una base de datos de este tipo también mejora considerablemente en áreas que exigen grandes cantidades de datos sobre un elemento. Por ejemplo, una institución bancaria podría obtener la información de la cuenta del usuario y brindarle de manera eficiente información extensa, como transacciones, entradas de información de la cuenta, etc.

Estándares

El Grupo de administración de datos de objetos era un consorcio de proveedores de mapas relacionales de objetos y bases de datos de objetos, miembros de la comunidad académica y partes interesadas. Su objetivo era crear un conjunto de especificaciones que permitieran aplicaciones portátiles que almacenaran objetos en sistemas de gestión de bases de datos. Publicó varias versiones de su especificación. El último lanzamiento fue ODMG 3.0. En 2001, la mayoría de los principales proveedores de bases de datos de objetos y mapeo relacional de objetos afirmaron cumplir con el enlace de lenguaje Java de ODMG. El cumplimiento de los otros componentes de la especificación fue mixto. En 2001, el enlace de lenguaje Java de ODMG se envió al proceso de la comunidad Java como base para la especificación de objetos de datos Java. Las empresas miembros de ODMG decidieron entonces concentrar sus esfuerzos en la especificación Java Data Objects. Como resultado, la ODMG se disolvió en 2001.

Muchas ideas de bases de datos de objetos también fueron absorbidas por SQL:1999 y se han implementado en diversos grados en productos de bases de datos relacionales de objetos.

En 2005, Cook, Rai y Rosenberger propusieron abandonar todos los esfuerzos de estandarización para introducir API de consulta orientadas a objetos adicionales y utilizar el propio lenguaje de programación OO, es decir, Java y.NET, para expresar consultas. Como resultado, surgieron las consultas nativas. De manera similar, Microsoft anunció Language Integrated Query (LINQ) y DLINQ, una implementación de LINQ, en septiembre de 2005, para brindar capacidades de consulta de bases de datos cercanas e integradas en el lenguaje con sus lenguajes de programación C# y VB.NET 9.

En febrero de 2006, Object Management Group (OMG) anunció que se le había concedido el derecho a desarrollar nuevas especificaciones basadas en la especificación ODMG 3.0 y la formación del Object Database Technology Working Group (ODBT WG). El ODBT WG planeó crear un conjunto de estándares que incorporaría avances en la tecnología de bases de datos de objetos (p. ej., replicación), gestión de datos (p. ej., indexación espacial) y formatos de datos (p. ej., XML) e incluir nuevas características en estos estándares que Dominios de soporte donde se están adoptando bases de datos de objetos (por ejemplo, sistemas en tiempo real). El trabajo del ODBT WG se suspendió en marzo de 2009 cuando, luego de la crisis económica de fines de 2008, los proveedores de ODB involucrados en este esfuerzo decidieron concentrar sus recursos en otra parte.

En enero de 2007, el World Wide Web Consortium otorgó el estado de recomendación final al lenguaje XQuery. XQuery usa XML como su modelo de datos. Algunas de las ideas desarrolladas originalmente para bases de datos de objetos llegaron a XQuery, pero XQuery no está intrínsecamente orientado a objetos. Debido a la popularidad de XML, los motores XQuery compiten con las bases de datos de objetos como vehículo para el almacenamiento de datos que son demasiado complejos o variables para mantenerlos convenientemente en una base de datos relacional. XQuery también permite que se escriban módulos para proporcionar funciones de encapsulación proporcionadas por los sistemas orientados a objetos.

XQuery v1 y XPath v2 son extremadamente complejos (ningún software FOSS está implementando estos estándares más de 10 años después de su publicación) en comparación con XPath v1 y XSLT v1, y XML no se ajustaba a todas las demandas de la comunidad como formato abierto. Desde principios de la década de 2000, JSON ha ganado adopción comunitaria y popularidad en las aplicaciones, superando a XML en la década de 2010. JSONiq, un análogo de consulta de XQuery para JSON (que comparte las operaciones y expresiones centrales de XQuery), demostró la equivalencia funcional de los formatos JSON y XML. En este contexto, la estrategia principal de los mantenedores de OODBMS fue adaptar JSON a sus bases de datos (usándolo como tipo de datos interno).

En enero de 2016, con el lanzamiento de PostgreSQL 9.5, fue el primer OODBMS de FOSS en ofrecer un tipo de datos interno JSON (JSONB) eficiente con un conjunto completo de funciones y operaciones, para todas las manipulaciones relacionales y no relacionales básicas.

Comparación con RDBMS

Una base de datos de objetos almacena datos complejos y relaciones entre datos directamente, sin asignar filas y columnas relacionales, y esto las hace adecuadas para aplicaciones que manejan datos muy complejos. Los objetos tienen una relación de muchos a muchos y se accede a ellos mediante el uso de punteros. Los punteros están vinculados a objetos para establecer relaciones. Otro beneficio de un OODBMS es que se puede programar con pequeñas diferencias de procedimiento sin afectar todo el sistema.

Contenido relacionado

Telecomunicaciones en Arabia Saudita

Transporte en Chipre

Alta tecnología

La alta tecnología también conocida como tecnología avanzada o exotecnología, es la tecnología que está a la vanguardia: la forma más alta de...
Más resultados...
Tamaño del texto:
Copiar