Base de datos distribuidas

29
1 Bases de Datos Distribuidas Tema VI

description

Base de datos distribuida

Transcript of Base de datos distribuidas

Page 1: Base de datos distribuidas

1

Bases de Datos Distribuidas

Tema VI

Page 2: Base de datos distribuidas

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: Base de datos distribuidas

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

Page 4: Base de datos distribuidas

4

Características de las BDD

Ventajas BDD

Eficacia

Accesibilidad

Próximo a la estructura de empresa

Desventajas BDD

Sistema

Usuarioscomplejidad

Page 5: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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: Base de datos distribuidas

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.

Page 22: Base de datos distribuidas

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

Page 23: Base de datos distribuidas

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.

Page 24: Base de datos distribuidas

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

Page 25: Base de datos distribuidas

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.

Page 26: Base de datos distribuidas

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.

Page 27: Base de datos distribuidas

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.

Page 28: Base de datos distribuidas

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.

Page 29: Base de datos distribuidas

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.