1 bases de datos distribuidas tema vi. 2 bd local introducción bdd sistema de sitios db por sí...
TRANSCRIPT
![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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062616/54b47aa049795948098b5e95/html5/thumbnails/31.jpg)
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.