2. 2
Introducción
Sitio Comunicac.
BDD »
BD local
BDD
Sistema
de sitios
DB por sí misma
Convienen en
trabajar juntos
Usuarios
locales
SGBD
local
Programas
control
transacciones
Administr.
3. 3
Introducción (II)
SGBDD (DDBMS) = SGBD (DBMS) + componente social
= Todos ejecutan una copia del mismo SGBD
Sistema HHOOMMOOGGÉÉNNEEOO
relajación
GGAATTEEWWAAYY
4. 4
Características de las BDD
Ventajas
BDD
Eficacia
Accesibilidad
Próximo a la estructura de empresa
Desventajas
BDD
Sistema
Usuarios
complejidad
5. 5
Productos desarrollados
• Prototipos:
– SDD-1 de Computer Corporation of America (finales ‘70s).
– R*, versión distribuida de System R de IBM (ppio ‘80s).
– INGRES distribuido, versión distribuida del prototipo
desarrollado por la Universidad de Berkeley, California (ppio
80’s).
• Productos comerciales:
– INGRES/STAR de The ASK GROUP INC’S INGRES
DIVISION.
– ORACLE 7: de Oracle.
– DB2 de IBM.
– INFORMIX, SQL SERVER, ...
6. • La tecnología relacional es un requisito para
la tecnología distribuida:
– Relacional = Tablas = Estr. Simple.
– Red,
– Jerárquicos
– Listas invertidas
– Etc ...
6
Sistema relacional
Estr. Complejas
7. 7
Las Doce Reglas (I):
Las Doce Reglas definen una serie de condiciones que debe
cumplir todo Sistema de Bases de Datos Distribuido:
Regla 0: Principio fundamental.
Desde el punto de vista del usuario, un sistema distribuido
debe ser idéntico a un sistema no distribuido.
8. 8
Las Doce Reglas (II):
Regla 1: Autonomía local.
Cada lugar debe contener:
– Propietario local.
– Administración local.
– Responsabilidad local.
– Integración local.
– Representación local.
(Hasta donde sea posible llevarlo a cabo).
9. 9
Las Doce Reglas (III):
Regla 2: No dependencia de un sitio central.
No debe existir un único sitio, ya que implicaría:
– Cuello de botella.
– Vulnerabilidad.
Regla 3: Operación continua.
– Adición de elementos.
– Actualización de versiones. NO APAGAR
10. 10
Las Doce Reglas (IV):
Regla 4: Transparencia de localización.
El usuario desconoce dónde están físicamente los datos.
Regla 5: Transparencia de fragmentación.
– División de una relación en partes para su
almacenamiento.
– Funcionalidad: cada lugar tiene los datos que usa con
mayor frecuencia.
– Ejemplo:
11. 11
Las Doce Reglas (V):
Percepción del usuario:
ALUMNO CARRERA NOTAS
21.466.552 I.T. Informática x x x x x x
21.467.539 I.T. Obras Públicas x x x x x x
21.467.640 L. Derecho x x x x x x
21.468.201 L. Filología Inglesa x x x x x x
********* ******************* * * * * * *
********* ******************* * * * * * *
Fragmento Escuela Politécnica:
ALUMNO CARRERA NOTAS
21.466.552 I.T. Informática x x x x x x
21.467.539 I.T. Obras Públicas x x x x x x
Fragmento Facultad de Derecho:
ALUMNO CARRERA NOTAS
21.467.640 L. Derecho x x x x x x
Fragmento Facultad de Filosofía y Letras
ALUMNO CARRERA NOTAS
21.468.201 L. Filología Inglesa x x x x x x
12. 12
Las Doce Reglas (VI):
Sitio A
Sitio B
Sitio C
Sitio
A
Sitio
B
Sitio
C
Fragmentación Horizontal:
Oper. Relac. de RESTRICCIÓN
Fragmentación Vertical:
Oper. Relac. de PROYECCIÓN
Extracción de tuplas que
cumplen condición
Extracción de atributos de
una relación (conservando
su clave primaria)
13. 13
Las Doce Reglas (VII):
La recomposición se hace con operaciones relacionales:
– Reunión: Vertical.
– Unión: Horizontal.
• Las operaciones relacionales apoyan la fragmentación (y
como consecuencia la distribución).
• El usuario no debe notar la fragmentación.
14. 14
Las Doce reglas (VIII):
Regla 6: Transparencia de réplica.
• La réplica proporciona:
– VENTAJAS:
• Mayor Prestación: los datos son locales.
• Mayor disponibilidad: los datos son accesibles siempre.
– DESVENTAJAS
• Hay que propagar las actualizaciones.
• La creación y destrucción de réplicas debe hacerse
transparente al usuario.
15. 15
Las Doce reglas (IX):
Regla 7: Proceso Distribuido de Consultas.
• Sistema relacional Þ Herramientas de consulta OK
• Ejemplo: “Obtener los alumnos matriculados en derecho”
• Consulta desde la EPSA.
• Datos en derecho.
• N filas cumplen
RELACIONAL Þ 2 mensajes = 1 petición + 1 resultado
NO
RELACIONAL Þ 2*N mensajes = N peticiones + N resultados
16. 16
Las Doce reglas (X):
Proceso de optimización:
Lugar X Lugar Y
Rx Ry
Rx U Ry Þ <decisión>
Rx viaja a Y
Ry viaja a X
Rx, Ry viajan a Z
17. 17
Las Doce reglas (XI):
Regla 8: Manejo distribuido de transacciones.
• Transacción distribuida: varios agentes de la transacción en
varios lugares.
• Control de recuperación: 1 transacción atómica. Todos los
agentes avanzan o retroceden juntos.
• Control de concurrencia: Bloqueos mediante paso de
mensajes.
Regla 9: Transparencia de equipo.
• El DBMS se ejecutará igual sea cual sea el equipo.
18. 18
Las Doce reglas (XII):
Regla 10: Transparencia del s.o.
• El DBMS debe ser multioperativo sin afectar al usuario.
Regla 11: Transparencia de red.
• El DBMS debe soportar múltiples redes sin afectar al
usuario.
Regla 12: Transparencia de DBMS.
• Se pueden manejar distintas copias de DBMS si manejan la
misma norma estándar de SQL: Oracle, Informix,
Multibase, etc.
19. 19
Problemas de las BDD
• Lentitud de las WAN respecto a un disco local.
• Formas de solucionarlo:
– Minimizar el uso de la red:
• Número de mensajes.
• Volumen de mensajes.
– Optimizar:
• Proceso de consultas.
• Administración del catálogo.
• Propagación de actualizaciones.
• Control de recuperación.
• Control de concurrencia.
20. 20
Optimización consultas
• Fase 1 - Optimización global:
Toma de decisiones de desplazamiento de tablas por consultas
previas.
– Ejemplo: Un sitio X hace la consulta Q = Ry U Rz.
Paso1: Por consulta previa se sabe que:
Ry = 100 tuplas en Y
Rz = 100000 tuplas en Z
Paso 2: Toma de decisiones:
mover Ry a Z Þ 100 mensajes OK
mover Rz a Y Þ 1.000.000 mensajes NOK
mover Ry-Rz a X Þ 1.100.000 mensajes NOK
• Fase 2 - Optimización local:
Se optimiza la operación de la unión tomando las relaciones más
convenientes para minimizar su tiempo.
21. 21
Administración del catálogo
• Información del catálogo:
– Información habitual:
• Relaciones
• Índices
• Usuarios
– Información de control:
• transparencia de localización
• transparencia de fragmentación
• transparencia de réplica
• Almacenamiento del catálogo:
– Centralizado. Viola regla 2: “no dependencia de un sitio central”.
– Réplicas en cada lugar: Viola regla : “autonomía”.
– Catálogo dividido entre todos lugares: Ops. remotas costosas.
– Catálogo dividido y una copia global en un sitio: Viola 2.
• Conclusión: todos los métodos anteriores tienen problemas.
22. Administración del catálogo (II)
22
• Ejemplo real: Nominación de objetos en R*:
– Nombre de impresión: Lo usan los usuarios.
– Nombre de sistema: Identificador único interno.
• Id. del creador.
• Id. del sitio del creador.
• Nombre local del objeto.
• Id. del lugar de nacimiento.
PEPE@MADRID.PIEZAS@ALICANTE
– Sinónimos:
CREATE SYNONYM ALI-PIEZAS FOR;
PEPE@MADRID.PIEZAS@ALICANTE
– Cada sitio mantiene:
• Copia total de la tabla de sinónimos.
• Localización actual de un objeto nacido aquí.
• Relación de objetos actualmete aquí.
23. Administración del catálogo (III)
23
• Proceso de consultas en R*:
– Consulta local del objeto en la tabla de sinónimos.
– Consulta remota a lugar nacimiento para conocer lugar actual del
objeto.
– Consulta remota a lugar actual para obtener el objeto.
(TOTAL = 3 mensajes, 2 de ellos remotos)
• Proceso de migración en R*:
– Borrar objeto del lugar de origen.
– Insertar objeto en lugar de destino.
– Actualizar en lugar de nacimiento.
24. Propagación de actualizaciones
24
• Método: Propagar toda actualización a todas las copias.
• Problema: Lugares inaccesibles Þ fracaso
• Método de la “copia primaria”:
– 1 copia primaria y n copias secundarias.
– Las copias primarias se reparten (no centralización).
– El proceso de actualización finaliza al actualizar la primaria.
– La copia primaria se encarga de actualizar las demás (cuando
puede).
25. 25
Control de recuperación
• Protocolo de compromiso en dos fases: commit-rollback
• Evitar medias operaciones: todo o nada.
• El coordinador ordena:
– Fase 1:
• Pedir OK o NOK a cada gestor local.
• Cada gestor guarda una bitácora de las op’s efectuadas.
– Fase 2:
• Si todos OK Þ COMMIT.
• Si algún NOK Þ ROLLBACK.
• El resultado se envía a cada gestor local para que confirmen o
deshagan.
• Un fallo de interrupción se recupera de la bitácora.
• Consideraciones:
– No dependencia de un sitio central (si varía el coordinador).
– Comunicación coordinada Þ participación Þ costo extra.
– Pérdida de autonomía local.
26. 26
Control de concurrencia
• Mediante bloqueos.
• Costo adicional: Una transacción sobre un objeto con N
copias:
– N solicitudes de bloqueo.
– N concesiones de bloqueo.
– N mensajes de actualización.
– N verificaciones.
– N solicitudes de liberación.
– TOTAL = 5*N mensajes.
• Estrategias anti-interbloqueos:
– estados parciales - estados globales.
27. 27
GATEWAYS (pasarelas)
• Funciones:
– Realizar protocolos de intercambio de mensajes en cuanto a
formato.
– Ejecución de llamadas remotas.
– Resolver problemas de tipos de datos.
– Compaginar SQLs.
– Compaginar información de retorno.
– Compaginar catálogos.
– Hacer participar a todos del protocolo de compromiso en 2 fases.
– Asegurar los interbloqueos.
• Problema: costoso y no 100% funcional.
28. Cliente/servidor en DB distribuidas
28
• Nuevos estándares para cliente/servidor.
• P.ej. SQL incorpora:
– connect.
– disconnect.
• Otros estándares:
– RDA (Remote Data Access) para SQL define formatos para paso
de mensajes en forma de requerimientos SQL, información y paso
de resultados. Mismo SQL en cliente y servidor.
– DRDA (Distributed Relational Database Architecture) permite
diversos dialectos de SQL en cliente y servidor.
29. 29
Cliente/servidor en DB
distribuidas(II)
• Procedimientos almacenados:
– Ventajas:
• Reducen el número de mensajes.
• Mayor independencia.
• Comparte con varios clientes.
• Optimiza en tiempo de compilación.
• Mayor seguridad en el acceso a los datos.
– Desventajas:
• Falta de estándares.