MODELOS AVANZADOS DE BASES DE DATOS - Grupo Alarcos ...
MODELOS AVANZADOS DE BASES DE DATOS - Grupo Alarcos ... MODELOS AVANZADOS DE BASES DE DATOS - Grupo Alarcos ...
UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR INFORMÁTICA MODELOS AVANZADOS DE BASES DE DATOS BASES DE DATOS FEDERADAS Y BASES DE DATOS MÓVILES Alberto Rosell Borox Marcos Vergara García Matías Blanco León 22 de abril de 2009
- Page 2 and 3: Índice 1. Bases de Datos Federadas
- Page 4 and 5: Modelos Avanzados de Bases de Datos
- Page 6 and 7: Modelos Avanzados de Bases de Datos
- Page 8 and 9: Modelos Avanzados de Bases de Datos
- Page 10 and 11: Modelos Avanzados de Bases de Datos
- Page 12 and 13: Modelos Avanzados de Bases de Datos
- Page 14 and 15: Modelos Avanzados de Bases de Datos
- Page 16 and 17: Modelos Avanzados de Bases de Datos
- Page 18 and 19: Modelos Avanzados de Bases de Datos
- Page 20: Modelos Avanzados de Bases de Datos
UNIVERSIDAD <strong>DE</strong> CASTILLA-LA MANCHA<br />
ESCUELA SUPERIOR INFORMÁTICA<br />
<strong>MO<strong>DE</strong>LOS</strong> <strong>AVANZADOS</strong><br />
<strong>DE</strong> <strong>BASES</strong> <strong>DE</strong> <strong>DATOS</strong><br />
<strong>BASES</strong> <strong>DE</strong> <strong>DATOS</strong> FE<strong>DE</strong>RADAS<br />
Y <strong>BASES</strong> <strong>DE</strong> <strong>DATOS</strong> MÓVILES<br />
Alberto Rosell Borox<br />
Marcos Vergara García<br />
Matías Blanco León<br />
22 de abril de 2009
Índice<br />
1. Bases de Datos Federadas. ..................................................................................... 1<br />
1.1. Características de los SGBDF. ......................................................................... 1<br />
1.2. Tipos de SGBDF. ............................................................................................. 2<br />
1.3. Tipos de Arquitectura para un SGBDF. ........................................................... 5<br />
1.4. Problemas de Implementación.......................................................................... 7<br />
1.5. Aplicaciones Comerciales. ............................................................................... 7<br />
1.6. Caso de Uso: MySQL....................................................................................... 7<br />
2. Base de Datos Móviles. ........................................................................................... 9<br />
2.1. Introducción...................................................................................................... 9<br />
2.2. Arquitectura...................................................................................................... 9<br />
2.2.1. Modos de funcionamiento. ..................................................................... 10<br />
2.3. Sistemas Gestores de Bases de Datos móviles. .............................................. 11<br />
2.4. Aplicaciones móviles y tipos de datos............................................................ 11<br />
2.5. Ejemplos de bases de datos móviles............................................................... 12<br />
2.6. Caso de estudio: Oracle Database Lite 10g.................................................... 13<br />
3. Similitudes entre Bases de Datos Móviles y Bases de Datos Federadas. ......... 15<br />
4. Diferencias entre Bases de Datos Móviles y Bases de Datos Federadas. ......... 16<br />
5. ¿En qué casos es más recomendable usar un sistema u otro?.......................... 17<br />
6. Bibliografía............................................................................................................ 18
Modelos Avanzados de Bases de Datos<br />
1. Bases de Datos Federadas.<br />
La definición de Base de Datos Federada ha sido realizada por varios autores. Así,<br />
Sheth A.P. and Larson, J.A. definieron el concepto base de datos federada como “una colección<br />
de sistemas de bases de datos independientes, cooperativos, posiblemente heterogéneos, que son<br />
autónomos y que permiten compartir todos o algunos de sus datos”. Además, Larson amplió<br />
esta definición diciendo que “en un sistema federado los usuarios tienen acceso a los datos, de<br />
los distintos sistemas, a través de una interfaz común; sin embargo, no existe un esquema global<br />
que describa a todos los datos de las distintas bases de datos, sino que en su lugar hay varios<br />
esquemas unificados, cada uno describiendo porciones de bases de datos y archivos para el uso<br />
de cierta clase de usuarios”.<br />
La primera definición pone de manifiesto todas las propiedades que definen a una Base<br />
de Datos Federada: heterogeneidad, autonomía y distribución. Una Base de Datos Federada se<br />
dice que es heterogénea debido a que los sistemas de bases de datos que lo forman pueden<br />
tener cualquier arquitectura. En cuanto a la autonomía, esta propiedad se cumple ya que cada<br />
sistema de bases de datos funciona por sí mismo y de forma local. Por último, el concepto de<br />
distribución hace referencia a que cada sistema de bases de datos puede estar localizado en<br />
cualquier punto.<br />
En cuanto a la segunda definición, se explica que un sistema federado está compuesto<br />
por los datos de las diferentes bases de datos que forman el esquema, pero que dichos datos no<br />
están presentes en ningún esquema global. Además, no necesariamente todos los datos de una<br />
base de datos son compartidos a los usuarios, sino que se tiene la posibilidad de compartir sólo<br />
una porción de los datos.<br />
1.1. Características de los SGBDF.<br />
Un Sistema Gestor de Bases de Datos Federadas (SGBDF) es el responsable de<br />
proveer una vista de datos transparente al usuario. Esto significa que el usuario percibe a la base<br />
de datos federada como una única base de datos local, y no múltiples bases de datos que<br />
contienen diferentes datos, que es como en realidad está configurado.<br />
Un SGBDF no contiene ningún dato, sino que accede a los datos almacenados en las<br />
diferentes bases de datos que forman el esquema. Para acceder a dichos datos es necesario<br />
establecer las denominadas federaciones. Una federación es una vista que se establece en una<br />
base de datos en particular para exteriorizar los datos que se desean mostrar.<br />
Bases de Datos Federadas y Bases de Datos Móviles 1 | P ágina
Modelos Avanzados de Bases de Datos<br />
A continuación se muestra una figura que ilustra la conexión entre los diferentes<br />
elementos que forman una base de datos federada.<br />
Esquema de un SGBDF<br />
Como se puede apreciar en la figura anterior, un SGBDF está formado por varios<br />
gestores de bases de datos. Dichos gestores pueden ser tanto gestores de bases de datos<br />
centralizadas (SGBD) como gestores de bases de datos distribuidas (SGBDD). Los SGBDD,<br />
además, pueden ser a su vez sistemas de bases de datos federados. Tanto los sistemas gestores<br />
como las bases de datos que lo forman son denominados componentes del SGBDF.<br />
Los componentes de un SGBDF pueden ejecutar tanto sus operaciones locales como<br />
participar en la ejecución de las consultas sobre los datos federados (operaciones globales). La<br />
autonomía de cada componente es controlada por el administrador del sistema junto a cada<br />
administrador de cada uno de los componentes. Esto es debido a que dicha autonomía difiere<br />
según la necesidad de federación existente de cada base de datos con el esquema global.<br />
Todas las federaciones en conjunto forman el sistema federado. En cualquier momento,<br />
según la necesidad, cualquiera de ellas puede variar. Como se ha dicho antes, el usuario final es<br />
transparente a las uniones entre componentes que haya por debajo, por lo que el único cambio<br />
que un usuario puede percibir es que tenga acceso a diferentes datos en el esquema global.<br />
1.2. Tipos de SGBDF.<br />
Bases de Datos Federadas y Bases de Datos Móviles 2 | P ágina
Modelos Avanzados de Bases de Datos<br />
Los SGBDF se pueden clasificar en 2 grandes categorías: fuertemente acoplados y<br />
débilmente acoplados. Antes de detallar ambas categorías, se muestra un esquema que<br />
específica los diferentes tipos de bases de datos federadas.<br />
Taxonomía de los SGBDF<br />
Como se puede apreciar, vuelve a aparecer el concepto de autonomía como elemento<br />
diferenciador entre sistemas federados y sistemas que no lo son. En cuanto a los otros 2<br />
conceptos, heterogeneidad y distribución, ambos se cumplen debido a que la propia definición<br />
de sistema federado lo hace posible, al estar compuesto éste de varios SGBD separados en<br />
localizaciones diferentes y con distinta arquitectura.<br />
SGBDF fuertemente acoplados<br />
Este tipo de sistema federado posee un esquema conceptual global que está<br />
formado por un subconjunto de los esquemas conceptuales locales, compuesto de los<br />
datos que cada sistema local decide compartir. El esquema conceptual global en un<br />
sistema fuertemente acoplado implica la integración de partes de los esquemas<br />
conceptuales locales o de los esquemas externos locales.<br />
En la figura siguiente se ilustra una arquitectura de referencia para un sistema<br />
gestor de base de datos federado estrechamente acoplado, es decir, que tiene un<br />
esquema conceptual global.<br />
Bases de Datos Federadas y Bases de Datos Móviles 3 | P ágina
Modelos Avanzados de Bases de Datos<br />
Arquitectura de referencia para un SGBDF fuertemente acoplado<br />
Las características de un SGBDF fuertemente acoplado son las siguientes:<br />
El administrador global del sistema federado tiene todo el control sobre<br />
la creación y el acceso a los sistemas de bases de datos componente.<br />
Soporta uno o más esquemas federados.<br />
La utilización de un SGBDF de este tipo concierne una serie de ventajas:<br />
Capacidad de soportar actualizaciones.<br />
La interpretación de la semántica de los múltiples datos integrados en el<br />
sistema federado es uniforme.<br />
Aún así, este tipo de sistema federado posee las siguientes desventajas:<br />
Debido a la libertad que disfrutan los administradores globales se puede<br />
llegar a violar la autonomía que poseen los sistemas componente.<br />
No soporta la evolución dinámica de los esquemas de exportación o<br />
componentes.<br />
SGBDF débilmente acoplados.<br />
Existe otro tipo de sistema federado, débilmente acoplado, que se basa en no<br />
tener un esquema conceptual global. En este caso, los esquemas externos están<br />
compuestos por uno o más esquemas conceptuales locales.<br />
Bases de Datos Federadas y Bases de Datos Móviles 4 | P ágina
Modelos Avanzados de Bases de Datos<br />
Este otro tipo de sistema federado posee las siguientes características:<br />
Los usuarios son los responsables de la creación y el mantenimiento de<br />
las federaciones mediante la utilización de vistas.<br />
Soporta sistemas de bases de datos altamente autónomos, los cuales los<br />
usuarios deben tratar.<br />
En cuanto a las ventajas de utilizar este tipo de SGBDF:<br />
Dispone de gran flexibilidad para mapear diferentes semánticas de los<br />
mismos objetos en distintos esquemas de exportación.<br />
Se tiene mayor facilidad para soportar la evolución de los componentes.<br />
Y las desventajas de los SGBDF débilmente acoplados son las siguientes:<br />
Resulta de gran dificultad la comprensión de grandes cantidades de<br />
esquemas de exportación.<br />
Los esfuerzos para gestionar este tipo de sistema se duplican.<br />
Existen problemas para actualizar las vistas que utilizan los usuarios.<br />
1.3. Tipos de Arquitectura para un SGBDF.<br />
A continuación se van a detallar dos tipos de arquitecturas para el manejo de bases de<br />
datos federadas. Hay otras muchas, pero en este documento nos vamos a centrar en la<br />
arquitectura de Sheth A.P. and Larson, J.A. y la arquitectura propuesta por ANSI/SPARC.<br />
Arquitectura de 5 niveles (Sheth y Larson).<br />
Sheth y Larson propusieron una arquitectura compuesta por 5 niveles de<br />
esquemas, los cuales son los siguientes:<br />
Esquema Local: Se trata del esquema conceptual de las bases de datos<br />
componente.<br />
Esquema Componente: Se obtiene tras transformar el esquema local en<br />
un Modelo de Datos Común.<br />
Esquema de Exportación: Representa un subconjunto de la totalidad de<br />
los datos que contiene el esquema componente. Este subconjunto de<br />
datos es el que se quiere compartir en la base de datos federada.<br />
Esquema Federado: Está formado por la integración de todos los<br />
esquemas de exportación de cada base de datos componente.<br />
Bases de Datos Federadas y Bases de Datos Móviles 5 | P ágina
Modelos Avanzados de Bases de Datos<br />
Esquema Externo: Representa una vista hacia un usuario o conjunto de<br />
usuarios determinado. No necesariamente este esquema contiene todos<br />
los datos que forman el esquema federado, sino que puede ser un<br />
subconjunto de estos.<br />
En la siguiente figura se muestra un ejemplo de este tipo de arquitectura que<br />
muestra todo lo explicado anteriormente.<br />
Arquitectura de 5 niveles de Sheth y Larson<br />
Arquitectura de 3 niveles (ANSI/SPARC).<br />
Este tipo de arquitectura es muy utilizada en el diseño de bases de datos<br />
relacionales. Está formada por los siguientes niveles:<br />
Nivel Físico: Está compuesto por el esquema interno. Dicho esquema<br />
contiene las diferentes bases de datos componente que forman la base<br />
de datos federada.<br />
Nivel Lógico: Corresponde al esquema conceptual. Este nivel contiene<br />
el modelo global de datos, es decir, el conjunto de datos compartido por<br />
todas las bases de datos componente.<br />
Nivel Externo: Está representado por el esquema externo. Este esquema<br />
está compuesto por las diferentes vistas que poseen los usuarios a los<br />
datos compartidos.<br />
Para mostrar de forma más clara esta arquitectura se sugiere la siguiente figura:<br />
Bases de Datos Federadas y Bases de Datos Móviles 6 | P ágina
Modelos Avanzados de Bases de Datos<br />
1.4. Problemas de Implementación.<br />
Arquitectura de 3 niveles (ANSI/SPARC)<br />
La implementación de este tipo de base de datos concierne una serie de problemas que<br />
se citan a continuación:<br />
Incompatibilidad entre los sistemas de consulta de los diferentes fabricantes<br />
Diferente codificación utilizada por las bases de datos componente<br />
Generación de códigos de error incompatibles por los diferentes fabricantes<br />
Dificultades para establecer un control de la concurrencia en las distintas<br />
transacciones<br />
Las transacciones son heterogéneas debido a que cada SGBD mantiene su<br />
autonomía<br />
1.5. Aplicaciones Comerciales.<br />
Existen multitud de aplicaciones comerciales que soportan bases de datos federadas.<br />
Todos los sistemas gestores de bases de datos conocidos poseen la posibilidad de crear este tipo<br />
de bases de datos. Por ejemplo, IBM, ORACLE, MySQL, SQL Server, etc., permiten la<br />
creación de bases de datos federadas. El problema que surge es cuando se desea realizar una<br />
base de datos federada que consulta los datos de otra base de datos con una tecnología diferente,<br />
es decir, de otro fabricante. En este caso las posibilidades se reducen, y es necesaria la<br />
incorporación de algún componente extra que incrementa el coste considerablemente.<br />
1.6. Caso de Uso: MySQL.<br />
Bases de Datos Federadas y Bases de Datos Móviles 7 | P ágina
Modelos Avanzados de Bases de Datos<br />
A continuación se va a realizar un ejemplo sencillo de base de datos federada. Para ello<br />
se va a utilizar el SGBD MySQL, que dispone de una versión gratuita que permite crear bases<br />
de datos federadas.<br />
En primer lugar se va a definir la tabla cliente que será consultada por la tabla federada.<br />
Notar que pertenece a la base de datos bbdd1.<br />
CREATE DATABASE IF NOT EXISTS bbdd1;<br />
USE bbdd1;<br />
DROP TABLE IF EXISTS `cliente`;<br />
CREATE TABLE `cliente` (<br />
`idCliente` int(10) unsigned NOT NULL auto_increment,<br />
`Nombre` varchar(45) NOT NULL,<br />
`Apellidos` varchar(45) NOT NULL,<br />
PRIMARY KEY (`idCliente`)<br />
) ENGINE=MyISAM <strong>DE</strong>FAULT CHARSET=utf8;<br />
Ahora, nuestra base de datos federada va a contener otra tabla que va a tener una<br />
federación a esta primera tabla definida.<br />
CREATE DATABASE IF NOT EXISTS bbdd_federada;<br />
USE bbdd_federada;<br />
DROP TABLE IF EXISTS `cliente_federada`;<br />
CREATE TABLE `cliente_federada` (<br />
`idCliente` int(10) unsigned NOT NULL auto_increment,<br />
`Nombre` varchar(45) NOT NULL,<br />
`Apellidos` varchar(45) NOT NULL,<br />
PRIMARY KEY (`idCliente`)<br />
) ENGINE=FE<strong>DE</strong>RATED <strong>DE</strong>FAULT CHARSET=utf8<br />
COMMENT:’mysql://root@remote_host:9306/bbdd1/cliente’;<br />
La tabla federada que se acaba de crear muestra los mismos datos que la tabla remota a<br />
la que consulta. Notar que con referencia a la definición de la primera tabla existen 2<br />
diferencias:<br />
El motor de consulta cambia de MyISAM a FE<strong>DE</strong>RATED.<br />
Se añade el atributo COMMENT donde se especifica la dirección de la tabla<br />
remota a la que tiene que consultar.<br />
Bases de Datos Federadas y Bases de Datos Móviles 8 | P ágina
Modelos Avanzados de Bases de Datos<br />
2. Base de Datos Móviles.<br />
2.1. Introducción.<br />
En los últimos años se han producido grandes avances en las tecnologías de<br />
comunicación inalámbricas. Estos avances, junto al uso cada vez más extendido de los<br />
dispositivos móviles, han causado la aparición de una nueva disciplina: la computación móvil.<br />
Gracias a la computación móvil, los usuarios pueden acceder a una base de datos remota<br />
en cualquier momento y en cualquier lugar. Los empleados de una empresa pueden trabajar<br />
desde su casa, desde las instalaciones del cliente o mientras están de viaje, de la misma forma<br />
que si estuvieran en la oficina.<br />
La computación móvil introduce el concepto de base de datos móvil. Una base de datos<br />
móvil es una base de datos portable, físicamente independiente del servidor corporativo de base<br />
de datos y capaz de comunicarse con ese servidor desde sitios remotos para compartir datos<br />
corporativos. Utilizando bases de datos móviles, los trabajadores pueden acceder a los datos<br />
corporativos desde cualquier dispositivo que disponga de conexión a Internet.<br />
2.2. Arquitectura.<br />
La arquitectura general de una plataforma móvil es un modelo distribuido formado por<br />
computadores fijos, estaciones base y unidades móviles. Los computadores fijos son<br />
computadores de uso general que no disponen de medios para comunicarse con los unidades<br />
móviles. Las estaciones base disponen de enlaces inalámbricos para conectar con las unidades<br />
móviles; son máquinas que actúan de intermediarios entre las unidades móviles y los<br />
computadores fijos. Los computadores fijos y las estaciones base están interconectados por<br />
medio de una red fija (cableada) de alta velocidad. Las unidades móviles se conectan a las<br />
estaciones base mediante enlaces inalámbricos; los enlaces más comunes son el estándar<br />
802.11 (Wi-Fi), el servicio GPRS y la tecnología Bluetooth.<br />
Bases de Datos Federadas y Bases de Datos Móviles 9 | P ágina
Modelos Avanzados de Bases de Datos<br />
Arquitectura general de una plataforma móvil (Dunham y Helal, 1995)<br />
Las unidades móviles se pueden mover libremente por un espacio conocido como<br />
dominio de movilidad geográfica, cuyo alcance está determinado por la cobertura de los<br />
enlaces inalámbricos. Este dominio se divide en dominios más pequeños llamados celdas. Cada<br />
celda es controlada por una estación base. El movimiento de las unidades móviles dentro del<br />
dominio de movilidad geográfica no debe estar restringido, es decir, se debe garantizar el acceso<br />
a la información aunque las unidades móviles se muevan entre las celdas.<br />
2.2.1. Modos de funcionamiento.<br />
Hay dos modos de funcionamiento para trabajar con los datos:<br />
El usuario de un dispositivo móvil se conecta al servidor de base de datos<br />
corporativo y trabaja directamente con los datos.<br />
El usuario descarga una copia de los datos y trabaja con ellos de forma local.<br />
Posteriormente, se conectará al servidor de base de datos corporativo para<br />
actualizar la base de datos.<br />
La adopción del modo funcionamiento depende fundamentalmente de los requisitos de<br />
cada aplicación. Otro factor importante a la hora de elegir el modo de funcionamiento es la<br />
tecnología de comunicación utilizada para conectar a las estaciones base; el coste puede ser<br />
Bases de Datos Federadas y Bases de Datos Móviles 10 | P ágina
Modelos Avanzados de Bases de Datos<br />
elevado si la conexión con el servidor es permanente y se utiliza una comunicación de pago<br />
como GPRS.<br />
2.3. Sistemas Gestores de Bases de Datos móviles.<br />
Muchos fabricantes ofrecen SGBD móviles capaces de comunicarse con los principales<br />
SGBD relacionales. Estos SGBD móviles están adaptados a los recursos limitados de las<br />
unidades móviles y proporcionan una serie de funcionalidades adicionales:<br />
Comunicación con el servidor centralizado de base de datos mediante técnicas<br />
de comunicación inalámbrica.<br />
Replicación de datos en el servidor centralizado de base de datos y en el<br />
dispositivo móvil.<br />
Sincronización de datos entre el servidor centralizado de base de datos y el<br />
dispositivo móvil.<br />
Gestión de datos en el dispositivo móvil.<br />
Análisis de los datos almacenados en el dispositivo móvil.<br />
2.4. Aplicaciones móviles y tipos de datos.<br />
Las aplicaciones móviles se clasifican en las dos siguientes categorías: aplicaciones<br />
verticales y aplicaciones horizontales (Imielinski y Badrinath, 1994). En las aplicaciones<br />
verticales, los usuarios acceden a los datos en una celda específica; fuera de la celda los datos no<br />
están disponibles. Un ejemplo de aplicación vertical es la obtención de información sobre las<br />
plazas libres de un determinado parking. En las aplicaciones horizontales, los datos están<br />
distribuidos por todo el sistema, y los usuarios pueden acceder a ellos desde cualquier celda. La<br />
aplicación horizontal más común es el acceso al correo electrónico.<br />
Los datos se clasifican en tres categorías:<br />
Datos privados: pertenecen a un usuario y sólo él puede acceder a ellos y<br />
manejarlos. Por ejemplo, los datos del perfil de un usuario de cualquier<br />
aplicación que gestione datos personales.<br />
Datos públicos: pueden ser consultados por cualquier usuario, pero sólo pueden<br />
ser modificados por una única fuente. Por ejemplo, los datos de las cotizaciones<br />
de la bolsa.<br />
Datos compartidos: pueden ser accedidos por un grupo determinado de<br />
usuarios, quienes tienen permisos para leerlos y para escribirlos. Por ejemplo,<br />
Bases de Datos Federadas y Bases de Datos Móviles 11 | P ágina
Modelos Avanzados de Bases de Datos<br />
los datos de seguros de una compañía aseguradora que vende productos<br />
utilizando agentes comerciales.<br />
Las aplicaciones horizontales utilizan, principalmente, datos públicos, mientras que las<br />
aplicaciones horizontales suelen utilizar más los datos compartidos.<br />
2.5. Ejemplos de bases de datos móviles.<br />
iAnywhere Solutions, empresa filial de Sybase, lidera el ranking del mercado de bases<br />
de datos móviles gracias a SQL Anywhere. Este paquete proporciona bases de datos que<br />
pueden utilizarse tanto a nivel de servidor (soporta máquinas de hasta 64bits) como a nivel de<br />
dispositivo móvil. SQL Anywhere se compone de las siguientes tecnologías:<br />
SQL Anywhere Server: sistema gestor de bases de datos relacionales para los<br />
sistemas de bases de datos móviles.<br />
Ultralite: sistema gestor de bases de datos que puede embeberse en dispositivos<br />
móviles.<br />
Mobilink: tecnología de sincronización para el intercambio de datos entre bases<br />
de datos relacionales y bases de datos no relacionales.<br />
QAnywhere: facilita el desarrollo de aplicaciones móviles robustas y seguras.<br />
SQL Remote: permite a los usuarios de dispositivos móviles sincronizar sus<br />
datos con otras bases de datos SQL Anywhere.<br />
DB2 Everyplace de IBM es una base de datos relacional y un servidor de<br />
sincronización que permite extender las aplicaciones y los datos empresariales a dispositivos<br />
móviles. Gracias a un consumo de recursos reducido, esta base de datos puede integrarse en<br />
dispositivos como PDAs y teléfonos móviles.<br />
Microsoft también ofrece una base de datos para dispositivos móviles. Se trata de<br />
Microsoft SQL Server Compact 3.5, un motor de bases de datos que permite desarrollar<br />
aplicaciones en cualquier plataforma Windows incluyendo Tablet PCs, Pocket PCs, Smart<br />
Phones y equipos de escritorio.<br />
Oracle Database Lite 10g es la solución de Oracle para desarrollar aplicaciones en<br />
entornos móviles. Proporciona un cliente que permite la realización de consultas SQL para<br />
acceder a los datos locales del dispositivo y un servidor para gestionar los datos de forma<br />
centralizada.<br />
Bases de Datos Federadas y Bases de Datos Móviles 12 | P ágina
Modelos Avanzados de Bases de Datos<br />
Otros productos menos utilizados son Borland’s JDataStore, una base de datos Java<br />
para dispositivos móviles y aplicaciones Web, o MobiSnap, un proyecto de investigación cuyo<br />
objetivo es soportar el desarrollo de aplicaciones con bases de datos relacionales en entornos<br />
móviles.<br />
2.6. Caso de estudio: Oracle Database Lite 10g.<br />
Oracle Database Lite 10g es una solución integrada para el desarrollo de aplicaciones en<br />
entornos móviles. Para evitar que los dispositivos móviles estén continuamente conectados al<br />
servidor, Oracle Database Lite 10g proporciona una pequeña base de datos para gestionar los<br />
datos empresariales de forma local en el dispositivo móvil.<br />
Arquitectura de las aplicaciones Oracle Database Lite 10g<br />
La figura anterior muestra la arquitectura de las aplicaciones Oracle Database Lite 10g.<br />
Esta arquitectura contiene los siguientes componentes:<br />
Mobile Sync Module: aplicación instalada en el dispositivo móvil que permite la<br />
sincronización de datos con el servidor empresarial.<br />
Oracle Lite RDBMS: sistema gestor de bases de datos relacionales creado<br />
específicamente para dispositivos móviles. Proporciona interfaces ODBC,<br />
JDBC, SODA y ADO para permitir la utilización de aplicaciones desarrolladas<br />
en lenguajes como Java, C/C++ y Visual Basic.<br />
Oracle Lite database: base de datos instalada en el dispositivo móvil.<br />
Mobile Server: servidor intermedio entre los dispositivos móviles y el servidor<br />
empresarial. Permite la instalación y actualización de aplicaciones en los<br />
Bases de Datos Federadas y Bases de Datos Móviles 13 | P ágina
Modelos Avanzados de Bases de Datos<br />
dispositivos móviles y se comunica con el módulo Mobile Sync para<br />
sincronizar los datos entre el dispositivo móvil y el servidor empresarial.<br />
Message Generator and Processor (MGP): módulo utilizado en la<br />
sincronización de datos para detectar y solucionar cualquier conflicto que pueda<br />
producirse en la actualización de los datos del servidor.<br />
Mobile Server Repository: repositorio que contiene información necesaria para<br />
que el Mobile Server pueda ejecutarse. Esta información se almacena junto a<br />
los datos del negocio, en la misma base de datos.<br />
Los pasos para poner en funcionamiento una aplicación con Oracle Database Lite 10g<br />
son los siguientes:<br />
1. Instalar y configurar la base de datos Oracle en el servidor.<br />
2. Instalar y configurar el Mobile Server en el equipo que hará de intermediario<br />
entre los dispositivos móviles y el servidor.<br />
3. Instalar y configurar el Mobile Server Repository en el servidor.<br />
4. Instalar Oracle Lite RDBMS y Mobile Sync en los dispositivos móviles; para<br />
facilitar esta tarea, Oracle ofrece un producto llamado Mobile Development Kit,<br />
que instala rápidamente todos los componentes en los dispositivos móviles.<br />
Una base de datos local Oracle Lite contiene un subconjunto de los datos almacenados<br />
en la base de datos Oracle. Los cambios realizados en el dispositivo móvil deben sincronizarse<br />
con los datos del servidor. De esta tarea se encarga el módulo Mobile Sync; primero envía los<br />
cambios al Mobile Server, y después descarga los nuevos cambios y los aplica en la base de<br />
datos local Oracle Lite.<br />
Sincronización de datos entre la base de datos local y la base de datos remota<br />
Bases de Datos Federadas y Bases de Datos Móviles 14 | P ágina
Modelos Avanzados de Bases de Datos<br />
3. Similitudes entre Bases de Datos Móviles y Bases de Datos<br />
Federadas.<br />
Las dos bases de datos son modelos distribuidos de bases de datos a los cuáles<br />
se accede de forma remota, ya sea desde un equipo fijo o un equipo móvil.<br />
Los dos sistemas tienen mecanismos de privilegios de usuarios. Dependiendo de<br />
los privilegios que tenga el usuario que accede al sistema, dicho usuario podrá<br />
acceder a una parte del esquema u a otra.<br />
En estos sistemas el usuario no es consciente de la disposición geográfica en la<br />
que se encuentra el servidor o servidores de bases de datos. Esta característica<br />
también da al usuario un gran nivel de movilidad y de acceso a los datos desde<br />
cualquier punto.<br />
Son sistemas complejos que necesitan una gran infraestructura que dé soporte a<br />
este tipo de bases de datos.<br />
Necesitan tener definidos mecanismos de concurrencia de los datos para que no<br />
se vea dañada la integridad de los mismos en el caso de que varios usuarios<br />
accedan a los mismos datos a la vez.<br />
Al tener la parte de almacenamiento de datos, y el acceso a los mismos,<br />
distribuida, se libera de una gran carga computacional a los equipos implicados<br />
en el sistema.<br />
Para acceder a dichos sistemas se necesita una interfaz, adaptada al dispositivo<br />
desde el cual se va a acceder, que dé soporte y acceso a las funcionalidades<br />
disponibles al usuario por parte del sistema.<br />
Bases de Datos Federadas y Bases de Datos Móviles 15 | P ágina
Modelos Avanzados de Bases de Datos<br />
4. Diferencias entre Bases de Datos Móviles y Bases de Datos<br />
Federadas.<br />
A los sistemas de bases de datos móviles se accede por medio de dispositivos<br />
móviles. Éstos, a su vez, acceden por medio de estaciones base y están<br />
comunicados directamente con la base de datos, aunque también se puede<br />
acceder desde equipos fijos. Las bases de datos federadas sólo son accesibles<br />
desde equipos fijos conectados a la infraestructura del sistema de bases de<br />
datos.<br />
Los sistemas de bases de datos móviles están formados por un sólo tipo gestor<br />
de bases de datos, y todos los equipos conectados al sistema atacan al mismo<br />
gestor de base de datos. A diferencia de éstos, las bases de datos federadas<br />
permiten conectar diferentes sistemas gestores de bases de datos, que<br />
conforman una sola base de datos.<br />
Los sistemas de bases de datos móviles permiten a los usuarios trabajar de<br />
forma desconectada con los datos, y una vez que éstos han sido modificados,<br />
los usuarios sincronizan dichos datos con el sistema. Esto evita que los<br />
dispositivos móviles tengan que estar siempre conectados al sistema para<br />
interactuar y acceder a la base de datos.<br />
En el caso de las bases de datos móviles, el sistema se puede reducir sólo al<br />
dispositivo móvil que lo ejecuta, ya que éste es el único que contiene la base de<br />
datos y accede a ellos. Este tipo de sistemas son sistemas gestores de bases de<br />
datos embebidos en el mismo dispositivo.<br />
Las bases de datos federadas son un conjunto de esquemas unificados, a<br />
diferencia de las bases de datos móviles, que sólo disponen de un esquema<br />
global.<br />
Los sistemas de bases de datos federados permiten dar acceso a una gran<br />
cantidad de datos que los demás sistemas no podrían permitir ni soportar.<br />
Bases de Datos Federadas y Bases de Datos Móviles 16 | P ágina
Modelos Avanzados de Bases de Datos<br />
5. ¿En qué casos es más recomendable usar un sistema u otro?<br />
Las bases de datos móviles son recomendadas en los casos en los que los usuarios deben<br />
estar moviéndose de un lugar para otro para realizar las funciones y cuando la información que<br />
deben tratar se puede mostrar y tratar en un dispositivo móvil. Este tipo de base de datos<br />
también permite a los dispositivos móviles y a las aplicaciones que corren en ellos almacenar<br />
datos, con todas las ventajas que ofrece un gestor de base de datos.<br />
Los sistemas de bases de datos federados son usados cuando la cantidad de datos es muy<br />
grande y, además, cuando los mismos se encuentren en diferentes sistemas. Estos sistemas<br />
permiten unificar las bases de datos para permitir al usuario acceder a los datos de forma<br />
transparente, sin que sea consciente de la modularidad de la base de datos, y así poder acceder a<br />
diferentes datos de diferentes bases de datos a la vez.<br />
Bases de Datos Federadas y Bases de Datos Móviles 17 | P ágina
Modelos Avanzados de Bases de Datos<br />
6. Bibliografía<br />
Connolly, T. M.; Begg, C. E. Sistemas de Bases de Batos. Pearson Educación S.A.,<br />
2005.<br />
Elmasri, Ramez. Fundamentos de Sistemas de Bases de Datos. Addison-Wesley, 2002.<br />
Imielinski, Tomasz; Korth, Henry. Mobile Computing. Springer, 1996.<br />
Dunham, M. H.; Helal, A.; Balakrishnan, S. A mobile transaction model that captures<br />
both the data and movement behaviour. ACM/Baltzer Journal on Special Topics in<br />
Mobile Networks and Applications, 1997.<br />
Dunham, M.H.; Helal, A. Mobile computing and databases: Anything new? ACM<br />
SIGMOD, 1995.<br />
Piattini Velthuis, Mario. El futuro de las bases de datos. [en línea]<br />
http://www.ganimides.ucm.cl/aurrutia/doc_pdf/El%20Futuro%20de%20las%20Bases%<br />
20de%20Datos.pdf [Consulta: 16 abril 2009]<br />
Motz, Regina. Arquitecturas para DBMS distribuidos y heterogéneos. [en línea]<br />
http://www.fing.edu.uy/inco/grupos/csi/esp/Cursos/cursos_posg/Inter2002/transpar<br />
encias/arquitecturas.pdf [Consulta: 16 abril 2009]<br />
Ramirez, Tonáhtiu A. Bases de Datos Federadas. [en línea]<br />
http://www.tonahtiu.com/notas/BD/BDF.htm [Consulta: 16 abril 2009]<br />
Oracle Database Lite 10g Developer’s Guide. [en línea]<br />
http://download.oracle.com/docs/cd/B14156_01/doc/B13788/html/title.htm<br />
[Consulta: 16 abril 2009]<br />
Bases de Datos Federadas y Bases de Datos Móviles 18 | P ágina