Base de datos distribuidas
-
Upload
didier-salvador-may-corona -
Category
Technology
-
view
86 -
download
0
description
Transcript of Base de datos distribuidas
1
Bases de Datos Distribuidas
Tema VI
2
BD local
Introducción
BDDSistema de sitios
DB por sí misma
Convienen en trabajar juntos
Usuarios locales
SGBD local
Programascontrol
transacciones
Administr.Comunicac.Sitio
BDD≈
3
Introducción (II)
= Todos ejecutan una copia del mismo SGBD
SGBDD (DDBMS) = SGBD (DBMS) + componente social
Sistema HOMOGÉNEOHOMOGÉNEO
GATEWAYGATEWAY
relajac ión
4
Características de las BDD
Ventajas BDD
Eficacia
Accesibilidad
Próximo a la estructura de empresa
Desventajas BDD
Sistema
Usuarioscomplejidad
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 ...
Sistema relacional
Estr. Complejas
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
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
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
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
Las Doce Reglas (V):Percepción del usuario:
ALUMNO CARRERA NOTAS21.466.552 I.T. Informática x x x x x x21.467.539 I.T. Obras Públicas x x x x x x21.467.640 L. Derecho x x x x x x21.468.201 L. Filología Inglesa x x x x x x********* ******************* * * * * * ********** ******************* * * * * * *
Fragmento Escuela Politécnica:
ALUMNO CARRERA NOTAS21.466.552 I.T. Informática x x x x x x21.467.539 I.T. Obras Públicas x x x x x x
Fragmento Facultad de Derecho:
ALUMNO CARRERA NOTAS21.467.640 L. Derecho x x x x x x
Fragmento Facultad de Filosofía y Letras
ALUMNO CARRERA NOTAS21.468.201 L. Filología Inglesa x x x x x x
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
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
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
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
Las Doce reglas (X):
Proceso de optimización:
Rx Ry
Rx U Ry ⇒ <decisión>
Lugar X Lugar Y
Rx viaja a Y
Ry viaja a X
Rx, Ry viajan a Z
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
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
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
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 YRz = 100000 tuplas en Z
Paso 2: Toma de decisiones:mover Ry a Z ⇒ 100 mensajes OKmover Rz a Y ⇒ 1.000.000 mensajes NOKmover 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
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)• 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.
[email protected]@ALICANTE
– Sinónimos:CREATE SYNONYM ALI-PIEZAS FOR;
[email protected]@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)
• 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
• 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
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
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
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
• 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
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.