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:
- extensión, de base de datos
- Soporte de objetos complejos,
- Inheritance, and
- Rule Systems [9].
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.
- Proveen plug-in code para hacer llamadas funcionales a otras aplicaciones.
- Proveen API's esperado subsistemas del servidor para apoyar funcionabilidad de objeto
- Simulan funcionabilidad objeto relacionado en una capa de middleware
-
Completely redesign the database engine.
- Provee una nueva capa orientada a objeto para soportar rich datatypes
proven relational database engine [7].
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