Sistemas de Base de datos Relacionado a Objeto - El Camino hacia Adelante


por Ramakanth S. Devarakonda

Varias Compañías principales de software como IBM, Microsoft, Oracle, y Sybase han dado a conocer al publico versiones de sus productos que son relacionado a objeto (Object-Relational en Inglés). Esas Compañías estan promocionando una version nueva y extendida de la tecnología de base de datos relacionados llamada object-relational database management systems Sistema de base de datos Relacionado de objeto tambien conocido como ORDBMSs. Este articulo compara y contrasta esta clase nueva de base de datos relacionado a objeto con la base de datos relacionado.

Recientemente, Muchas Compañías han empezado a usar sistemas de base de datos en aplicaciones no tradicionales por la gran demanda de imagenes y objetos de multimedia. Por consecuencia, los objetos y las operaciones relacionadas han sido mas complejos. Algunos ejemplos de datos complejos son imagenes, sistemas de imformacíon gráfica, objetos de multimedia, 3-D y datos temporales. Cuales son los requisitos para soportar aplicaciones complejas? Para soportar aplicaciones complejas, tiene que ser orientado a objeto la base de datos? Algunos grupos piensan que las aplicaciones del futuro seran implementadas solamente por sistemas que sean orientados a objeto En un principio esos sistemas parecían estar bien. Pero resultaron no ser lo que eperabamos. Una nueva tecnología ha desarrollado: en donde los conceptos relacionados y los conceptos relacionado a objeto son combinados. Las ventajas principales de ORDBMS's son: la habilidad de escalabilidad y el soporte de características orientadas a objeto.

DBMS (RDBMS) Relacionado

El modelo relacionado fue introducido por el Dr. E. F. Codd en 1970 [2] y ha desarrollado desde entonces a travéz de una serie de escritos e implementaciones por IBM y otras compañías. El standard por las bases de datos relacionados, esta publicado por ANSI (the American National Standard Institute) como (ANSI 1986) o SQL 1. Un nuevo standard corregido ha sido llamado SQL2, o tambien referido como SQL-92.

Una base de datos relacionado esta compuesta de muchas relaciones en forma de listas de dos dimensiones y columnas que tienen renglones. La forma en que la información esta presentada al usuario y la programaodor es conocida como la vista logica de la base de datos. La informacion guardada en el disco de la computadora es llamada vista interna. Los renglones son llamados Records y los columnas son llamados attributes. Cada columna tiene un tipo de datos (ejemplo., int,, float, date). Hay varias restricciones con los datos que pueden ser guardados en la base de datos relacionado. Estos son llamados Constraints Tipos de constraints o restriciones son; key constraints, entity integrity constraints, y referential integrity constraints. Esos constraints aseguran que no haya reglones ambiguosos en la base de datos.

PDRMSs usa el Lenguage Estructurado de Busqueda Structured Query Language (SQL, ahora SQL2) como el Data Definition Language) ( Definicion de lenguage de datos) (DLL) y el Data Manipulation Language(DML). SQL incluye declaraciones por la definción de datos, modificación, querying ( busqueda de datos) y specificaión de datos. Los tipos de queries varian de single-table queries sencillas a las multi-table queriesmas complicadas que incluye joins, set union/differences y otros. Todo el procesamiento esta basado en los valores en grupos de archivos. Ejemplos de RDBMSs incluye Oracle, creado por Oracle Coorperation, y Microsoft creado por Microsoft. La desventaja principal de la Base de Datos Relacionados es la inhabilidad para manejar aplicaciones como base de datos espaciales (e.g. CAD) y aplicaciones que incluyen imagenes y base de datos especiales (e.g. numeros complejos, arrays, ect.) La version standard de SQL permite que se muevan con facilidad las aplicaciones entre sistemas . Tambien, se puede tener accesso a los datos de todos los sistemas de RDBMSs sin cambiar el sub-language(SQL) de la base de datos. Otros beneficios incluye tener accesso rapido de los datos y la capacidad de Large Storage(guardar grandes cantidades de información)[3].

DBMS (OODBMS)orientada a objeto

El deseo de representar objectos complejos ha sido el resultado en la realización de sistemas orientada a objeto Object- oriented(OO). SMALLTALK, un lenguage de programación, fue diseñado especificamente para ser object-oriented. Otros leguages de programación los cuales son object-oriented incluye C++, Java ect. Las carateristicas principales de lenguages object-oriented son encapsualation, inheritance and polymorphism. Inheritance significa el proceso en el cual las propiedades de un objecto son reusados para definir las propiedades de un objeto nuevo. Polymorphism es un concepto en el cual el operador o símbolo puede ser usado por implementaciones diferentes.

