You are on page 1of 33

Bases de Datos Distribuidas

Arquitecturas de bases de datos


y

Centralizadas BD en una sola mquina y una sola CPU todos los usuarios acceden a esa mquina Sistemas paralelos BD en una sola mquina y varias CPU y varios discos todos los usuarios acceden a esa mquina Sistemas cliente-servidor BD en una sola mquina (back-end) los usuarios acceden desde sistemas remotos (front-end) Sistemas distribuidos BD repartida entre varias mquinas los usuarios acceden a cualquiera de las mquinas del sistema

Base de Datos Distribuida


BDD Sistema de sitios DB por s misma Convienen en trabajar juntos

Sitio BDD

Usuarios locales

SGBD local

Programas Administr. control Comunicac. transacciones

BD local

Base de datos distribuida


y y y y y y y y

Es una coleccin de mltiples y lgicamente relacionadas bases de datos sobre una red de computadoras. Un DBMS distribuido se define como el software que permite gestionarlo y hacer la distribucin transparente a los usuarios. Es una BD almacenada en varios ordenadores que se comunican mediante una red de comunicaciones. El usuario debe poder usarla como un sistema nico. Puede procesar todo tipo de peticiones complejas. La peticiones se pueden procesar en el sitio que hizo la peticin o en cualquier otro o parcialmente en varios. Necesita una gestin de transacciones especial. Debe proporcionar optimizacin de peticiones automticamente.

Sistema Gestor de Base de Datos Distribuida


SGBDD (DDBMS) = SGBD (DBMS) + componente social Sistema HOMOGNEO
= Todos ejecutan una copia del mismo SGBD

Caractersticas de las BDD


Eficacia Ventajas BDD Accesibilidad Prximo a la estructura de empresa

Desventajas BDD

complejidad

Sistema Usuarios

Productos desarrollados
y

Prototipos:
SDD-1 de Computer Corporation of America (finales 70s). R*, versin distribuida de System R de IBM (ppio 80s). INGRES distribuido, versin distribuida del prototipo desarrollado por la Universidad de Berkeley, California (ppio 80s).

Productos comerciales:
INGRES/STAR de The ASK GROUP INCS INGRES DIVISION. ORACLE 7: de Oracle. DB2 de IBM. INFORMIX, SQL SERVER, MySQL...
7

Sistema relacional
y

La tecnologa relacional es un requisito para la tecnologa distribuida:


Relacional = Tablas = Estructura Simple. Red, Jerrquicos Listas invertidas Estructuras x (ndice sec + prim) Complejas Etc ...

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 idntico a un sistema no distribuido.

Las Doce Reglas (II):


Regla 1:Autonoma local. Cada lugar debe contener: Propietario local. Administracin local. Responsabilidad local. Integracin local. Representacin local. (Hasta donde sea posible llevarlo a cabo).

10

Las Doce Reglas (III):


Regla 2: No dependencia de un sitio central. No debe existir un nico sitio, ya que implicara: Cuello de botella. Vulnerabilidad. Regla 3: Operacin continua. Adicin de elementos. Actualizacin de versiones.

NO APAGAR

11

Las Doce Reglas (IV):


Regla 4:Transparencia de localizacin. El usuario desconoce dnde estn fsicamente los datos. Regla 5: Transparencia de fragmentacin. Divisin de una relacin en partes para su almacenamiento. Funcionalidad: cada lugar tiene los datos que usa con mayor frecuencia. Ejemplo:

12

Las Doce Reglas (V):


P e r c e p c i n d e l u s u a r io :
ALU M N O 2 1 .4 6 6 .5 5 2 1 .4 6 7 .5 3 2 1 .4 6 7 .6 4 2 1 .4 6 8 .2 0 ********* ********* 2 9 0 1 C AR R ER A I . T . I n f o r m t ic a I . T . O b r a s P b lic a s L . D e re c h o L . F ilo lo g a I n g le s a ******************* ******************* N x x x x * * O TAS 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 :
ALU M N O 2 1 .4 6 6 .5 5 2 2 1 .4 6 7 .5 3 9 C AR R ER A I . T . I n f o r m t ic a I . T . O b r a s P b lic a s N O TAS 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 :
ALU M N O 2 1 .4 6 7 .6 4 0 C AR R ER A L . D e re c h o N O TAS 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 fa y L e tr a s
ALU M N O 2 1 .4 6 8 .2 0 1 C AR R ER A L . F ilo lo g a I n g le s a N O TAS x x x x x x

