Está en la página 1de 31

BASES DE DATOS DISTRIBUIDAS

Ing. Yuri Giovani Romn Lazarinos CIP 79596

INTRODUCCIN
DB por s misma

BDD

Sistema de sitios

Convienen en trabajar juntos

Sitio BDD

Usuarios locales

SGBD local

Programas control transacciones

Administr. Comunicac.

BD local

INTRODUCCIN (II)
SGBDD (DDBMS) = SGBD (DBMS) + componente social

Sistema HOMOGNEO relajacin


GATEWAY

= Todos ejecutan una copia del mismo SGBD

CARACTERSTICAS DE LAS BDD


Eficacia
Ventajas BDD Accesibilidad

Prximo a la estructura de empresa

Desventajas BDD

Sistema

complejidad Usuarios

PRODUCTOS DESARROLLADOS

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

SISTEMA RELACIONAL
La tecnologa relacional es un requisito para la tecnologa
distribuida: Relacional = Tablas = Estr. Simple. Red, Jerrquicos Listas invertidas Etc ...

Estr. Complejas

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

LAS DOCE REGLAS (III):


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

APAGAR

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:

Percepcin del usuario:

LAS DOCE REGLAS (V):

ALUMNO 21466552 21467539 21467640 21468201 ********* *********

CARRERA Ing. Civil Ing. Agronmica Derecho Educacin Inicial ******************* *******************

NOTAS xxxxxx xxxxxx xxxxxx xxxxxx ****** ******

Fragmento Facultad de Ingenieras:


ALUMNO 21466552 21467539 CARRERA Ing. Civil Ing. Agronmica NOTAS xxxxxx xxxxxx

Fragmento Facultad de Derecho:


ALUMNO 21467640 CARRERA Derecho NOTAS xxxxxx

Fragmento Facultad de Educacin


ALUMNO 21468201 CARRERA Educacin Inicial NOTAS xxxxxx

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)

LAS DOCE REGLAS (VII):


La recomposicin se hace con operaciones relacionales:

Reunin: Vertical.
Unin: Horizontal.

Las operaciones relacionales apoyan la fragmentacin (y como consecuencia la distribucin).


El usuario no debe notar la fragmentacin.

LAS DOCE REGLAS (VIII):


Regla 6: Transparencia de rplica.

La rplica proporciona:

VENTAJAS:

Mayor Prestacin: los datos son locales.


Mayor disponibilidad: los datos son accesibles siempre. Hay que propagar las actualizaciones.

DESVENTAJAS

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

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 ORA. Datos en derecho. N filas cumplen.

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

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

LAS DOCE REGLAS (XI):


Regla 8: Manejo distribuido de transacciones.

Transaccin distribuida: varios agentes de la transaccin en varios lugares.


Control de recuperacin: 1 transaccin atmica. 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.

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 mltiples redes sin afectar al usuario.

Regla 12: Transparencia de DBMS.

Se pueden manejar distintas copias de DBMS si manejan la misma norma estndar de SQL: Oracle, Informix, Multibase, etc.

PROBLEMAS DE LAS BDD



Lentitud de las WAN respecto a un disco local.

Formas de solucionarlo: Minimizar el uso de la red: Nmero de mensajes. Volumen de mensajes. Optimizar: Proceso de consultas. Administracin del catlogo. Propagacin de actualizaciones. Control de recuperacin. Control de concurrencia.

OPTIMIZACIN CONSULTAS

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 OK mover Rz a Y 1.000.000 mensajes NOK mover Ry-Rz a X 1.100.000 mensajes NOK

Fase 2 - Optimizacin local:


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

OPTIMIZACIN CONSULTAS (II)

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

Datos conocidos:
1 tupla = 200 bits.

Suministros (1.000.000) (100.000 por proveedores de Londres)

Vel. Transm. = 50000 bits/seg.


Tpo. Acceso = 0.1 seg. LUGAR A

Se pide: Proveedores de Londres que suministran piezas rojas

OPTIMIZACIN CONSULTAS (III)


Estrategias:

1) Piezas A :
T(1) = 01+(100.000*200) / 50.000 = 400 s. = 667 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) = 01 * (2*10) = 2 s.

5) Obtener suministros Londres en A B : T(5) = 01 + (100.000*200)/50.000 = 400 s. = 667 min. 6) Obtener piezas rojas en B A : T(6) = 01 + (10*200) / 50.000 = 01 s.

ADMINISTRACIN DEL CATLOGO


Informacin del catlogo: Informacin habitual:

Informacin de control:

Relaciones ndices Usuarios

transparencia de localizacin transparencia de fragmentacin 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 regla 2.

Conclusin: todos los mtodos anteriores tienen problemas.

ADMINISTRACIN DEL CATLOGO (II)

Ejemplo real: Nominacin de objetos en R*: Nombre de impresin: 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. JOSE@LIMA.PIEZAS@CHOSICA Sinnimos: CREATE SYNONYM ALI-PIEZAS FOR; JOSE@LIMA.PIEZAS@CHOSICA Cada sitio mantiene: Copia total de la tabla de sinnimos. Localizacin actual de un objeto nacido aqu. Relacin de objetos actualmente aqu.

ADMINISTRACIN DEL CATLOGO (III)

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.

PROPAGACIN DE ACTUALIZACIONES

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

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

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

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

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.

CONTROL DE CONCURRENCIA

Mediante bloqueos.

Costo adicional: Una transaccin sobre un objeto con N copias:

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

Estrategias anti-interbloqueos:

estados parciales - estados globales.

GATEWAYS (PASARELAS)

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.

CLIENTE/SERVIDOR EN DB DISTRIBUIDAS

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.

CLIENTE/SERVIDOR EN DB DISTRIBUIDAS(II)

Procedimientos almacenados:

Ventajas:

Reducen el nmero de mensajes. Mayor independencia.

Comparte con varios clientes.


Optimiza en tiempo de compilacin.

Mayor seguridad en el acceso a los datos.


Falta de estndares.

Desventajas: