Tema VI
Bases de Datos
Distribuidas
Introducción
BDD
Sistema
de sitios
DB por sí misma
Convienen en
trabajar juntos
≈
Sitio
BDD
1
Usuarios
locales
SGBD
local
Programas
control
transacciones
Administr.
Comunicac.
BD local
Introducción (II)
Características de las BDD
SGBDD (DDBMS) = SGBD (DBMS) + componente social
Sistema HOMOGÉNEO
HOMOGÉNEO
= Todos ejecutan una copia del mismo SGBD
r
e
l
a
j
a
c
i
ó
n
GATEWAY
GATEWAY
3
Ventajas
BDD
Eficacia
Accesibilidad
Próximo a la estructura de empresa
Desventajas
BDD
complejidad
Sistema
Usuarios
2
4
Productos desarrollados
Sistema relacional
(cid:127) 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).
(cid:127) Productos comerciales:
– INGRES/STAR de The ASK GROUP INC’S INGRES
DIVISION.
– ORACLE 7: de Oracle.
– DB2 de IBM.
– INFORMIX, SQL SERVER, ...
(cid:127) La tecnología relacional es un requisito para
la tecnología distribuida:
– Relacional = Tablas = Estr. Simple.
– Red,
– Jerárquicos
– Listas invertidas
– Etc ...
Estr. Complejas
5
Las Doce Reglas (I):
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).
6
8
Las Doce Reglas (III):
Las Doce Reglas (IV):
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
Las Doce Reglas (V):
P e r c e p c ió n d e l u s u a r io :
A L U M N O
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
* * * * * * * * *
* * * * * * * * *
C A R R E R A
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 r e c h o
L . F ilo lo g í a I n g le s a
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
N O T A S
x x x x x x
x x x x x x
x x x x x x
x x x x x x
* * * * * *
* * * * * *
F r a g m e n to E s c u e la P o lit é c n ic a :
A L U M N O
2 1 . 4 6 6 .5 5 2
2 1 . 4 6 7 .5 3 9
C A R R E R A
I . T . I n f o r m á tic a
I . T . O b r a s P ú b lic a s
N O T A S
x x x x x x
x x x x x x
F r a g m e n to F a c u lta d d e D e r e c h o :
A L U M N O
2 1 . 4 6 7 .6 4 0
C A R R E R A
L . D e r e c h o
N O T A S
x x x x x x
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
A L U M N O
2 1 . 4 6 8 .2 0 1
C A R R E R A
L . F ilo lo g í a I n g le s a
N O T A S
x x x x x x
9
11
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:
10
Las Doce Reglas (VI):
Fragmentación Horizontal:
Oper. Relac. de RESTRICCIÓN
Fragmentación Vertical:
Oper. Relac. de PROYECCIÓN
Sitio A
Sitio B
Sitio C
Extracción de tuplas que
cumplen condición
Sitio
A
Sitio
B
Sitio
C
Extracción de atributos de
una relación (conservando
su clave primaria)
12
Las Doce Reglas (VII):
La recomposición se hace con operaciones relacionales:
– Reunión: Vertical.
– Unión: Horizontal.
(cid:127) Las operaciones relacionales apoyan la fragmentación (y
como consecuencia la distribución).
(cid:127) El usuario no debe notar la fragmentación.
13
Las Doce reglas (VIII):
Regla 6: Transparencia de réplica.
(cid:127) La réplica proporciona:
– VENTAJAS:
(cid:127) Mayor Prestación: los datos son locales.
(cid:127) Mayor disponibilidad: los datos son accesibles siempre.
– DESVENTAJAS
(cid:127) Hay que propagar las actualizaciones.
(cid:127) La creación y destrucción de réplicas debe hacerse
transparente al usuario.
Las Doce reglas (IX):
Las Doce reglas (X):
Regla 7: Proceso Distribuido de Consultas.
(cid:127) Sistema relacional ⇒ Herramientas de consulta OK
(cid:127) Ejemplo: “Obtener los alumnos matriculados en derecho”
(cid:127) Consulta desde la EPSA.
(cid:127) Datos en derecho.
(cid:127) N filas cumplen
RELACIONAL ⇒ 2 mensajes = 1 petición + 1 resultado
NO
RELACIONAL
⇒ 2*N mensajes = N peticiones + N resultados
15
Proceso de optimización:
Lugar X
Rx
Lugar Y
Ry
Rx U Ry ⇒ <decisión>
Rx viaja a Y
Ry viaja a X
Rx, Ry viajan a Z
14
16
Las Doce reglas (XI):
Regla 8: Manejo distribuido de transacciones.
(cid:127) Transacción distribuida: varios agentes de la transacción en
varios lugares.
(cid:127) Control de recuperación: 1 transacción atómica. Todos los
agentes avanzan o retroceden juntos.
(cid:127) Control de concurrencia: Bloqueos mediante paso de
mensajes.
Regla 9: Transparencia de equipo.
(cid:127) El DBMS se ejecutará igual sea cual sea el equipo.
Problemas de las BDD
(cid:127) Lentitud de las WAN respecto a un disco local.
(cid:127) Formas de solucionarlo:
– Minimizar el uso de la red:
(cid:127) Número de mensajes.
(cid:127) Volumen de mensajes.
– Optimizar:
(cid:127) Proceso de consultas.
(cid:127) Administración del catálogo.
(cid:127) Propagación de actualizaciones.
(cid:127) Control de recuperación.
(cid:127) Control de concurrencia.
17
19
Las Doce reglas (XII):
Regla 10: Transparencia del s.o.
(cid:127) El DBMS debe ser multioperativo sin afectar al usuario.
Regla 11: Transparencia de red.
(cid:127) El DBMS debe soportar múltiples redes sin afectar al
usuario.
Regla 12: Transparencia de DBMS.
(cid:127) Se pueden manejar distintas copias de DBMS si manejan la
misma norma estándar de SQL: Oracle, Informix,
Multibase, etc.
18
Optimización consultas
(cid:127) 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 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
OK
NOK
NOK
(cid:127) Fase 2 - Optimización local:
Se optimiza la operación de la unión tomando las relaciones más
convenientes para minimizar su tiempo.
20
Optimización consultas (II)
(cid:127) Problema:
Proveedores
(10.000)
Suministros
(1.000.000)
de Londres)
(100.000 por proveedores
LUGAR B
Datos conocidos:
1 tupla = 200 bits.
Vel. Transm. = 50000 bits/seg.
Tpo. Acceso = 0.1 seg.
Piezas
(100.000)
(10 rojas)
LUGAR A
Se pide: “Proveedores de Londres que suministran piezas rojas”
Optimización consultas (III)
Estrategias:
(cid:127) 1º) Piezas → A :
T(1) = 0’1+(100.000*200) / 50.000 = 400 s. = 6’67 minutos.
(cid:127) 2º) Proveedores y suministros → B :
T(2) = (0'1+0'1) + ( (10.000+1.000.000)*200/50.000 = 4040 s. = 1'12 horas
(cid:127) 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
(cid:127) 4º) Consultar piezas rojas en B y comprobar suministros en A:
T(4) = 0’1 * (2*10) = 2 s.
(cid:127) 5º) Obtener suministros Londres en A → B :
T(5) = 0’1 + (100.000*200)/50.000 = 400 s. = 6’67 min.
(cid:127) 6º) Obtener piezas rojas en B → A :
T(6) = 0’1 + (10*200) / 50.000 = 0’1 s.
21
22
Administración del catálogo
Administración del catálogo (II)
(cid:127)
Información del catálogo:
– Información habitual:
(cid:127) Relaciones
(cid:127) Índices
(cid:127) Usuarios
– Información de control:
(cid:127) transparencia de localización
(cid:127) transparencia de fragmentación
(cid:127) transparencia de réplica
(cid:127) 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.
(cid:127) Conclusión: todos los métodos anteriores tienen problemas.
23
(cid:127) Ejemplo real: Nominación de objetos en R*:
– Nombre de impresión: Lo usan los usuarios.
– Nombre de sistema: Identificador único interno.
(cid:127) Id. del creador.
(cid:127) Id. del sitio del creador.
(cid:127) Nombre local del objeto.
(cid:127) Id. del lugar de nacimiento.
[email protected]@ALICANTE
– Sinónimos:
CREATE SYNONYM ALI-PIEZAS FOR;
[email protected]@ALICANTE
– Cada sitio mantiene:
(cid:127) Copia total de la tabla de sinónimos.
(cid:127) Localización actual de un objeto nacido aquí.
(cid:127) Relación de objetos actualmete aquí.
24
Administración del catálogo (III)
Propagación de actualizaciones
(cid:127) 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)
(cid:127) Proceso de migración en R*:
– Borrar objeto del lugar de origen.
– Insertar objeto en lugar de destino.
– Actualizar en lugar de nacimiento.
25
(cid:127) Método: Propagar toda actualización a todas las copias.
(cid:127) Problema: Lugares inaccesibles ⇒ fracaso
(cid:127) 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 l
Comentarios de: Tema VI - Bases de Datos Distribuidas (0)
No hay comentarios