1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí...

31
1 Bases de Datos Distribuidas Tema VI

Transcript of 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí...

Page 1: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

1

Bases de Datos Distribuidas

Tema VI

Page 2: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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

Page 3: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

3

Introducción (II)

= Todos ejecutan una copia del mismo SGBD

SGBDD (DDBMS) = SGBD (DBMS) + componente social

Sistema HOMOGÉNEOHOMOGÉNEO

GATEWAYGATEWAY

relajación

Page 4: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

4

Características de las BDD

Ventajas BDD

Eficacia

Accesibilidad

Próximo a la estructura de empresa

Desventajas BDD

Sistema

Usuarioscomplejidad

Page 5: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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, ...

Page 6: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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

Page 7: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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.

Page 8: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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).

Page 9: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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

Page 10: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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:

Page 11: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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

Page 12: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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)

Page 13: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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.

Page 14: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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.

Page 15: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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

Page 16: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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

Page 17: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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.

Page 18: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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.

Page 19: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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.

Page 20: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

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.

Page 21: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

21

Optimización consultas (II)• Problema:

Proveedores(10.000)

Piezas(100.000)(10 rojas)

Suministros(1.000.000)

(100.000 por proveedores de Londres)

LUGAR A

LUGAR B

Datos conocidos:

1 tupla = 200 bits.

Vel. Transm. = 50000 bits/seg.

Tpo. Acceso = 0.1 seg.

Se pide: “Proveedores de Londres que suministran piezas rojas”

Page 22: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

22

Optimización consultas (III)Estrategias:• 1º) Piezas A :

T(1) = 0’1+(100.000*200) / 50.000 = 400 s. = 6’67 minutos.

• 2º) Proveedores y suministros B : T(2) = (0'1+0'1) + ( (10.000+1.000.000)*200/50.000 = 4040 s. = 1'12 horas

• 3º) Consultar suministros de Londres en A y comprobar pieza en B: T(3) = 0'1 * ( 2 * 100.000 ) = 20.000 s. = 5'56 horas

• 4º) Consultar piezas rojas en B y comprobar suministros en A:T(4) = 0’1 * (2*10) = 2 s.

• 5º) Obtener suministros Londres en A B : T(5) = 0’1 + (100.000*200)/50.000 = 400 s. = 6’67 min.

• 6º) Obtener piezas rojas en B A :T(6) = 0’1 + (10*200) / 50.000 = 0’1 s.

Page 23: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

23

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.

Page 24: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

24

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í.

Page 25: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

25

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.

Page 26: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

26

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).

Page 27: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

27

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.

Page 28: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

28

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.

Page 29: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

29

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.

Page 30: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

30

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.

Page 31: 1 Bases de Datos Distribuidas Tema VI. 2 BD local Introducción BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Usuarios locales SGBD.

31

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.