Las bases de datos orientada a objeto usan un modelo de datos que soporta abstract data types y las caracteristicas que hemos mencionado anteriormente.La base de datos orientada a objeto provee Unique Object Identifiers (OIDs)para que los objectos puedan ser indentificados con facilidad. Los datos en un sistema de base de datos orientada a objeto (object- oriented database management systems OODBMSs) son manejados a traves de dos grupos de relaciones: Uno que describe las relaciones entre clases de datos y otro que describe las relaciones abstractas (inherencia). Esos sistemas usan dos tipos de relaciones para combinar articulos de información con metodos de procedimiento. La conexión fuerte entre la aplicación y la base de datos hace que usen menos codigo y su estructura es mas natural. Los lenguages OO, como C++ o java reduce el tamaño del código y son mas prácticas porque no tienen que traducir el codigo en un sublanguage como SQL, ADBC o JDBC [5, 6].

Hasta ahora, la falta de un patron o standard para definir era un problema para OODBMSs. El grupo, Object Data Management Group (ODMG)han propuesto un standard o patron conocido como ODMG-93 o ODMG 1.0 standard, o de nuevo ODMG 2.0[1]. El standard consiste de un modelo objectivo, el lenguage para definir los objetos (object defining langauage ODL, the object query language (OQL) y las ligaduras (Inglés Bindings) a los lenguages de programación. El ODL y OQL estan basados en el modelo de datos ODMG. El modelo de datos consiste en dos tipos de datos, los tipos de constructores. El modelo tiene mucho en comun con el reportaje de SQL que describe el modelo standard para las bases de datos relacionados. El ODL esta usado para crear especificaciones de objetos y es un lenguage de programación independiente. El OQL es diseñdo para funcionar con los lenguages de programación los cuales tienen una definición de bindings como C++, java y SMALLTALK. El sintaxis de los queries de OQL es similar al sintaxis de SQL pero tiene caracteristicas adicionales como object identity, objetos comlejos, inheritance, polymorphisism and relationships. Un lenguage orientado a objeto es usado para aplicació y para la base de datos. OODBMS ha sido integrado con C, C++, Java y LISP. El interfaz primario de OODBMS para crear y modificar los objetos es usado directemente del lenguage del objeto(C++, Java, ect. El language usa el mismo sintaxis como el langauge principal. La mayor diferencia entre la base de datos relacionado y la base de datos OO es la manera en que manejan las relaciones. En una base de datos OO, la relación esta representada solamente con OIDs, los cuales mejoran el desempeño del accesso de datos. En las base de datos relacionados,los relaciones son especificados por los attributes que tienen el mismo Domain

El mayor problema con los OODBMS's ha sido un desempeño pobre. La optimización de OODBMSs es un proceso complejo. Tambien los OODBMSs sufren de problemas de escalabilidad y no soportan los sistemas large-scale. Algunos ejemplos de OODBMSs son O2 creado por Ardent Software y el ObjectStore system creado por Object Design Inc. [3, 6]

DBMS (ORDBMS)s Object-Relational

ORDBMSs usa modelos de datos que trata de combinar los caracteristicas de OO con el modelo de RDBMSs. Todo la imformación de la base de datos esta guardado en los tables pero algunas notaciones tabulares pueden tener una estructura de datos abstract data types(ADTs). ORDBMSs soporta una forma de SQL llamada SQL3. Las extensiones son necesarias porque los ORBDMSs debe de soportar ADT's. El ORDBMS tiene un modelo relacionado porque los datos estan guardados en forma de tables con renglones y columnas. SQL es usado por el lenguage de busqueda de información. Pero el modelo relacionado tiene que ser modificado para soportar las caracteristicas clasicas de programación orientada a objeto. Las caracteristicas de ORDCMSs son: ORDBMSs permite que los usuarios puedan definir los tipos de datos, funciones y operadores. Como resultado, ORDBMSs tiene mas funcionabilidad y un mejor desimpeño

Un ejemplo de una relación estudiante que tiene el apoyo de ORDBMS es:

STUDENT(fname,lname,ID,sex,major,address,dname,location,picture)

Se nota los attributes adicionales "location" y "picture" cuales no son presente en el relación tradicional entre EMPLOYEE y RDBMS. El datatype de "location" es "geographic point" y el datatype de "pictures" es "image"

La diferencia entre las tres sistemas

Table 1: Una comparasion de sistemas de Database Management
Criteria RDBMS ODBMS ORDBMS
Standard para definir SQL2 ODMG-2.0 SQL3 (in process)
Apoya de caracteristicas object-oriented No lo apoya; Es dif"ícil mapar una programa entre el objeto y el database apoyo extensivo apoyo limitado; mostly with datatypes
Usage Facil de usar Bien para programadores; Algun acceso de SQL access para end users Easy to use except for some extensions
Apoyo por relaciones complejos No apoyo de abstract datatypes Apoya una grand variadad de datatypes and data inter-relaciones complejos Apoya Abstract datatypes y relaciones complejos
Desimpeño un bueno desimpeño Relatively less performance Expected to perform very well
Maturidad del producto Relativamente viejo y muy maduro Este concepto tiene un par de años y es relativamente maduro Todavia es en el proceso de desarrollo
The use of SQL Apoyo extensivo de SQL OQL es similar a SQL, pero con carateristicas adicionalds como Complex objects and object-oriented features. SQL3 is being developed with OO features incorporated in it
Ventajas Su dependencia de SQL, y su optimizacion de query es relativamente sencilla de relatively simple query Puede manejar todo tipo de aplicaciones complejas, puedes reusar el codigo Habilidad de query (pregunta) aplicaciones complejas y la habilidad a manejar aplicaciones grandes y complejas
Disventajas Inabilidad a manejar apliciones complejas Desimpeño povre por lo to optimization complejo de query, la inabilidad ao suportar sistemas large-scale Desimpeño povre en aplicaciones del web
Tiene apoyo de los vendores Es considerado tener un gran exito. Tiene un extenso mercado y muchos vendedores En el presente, falta el apoyo de los vendores por el tamoño del mercado de RDBMS Tiene un buen futuro. Parece que todo los vendores de RDBMS quieren este producto
Recursos: International Data Corporation, 1997 [4]

In a paper, "Object-Relational DBMS: The Next Wave," [8] Dr. Michael Stonebraker, El gerente de Tecnología de la Informix Software, ha clasificado cuatro tipos de los aplicaciones de DBMS: datos sencillos sin query, datos sencillos con query, datos complejos sin query y datos complejos con query. Esos cuatro tipos describen sistemas de archivos. DBMS relacionado, DBMS orientado a objeto, y DBMS relacionado a objeto. Universal Server, creado por Informex pertenece a la cuarta categoría. Los otros ORDBMS incluye Oracle8, de Oracle Coorperation,y Universal DB (UDB) por IBM. Tambien, Stonebraker predice que muy pronto todas las aplicaciones de DBMSs (datos sencillos con query) relacionado van a imitar los DBMS Relacionado a objeto (datos complejos con query) Para dar un ejemplo, Stonebraker refiere a una compaña de seguro en el cual la base de datos del cliente y la base de datos de reclamaciones usa el metodo tradicional para procesar aplicaiones en DBMSs relacionado. Si la compañía quiere añadir datos complejos a esta aplicación como un diagrama del sitio del accidente, una imagen escaneada,o una foto del carro, la compañía necesitará un DBMSs relacionado a ORDBMS. Por eso Stonebraker dice que lo ORDBMSs seran la nueva era del futuro. [8].

Table 2: Categorias de DBMSs
File Systems RDBMSs OODBMSs ORDBMSs
Simple data without queries Simple data with queries Complex data without queries Complex data with queries

Las cinco opciones de arquitectura por Dr. Stonebraker, estan enlistadas en orden de practicalidad, desimpeño, y deseabilidad general.
La ventaja principal de ORDBMSs es la gran escabilidad que tienen. Oracle8 esta desiñado para manejar una gran cantidad de imformación. Esperan que Oracle8 ayudará a NASDAQ con las bases de datos grandes (VLDBs en inglés por Very Large Data Bases). La base de datos contiene cientos de gigabytes de aplicaciones requeridas por inversionistas y analistas para examinar información de acciones. Aunque tengan muchas ventajas, ORDBMSs tambien tienen desventajas. La arquitectura de un modelo objeto relacionado no es el mejor modelo para aplicaciones de alta velocidad del web. Sin embargo, los ORDBMS hacen la promesa de conquistar el mercado del mundo porque tienen ventajas como la capacidad de guardar cantidades grandes de imformación y acceso de alta velocidad. Tambien tiene el apoyo de los vendedores principales. Tambien expresa la opinión de que el mercado de ORDBMS superará el mercado de ODBMS el los siguientes tres años.

Referencias

1
Cattell, R.G. The Object Database Standard: ODMG-93 (Release 1.2). Morgan Kauffman Publishers. San Francisco, 1995.
2
Codd, E.F. A Relational Model of Data for Large Shared Data Banks. CACM 13(6): 377-387. 1970.
3
Elmasri, R. & Navathe, S.B. Fundamentals of Database Systems 3e. Addison Wesley, 2000.
4
McClure, S. IDC Bulletin #14821E. August, 1997.
5
Nahouraii, E. & Petry, F. Object-Oriented Databases. IEEE, 1991.
6
Rao, B.R. Object-Oriented Databases: Technology, Applications, and Products McGraw-Hill. New York, 1994.
7
Stonebraker, M. Architectural Options for Object-Relational DBMSs. Informix Software, CA. Feb, 1997.
8
Stonebraker, M. Object-Relational DBMS: The Next Wave. Informix Software, CA.
9
Stonebraker, M., Brown, P., and Moore, D. Object-Relational DBMSs: Tracking the Next Great Wave 2e. Morgan-Kauffman Publishers. San Francisco, 1999.

Biography

Ramakanth Subrahmanya Devarakonda esta haciendo la maestria en la ciencia de ComputacióN en la Universidad de Old Dominios, Northfolk, VA. El graduó en Ingenieria de computación de La Universidad de Andhra.


Last Modified:
Location: www.acm.org/crossroads/espanol/xrds7-3/ordbms.html