12. Otras Bases de datosEl modelo entidad-relación y el modelo relacional no son los únicos tipos de modela que existen, en este capítulo se describen brevemente los demás tipos existentes actualmente. 12.1 Object-Oriented Databases12.1.1 Object-OrientedEl primer modelado fue relacional, los DBMS lo implementaban ampliamente en RDBMS, cuando surgieron los lenguajes orientados a objetos como C++ o Java se pensó en una manera de plantear ese paradigma en bases de datos, finalmente si se programaba en un leguaje orientado a objetos, los más natural sería almacenar esa información de la misma forma.
12.1.2 OQL (Object Query Language)
12.1.3 Object-Relational ModelLas bases de datos orientadas a objetos tuvieron gran auge durante los 90's pero luego todos los OODBMS se desplomaron. Como se predijo alrededor de 1990, los vendedores de DBMS comerciales hicieron una mezcla que permitiera utilizar los aspectos del modelo relacional y del orientado a objetos, resultando el modelo "object-relational", surgiendo así los ORDBMS. Las OR databases incorporan:
Ejemplos de ORDBMS usando Oracle
12.2 Distributed Databases12.2.1 Datos distribuidosAplicaciones:
Oportunidades
Complejidades
12.2.2 Transacciones distribuidasEn una base distribuida, una transacción lógica quizás consista de distintos componentes, cada uno ejecutándose en diferentes sitios. Para preservar la consistencia, estos componentes deben acordar cuándo comprometer o abortar la transacción. 12.2.3 Two-phase commitEs un enfoque que soporta el acuerdo entre los componentes de una transacción ya sea para comprometer o para abortar, brindando soluciones inclusive en caídas del sistema. En la primer fase, un coordinador invoca a todos los componentes involucrados en un commit o en un abort. En la segunda fase, el coordinador ordena a los componentes a procesar la petición si y solo si dicho componente ha expresado el deseo de hacerlo. 12.2.4 Bloqueos distribuidosSi las transacciones requieren bloquear elementos encontrados en diferentes sitios, se debe tomar en cuenta:
Soluciones:
12.3 XML Databases12.3.1 Antecedentes
12.3.2 DefiniciónHablar de documentos XML es hablar de 2 categorías
Para cada caso la manera de realizar una consulta es diferente:
Por otro lado para los datos centrados en el documento el reto no es tan trivial ya que se pretende hacer consultas pero no solo sobre el contenido, sino también sobre la estructura del documento. De modo que una base de datos XML es aquella que define un modelo lógico de un documento XML y almacena y recupera documentos de acuerdo a ese modelo.
|
Product | Developer | License | DB Type |
---|---|---|---|
Access 2002 | Microsoft | Commercial | Relational |
Cache | InterSystems Corp. | Commercial | Multi-valued |
DB2 | IBM | Commercial | Relational |
eXtremeDB | McObject | Commercial | Navigational |
FileMaker | FileMaker | Commercial | FileMaker |
FoxPro | Microsoft | Commercial | Relational |
Informix | IBM | Commercial | Relational |
Matisse | Matisse Software | Commercial | Object-oriented |
Objectivity/DB | Objectivity | Commercial | Object-oriented |
OpenInsight | Revelation Software | Commercial | Multi-valued |
Oracle 8i, 9i | Oracle | Commercial | Relational |
SQL Server 2000 | Microsoft | Commercial | Relational |
Sybase ASE 12.5 | Sybase | Commercial | Relational |
Versant enJin | Versant Corp. | Commercial | Object-oriented |
XML Native Databases (Bases de datos nativas de XML): son aquellas que respetan la estructura del documento, se pueden hacer consultas sobre dicha estructura y es posible recuperar el documento tal como fue insertado originalmente.
Product Developer License DB Type 4Suite, 4Suite Server FourThought Open Source Object-oriented Birdstep RDM XML Birdstep Commercial Object-oriented Centor Interaction Server Centor Software Corp. Commercial Proprietary Cerisent XQE Cerisent Commercial Proprietary(?) Coherity XML Database Coherity Commercial Proprietary DBDOM K. Ari Krupnikov Open Source Relational dbXML dbXML Group Commercial Proprietary DOM-Safe Ellipsis Commercial Proprietary eXist Wolfgang Meier Open Source Relational eXtc M/Gateway Developments Ltd. Commercial Multi-valued eXtensible Information Server (XIS) eXcelon Corp. Commercial Object-oriented (ObjectStore). Relational and other data through Data Junction GoXML DB XML Global Commercial Proprietary (Text-based) Infonyte DB Infonyte Commercial Proprietary (Model-based) Ipedo XML Database Ipedo Commercial Proprietary Lore Stanford University Research Semi-structured Lucid XML Data Manager Ludic'i.t. Commercial Proprietary MindSuite XDB Wired Minds Commercial Object-oriented Natix data ex machina Commercial File system(?) Neocore XML Management System NeoCore Commercial Proprietary ozone ozone-db.org Open Source Object-oriented Sekaiju / Yggdrasill Media Fusion Commercial Proprietary SQL/XML-IMDB QuiLogic Commercial Proprietary (native XML and relational) Tamino Software AG Commercial Proprietary. Relational through ODBC. TeraText DBS TeraText Solutions Commercial Proprietary TEXTML Server IXIA, Inc. Commercial Proprietary (Text-based) TigerLogic XDMS Raining Data Commercial Pick TOTAL XML Cincom Commercial Object-relational? Virtuoso OpenLink Software Commercial Proprietary. Relational through ODBC XDBM Matthew Parry, Paul Sokolovsky Open Source Proprietary (Model-based) XDB ZVON.org Open Source Relational (PostgreSQL only?) X-Hive/DB X-Hive Corporation Commercial Object-oriented (Objectivity/DB). Relational through JDBC Xindice Apache Software Foundation Open Source Proprietary (Model-based) Xyleme Zone Server Xyleme SA Commercial Proprietary