LEC7 - Cartelera

Anuncio
Introducción
Tema VI
DB por sí misma
Sistema
de sitios
BDD
Convienen en
trabajar juntos
Bases de Datos
Distribuidas
Sitio
BDD
≈
Usuarios
locales
SGBD
local
Programas
Administr.
control
Comunicac.
transacciones
BD local
1
Introducción (II)
2
Características de las BDD
SGBDD (DDBMS) = SGBD (DBMS) + componente social
Eficacia
Sistema HOMOGÉNEO = Todos ejecutan una copia del mismo SGBD
Ventajas
BDD
relajación
Desventajas
BDD
Accesibilidad
Próximo a la estructura de empresa
complejidad
Sistema
Usuarios
GATEWAY
3
4
Productos desarrollados
Sistema relacional
• 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, ...
• La tecnología relacional es un requisito para
la tecnología distribuida:
–
–
–
–
–
Relacional = Tablas = Estr. Simple.
Red,
Jerárquicos
Estr. Complejas
Listas invertidas
Etc ...
5
Las Doce Reglas (I):
6
Las Doce Reglas (II):
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.
7
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).
8
Las Doce Reglas (III):
Las Doce Reglas (IV):
Regla 4: Transparencia de localización.
El usuario desconoce dónde están físicamente los datos.
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
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:
APAGAR
9
Las Doce Reglas (V):
10
Las Doce Reglas (VI):
P e r c e p c ió n d e l u s u a r io :
ALUM NO
2 1 .4 6 6 .5 5 2
2 1 .4 6 7 .5 3 9
2 1 .4 6 7 .6 4 0
2 1 .4 6 8 .2 0 1
*********
*********
CARRERA
I . T . I n f o r m á tic a
I . T . O b r a s P ú b lic a s
L . D e re c h o
L . F i l o lo g í a I n g l e s a
*******************
*******************
NO TAS
x x x x x
x x x x x
x x x x x
x x x x x
* * * * * *
* * * * * *
Fragmentación Horizontal:
Oper. Relac. de RESTRICCIÓN
x
x
x
x
Fragmentación Vertical:
Oper. Relac. de PROYECCIÓN
Sitio A
F r a g m e n to E s c u e la P o lit é c n ic a :
ALUM NO
2 1 .4 6 6 .5 5 2
2 1 .4 6 7 .5 3 9
CARRERA
I . T . I n f o r m á tic a
I . T . O b r a s P ú b lic a s
Sitio B
NO TAS
x x x x x x
x x x x x x
Sitio C
F r a g m e n to F a c u lta d d e D e r e c h o :
ALUM NO
2 1 .4 6 7 .6 4 0
CARRERA
L . D e re c h o
Sitio
A
NO TAS
x x x x x x
Extracción de tuplas que
cumplen condición
F r a g m e n to F a c u lta d d e F ilo s o f ía y L e tr a s
ALUM NO
2 1 .4 6 8 .2 0 1
CARRERA
L . F i l o lo g í a I n g l e s a
NO TAS
x x x x x x
11
Sitio
B
Sitio
C
Extracción de atributos de
una relación (conservando
su clave primaria)
12
Las Doce Reglas (VII):
Las Doce reglas (VIII):
La recomposición se hace con operaciones relacionales:
Regla 6: Transparencia de réplica.
• La réplica proporciona:
– VENTAJAS:
– 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.
• 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.
13
14
Las Doce reglas (IX):
Las Doce reglas (X):
Regla 7: Proceso Distribuido de Consultas.
• Sistema relacional ⇒ Herramientas de consulta OK
• Ejemplo: “Obtener los alumnos matriculados en derecho”
Proceso de optimización:
• Consulta desde la EPSA.
• Datos en derecho.
• N filas cumplen
Lugar X
Lugar Y
Rx
Ry
Rx viaja a Y
RELACIONAL ⇒ 2 mensajes = 1 petición + 1 resultado
NO
⇒ 2*N mensajes = N peticiones + N resultados
RELACIONAL
15
Rx U Ry ⇒ <decisión>
Ry viaja a X
Rx, Ry viajan a Z
16
Las Doce reglas (XI):
Las Doce reglas (XII):
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 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.
Regla 9: Transparencia de equipo.
• El DBMS se ejecutará igual sea cual sea el equipo.
17
Optimización consultas
Problemas de las BDD
• Fase 1 - Optimización global:
• Lentitud de las WAN respecto a un disco local.
• Formas de solucionarlo:
– Minimizar el uso de la red:
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
mover Rz a Y ⇒ 1.000.000 mensajes
mover Ry-Rz a X ⇒ 1.100.000 mensajes
• Número de mensajes.
• Volumen de mensajes.
– Optimizar:
•
•
•
•
•
18
Proceso de consultas.
Administración del catálogo.
Propagación de actualizaciones.
Control de recuperación.
Control de concurrencia.
OK
NOK
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.
19
20
Optimización consultas (III)
Optimización consultas (II)
Estrategias:
• Problema:
• 1º) Piezas → A :
T(1) = 0’1+(100.000*200) / 50.000 = 400 s. = 6’67 minutos.
LUGAR B
Proveedores
(10.000)
Piezas
(100.000)
(10 rojas)
• 2º) Proveedores y suministros → B :
T(2) = (0'1+0'1) + ( (10.000+1.000.000)*200/50.000 = 4040 s. = 1'12 horas
Datos conocidos:
• 3º) Consultar suministros de Londres en A y comprobar pieza en B:
1 tupla = 200 bits.
Suministros
(1.000.000)
(100.000 por proveedores
de Londres)
Vel. Transm. = 50000 bits/seg.
Tpo. Acceso = 0.1 seg.
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.
LUGAR A
• 5º) Obtener suministros Londres en A → B :
T(5) = 0’1 + (100.000*200)/50.000 = 400 s. = 6’67 min.
Se pide: “Proveedores de Londres que suministran piezas rojas”
• 6º) Obtener piezas rojas en B → A :
T(6) = 0’1 + (10*200) / 50.000 = 0’1 s.
21
Administración del catálogo
Administración del catálogo (II)
• Información del catálogo:
• Ejemplo real: Nominación de objetos en R*:
– Información habitual:
• Relaciones
• Índices
• Usuarios
– Información de control:
• transparencia de localización
• transparencia de fragmentación
• transparencia de réplica
– 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
• Almacenamiento del catálogo:
–
–
–
–
22
– Sinónimos:
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.
23
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í.
24
Administración del catálogo (III)
• Proceso de consultas en R*:
Propagación de actualizaciones
• Método: Propagar toda actualización a todas las copias.
• Problema: Lugares inaccesibles ⇒ fracaso
• Método de la “copia primaria”:
– 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.
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
26
Control de recuperación
Control de concurrencia
• Protocolo de compromiso en dos fases: commit-rollback
• Evitar medias operaciones: todo o nada.
• El coordinador ordena:
– Fase 1:
• Mediante bloqueos.
• Costo adicional: Una transacción sobre un objeto con N
copias:
• 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.
–
–
–
–
–
–
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
28
Cliente/servidor en DB distribuidas
GATEWAYS (pasarelas)
• Funciones:
• Nuevos estándares para cliente/servidor.
– 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.
• 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.
• Problema: costoso y no 100% funcional.
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.
31
30
Descargar