1. Módulo 3. Tecnologías Avanzadas de Bases de Datos 1/11
Tema 3.2. Fundamentos de bases de datos distribuidas
3.2.1. Concepto de base de datos distribuida
3.2.2. Arquitecturas de bases de datos distribuidas
3.2.3. Diseño de bases de datos distribuidas
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras
2. 3.2.1. Concepto de Base de Datos Distribuida 2/11
• Definición:
– Base de datos cuyo software y datos residen en diferentes computadoras interconectadas
entre sí.
– Cada nodo interconectado puede tener una configuración HW-SW diferente, incluso
DBMS’s diferentes en cada máquina
– Un usuario final o una aplicación de la base de datos distribuida NO debe percibirla como
tal, sino que el hecho de la distribuición debe aparecer transparente
• Ventajas:
– Buena adaptación a la organización de las empresas
– Compartición de la información: cada nodo controla su información y puede compartirla
con el resto de los nodos
– Confiabilidad-disponibilidad: cuando se produce un fallo, los nodos que no han sido
afectados por el fallo pueden seguir trabajando y hay, por tanto, mayor disponibilidad de la
información
– Resolución de consultas: se puede aprovechar la distribución de los datos para la
ejecución paralela de consultas
– Crecimiento modular: es posible ampliar las capacidades de la base de datos añadiendo
nodos
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras
3. 3.2.1. Concepto de Base de Datos Distribuida 3/11
• Inconvenientes:
– Aumento considerable de la complejidad:
• costo de desarrollo del software
• mayor posibilidad de fallos
• tiempo perdido en la comunicación a través de la red
– Problemas de seguridad al trabajar en red
– Dificultades añadidas al diseño y gestión de la base de datos
• Concepto de transparencia
– Es el grado en el que el sistema puede ocultar los detalles de distribución de la
información en la red. Máxima transparencia equivale a base de datos centralizada
– Transparencia en cuanto a:
• localización: ver más adelante
• transacción: sincronización de subtransacciones locales atómicas
• ejecución: procesador de consultas decide el plan a ejecutar minimizando costo de comunicación
• DBMS: correspondencias entre modelos de datos de cada DBMS (estructuras y lenguajes)
• Concepto de autonomía local
– Grado en el que el funcionamiento de cada nodo es independiente del resto de los nodos
– Problema: asignación de nombres únicos:
• lista de nombres en nodo central: pérdida de autonomía local
• esquema nombre_nodo.nombre_objeto: pérdida de la transparencia
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras
4. 3.2.2. Arquitecturas de Base de Datos Distribuidas 4/11
Esquema Esquema Esquema
Externo Global 1 Externo Global 2 Externo Global n
Esquema
Conceptual Global
Esquema
Fragmentación
Esquema
Repetición
Esquema Esquema Esquema
Mapeo local Mapeo local Mapeo local
(nodo 1) (nodo 2) (nodo m)
Esquema Esquema Esquema
Conceptual local 1 Conceptual local 2 Conceptual local m
Esquema Interno local 1 Esquema Interno local 2 Esquema Interno local m
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras
5. 3.2.2. Arquitecturas de Bases de Datos Distribuidas 5/11
• Esquema de Mapeo Local
– los fragmentos de esquema de repetición se mapean a objetos externos de la base de
datos local
– independiente del DBMS local: soporte de bases de datos heterogéneas
• Componentes de la arquitectura
– DBMS local
• diccionario de datos local
– Software de comunicación
– Diccionario de datos global
• información a nivel global
• información sobre la fragmentación y la repetición
– DBMS distribuido
• se implementa como una unidad de control en cada nodo
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras
6. 3.2.3. Diseño de Bases de Datos Distribuidas 6/11
• Factores en la colocación de la información (replicación)
– localidad en las referencias
• fragmentos cerca de donde más se utilicen
• fragmentos en los nodos donde se usen
– confiabilidad y disponibilidad
– ejecución
• intentar evitar la sobrecarga o la infrautilización de los recursos de cada nodo
– costo de almacenamiento
– costo de comunicación
• menor cuanto mayor sea la localidad en las referencias
• mayor cuanto mayor sea el número de réplicas a actualizar
• Estrategias de colocación de la información
– Centralizada
– Partición: base de datos se divide en fragmentos disjuntos y cada uno se envía a un nodo
– Replicación completa: base de datos replicada en cada nodo
– Replicación selectiva
• combinación de las técnicas anteriores
• solución de compromiso buscando las ventajas de cada técnica
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras
7. 3.2.3. Diseño de Bases de Datos Distribuidas 7/11
localidad confiabilidad ejecución costo costo
referencias disponibilidad almacenamiento comunicación
centralizada el menor el menor mala el menor el mayor
partición alta nodo: baja buena el menor bajo
sistema: alta
replicación el mayor el mayor lectura: el el mayor actualización: alto
completa mejor lectura: bajo
replicación alta nodo: baja buena media baja
selectiva sistema: alta
• Selección de estrategia implica un análisis de las aplicaciones
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras
8. 3.2.3. Diseño de Bases de Datos Distribuidas 8/11
• Fragmentación:
– Se puede realizar horizontal o verticalmente y sus combinaciones
– Fragmentación horizontal de la tabla R
• Ri=σPi R
• R=URi
– Fragmentación vertical de la tabla R
• R=(PK, A1, A2, ..., An)
• ri=(PK, Ai1, Ai2,..., Aim)
• Ri=πri R
• R=Join Ri
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras
9. 3.2.3. Diseño de Bases de Datos Distribuidas 9/11
• Fragmentación:
– Beneficios de la fragmentación
• Utilidad: las aplicaciones suelen trabajar con vistas de los datos
• Eficiencia: sólo la información necesaria se almacena donde se necesita
• Paralelismo: las transacciones se pueden dividir en subconsultas sobre los fragmentos
• Seguridad: en cada fragmento sólo se pone la información que interesa a los usuarios que lo van a
ver
– Desventajas:
• Ejecución: las aplicaciones suelen requerir datos de varios fragmentos
• Integridad: se complica el control de integridad al tener la información fragmentada
– Propiedades de la fragmentación:
• Completitud: cada ítem en R aparece en al menos un Ri
• Reconstrucción: debe ser posible reconstruir R a través de operaciones relaciones sobre los Ri
• Fragmentación disjunta: un ítem en Ri no debe aparecer en otro fragmento Rj, a excepción de la
llave primaria en la fragmentación vertical
• Nota: ítem: en fragmentación horizontal es una tupla, en fragmentación vertical es un atributo
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras
10. 3.2.3. Diseño de Bases de Datos Distribuidas 10/11
• Transparencia de la distribución de la información
– Transparencia de fragmentación:
SELECT ...
FROM R
WHERE ...;
– Transparencia de localización:
SELECT ...
FROM R1, R2
WHERE ...;
UNION
SELECT ...
FROM R3
WHERE ...;
– Transparencia de mapeo local: nodo 1 nodo 2
SELECT ...
FROM R1@nodo1, R2@nodo2
WHERE ...;
UNION R1 R2
SELECT ...
FROM R3@nodo3
WHERE ...; nodo 3 R3
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras
11. Bibliografía 11/11
• Sistemas de bases de datos. Conceptos fundamentales. 3ª Edición
R. Elmasri y S.B. Navathe. Addison Wesley, 2001
Capítulo 24
• Fundamentos de bases de datos. 3ª edición
A. Silberschatz, H.F. Korth y S. Sudarshan. McGraw-Hill, 1998
Capítulo 18
I.T. Informática de Gestión Bases de Datos II Juan Ruiz de Miras