13

Las Doce Reglas (VI):


Fragmentacin Horizontal: Oper. Relac. de RESTRICCIN
Sitio A

Fragmentacin Vertical: Oper. Relac. de PROYECCIN

Sitio B Sitio C Sitio A Sitio B Sitio C

Extraccin de tuplas que cumplen condicin

Extraccin de atributos de una relacin (conservando su clave primaria)


14

Las Doce Reglas (VII):


La recomposicin se hace con operaciones relacionales:

Reunin (Join): Vertical. Unin: Horizontal.


Las operaciones relacionales apoyan la fragmentacin (y como consecuencia la distribucin). y El usuario no debe notar la fragmentacin.
y

15

Las Doce reglas (VIII):


Regla 6: Transparencia de rplica. y La rplica proporciona: VENTAJAS:
x Mayor Prestacin: los datos son locales. x Mayor disponibilidad: los datos son accesibles siempre.

DESVENTAJAS
x Hay que propagar las actualizaciones.
y

La creacin y destruccin de rplicas debe hacerse transparente al usuario.

16

Las Doce reglas (IX):


Regla 7: Proceso Distribuido de Consultas. y Sistema relacional Herramientas de consulta OK y Ejemplo: Obtener los alumnos matriculados en derecho
x Consulta desde la BUAP x Datos en derecho. x N filas cumplen

RELACIONAL 2 mensajes = 1 peticin + 1 resultado NO 2*N mensajes = N peticiones + N resultados RELACIONAL

17

Las Doce reglas (X):


Proceso de optimizacin:

Lugar X
Rx

Lugar Y
Ry

Rx viaja a Y

Rx U Ry <decisin>

Ry viaja a X Rx, Ry viajan a Z

18

Las Doce reglas (XI):


Regla 8: Manejo distribuido de transacciones. y Transaccin distribuida: varios agentes de la transaccin en varios lugares. y Control de recuperacin: Transaccin atmica. Todos los agentes avanzan o retroceden juntos. y Control de concurrencia: Bloqueos mediante paso de mensajes. Regla 9: Transparencia de equipo. y El DBMS se ejecutar igual sea cual sea el equipo.

19

Las Doce reglas (XII):


Regla 10: Transparencia del Sistema Operativo. y El DBMS debe ser multioperativo sin afectar al usuario. Regla 11: Transparencia de red. y El DBMS debe soportar mltiples redes sin afectar al usuario. Regla 12: Transparencia de DBMS. y Se pueden manejar distintas copias de DBMS si manejan la misma norma estndar de SQL: Oracle, SQL Server, MYSQL, Informix, Multibase, etc.
20

Problemas de las BDD


Lentitud de las WAN (Wide Area Network )respecto a un disco local. y Formas de solucionarlo: Minimizar el uso de la red:
y

x Nmero de mensajes. x Volumen de mensajes.

Optimizar:
x x x x x Proceso de consultas. Administracin del catlogo. Propagacin de actualizaciones. Control de recuperacin. Control de concurrencia.

21

Optimizacin consultas
y

Fase 1 - Optimizacin 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

Fase 2 - Optimizacin local:


Se optimiza la operacin de la unin tomando las relaciones ms convenientes para minimizar su tiempo.

22

Optimizacin consultas (II)


y

Problema:
LUGAR B
Piezas (100.000) (10 rojas)

Proveedores (10.000)

Datos conocidos: 1 tupla = 200 bits.

Suministros (1.000.000) (100.000 por proveedores de Londres)

Veloc. Transm. = 50000 bits/seg. Tiempo Acceso = 0.1 seg. LUGAR A

Se pide: Proveedores de Londres que suministran piezas rojas

23

Optimizacin consultas (III)


Estrategias:
y

1) Piezas en B p A :
T(1) = 0,1+(100.000*200) / 50.000 = 400 s. = 6,67 minutos.

2) Proveedores y suministros en Ap 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 p B :


T(5) = 0,1 + (100.000*200)/50.000 = 400 s. = 6,67 min.

6) Obtener piezas rojas en B p A :


T(6) = 0,1 + (10*200) / 50.000 = 0,1 s.

24

Administracin del catlogo


y

Informacin del catlogo:


Informacin habitual: x Relaciones x ndices x Usuarios Informacin de control: x transparencia de localizacin x transparencia de fragmentacin x transparencia de rplica

Almacenamiento del catlogo:


Centralizado.Viola regla 2: no dependencia de un sitio central. Rplicas en cada lugar:Viola regla : autonoma. Catlogo dividido entre todos lugares: Ops. remotas costosas. Catlogo dividido y una copia global en un sitio:Viola 2.

Conclusin: todos los mtodos anteriores tienen problemas.


25

Administracin del catlogo (II)


y

Ejemplo real: Nominacin de objetos en R*:


Nombre de impresin: Lo usan los usuarios. Nombre de sistema: Identificador nico interno.
x Id. del creador. x Id. del sitio del creador. x Nombre local del objeto. x Id. del lugar de nacimiento. PEPE@MADRID.PIEZAS@ALICANTE

Sinnimos:
CREATE SYNONYM ALI-PIEZAS FOR; PEPE@MADRID.PIEZAS@ALICANTE

Cada sitio mantiene:


x Copia total de la tabla de sinnimos. x Localizacin actual de un objeto nacido aqu. x Relacin de objetos actualmente aqu.
26

Administracin del catlogo (III)


y

Proceso de consultas en R*:


Consulta local del objeto en la tabla de sinnimos. 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 migracin en R*:


Borrar objeto del lugar de origen. Insertar objeto en lugar de destino. Actualizar en lugar de nacimiento.

27

Propagacin de actualizaciones
Mtodo: Propagar toda actualizacin a todas las copias. y Problema: Lugares inaccesibles fracaso y Mtodo de la copia primaria:
y

1 copia primaria y n copias secundarias. Las copias primarias se reparten (no centralizacin). El proceso de actualizacin finaliza al actualizar la primaria. La copia primaria se encarga de actualizar las dems (cuando puede).

28

Control de recuperacin
y y y

Protocolo de compromiso en dos fases: commit-rollback Evitar medias operaciones: todo o nada. El coordinador ordena: Fase 1:

x Pedir OK o NOK a cada gestor local. x Cada gestor guarda una bitcora de las ops efectuadas. Fase 2: x Si todos OK COMMIT. x Si algn NOK ROLLBACK. x El resultado se enva a cada gestor local para que confirmen o deshagan.

y y

Un fallo de interrupcin se recupera de la bitcora. Consideraciones:


No dependencia de un sitio central (si vara el coordinador). Comunicacin coordinada participacin costo extra. Prdida de autonoma local.

29

Control de concurrencia
Mediante bloqueos. y Costo adicional: Una transaccin sobre un objeto con N copias:
y

N solicitudes de bloqueo. N concesiones de bloqueo. N mensajes de actualizacin. N verificaciones. N solicitudes de liberacin. TOTAL = 5*N mensajes.
y

Estrategias anti-interbloqueos:
estados parciales - estados globales.

30

GATEWAYS (pasarelas)
y

Funciones:
Realizar protocolos de intercambio de mensajes en cuanto a formato. Ejecucin de llamadas remotas. Resolver problemas de tipos de datos. Compaginar SQLs. Compaginar informacin de retorno. Compaginar catlogos. Hacer participar a todos del protocolo de compromiso en 2 fases. Asegurar los interbloqueos.

Problema: costoso y no 100% funcional.

31

Cliente/servidor en DB distribuidas
y y

Nuevos estndares para cliente/servidor. P.ej. SQL incorpora:


connect. disconnect.

Otros estndares:
RDA (Remote Data Access) para SQL define formatos para paso de mensajes en forma de requerimientos SQL, informacin y paso de resultados. Mismo SQL en cliente y servidor. DRDA (Distributed Relational Database Architecture) permite diversos dialectos de SQL en cliente y servidor.

32

Cliente/servidor en DB distribuidas(II)
y

Procedimientos almacenados: Ventajas:


x Reducen el nmero de mensajes. x Mayor independencia. x Comparte con varios clientes. x Optimiza en tiempo de compilacin. x Mayor seguridad en el acceso a los datos.

Desventajas:
x Falta de estndares.

33

You might also like