Está en la página 1de 33

Bases de Datos

Distribuidas
1
2
Arquitecturas de bases de datos
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
3
BD local
BDD
Sistema
de sitios
DB por s misma
Convienen en
trabajar juntos
Usuarios
locales
SGBD
local
Programas
control
transacciones
Administr.
Comunicac.
Sitio
BDD

4
Base de datos distribuida
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
= Todos ejecutan una copia del mismo
SGBD

5
SGBDD (DDBMS) = SGBD (DBMS) + componente social
Sistema
HOMOGNEO
Caractersticas de las BDD
6
Ventajas
BDD
Eficacia
Accesibilidad
Prximo a la estructura de empresa
Desventajas
BDD
Sistema
Usuarios
complejidad
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, MySQL...
7
Sistema relacional
La tecnologa relacional es un
requisito para la tecnologa distribuida:
Relacional = Tablas = Estructura Simple.
Red,
Jerrquicos
Listas invertidas
(ndice sec + prim)
Etc ...

8
Estructuras
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.


9
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.
11
NO 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:
12
Las Doce Reglas (V):
13
Percepcin del usuario:
ALUMNO CARRERA NOTAS
21.466.552 I.T. Informtica x x x x x x
21.467.539 I.T. Obras Pblicas x x x x x x
21.467.640 L. Derecho x x x x x x
21.468.201 L. Filologa Inglesa x x x x x x
********* ******************* * * * * * *
********* ******************* * * * * * *
Fragmento Escuela Politcnica:
ALUMNO CARRERA NOTAS
21.466.552 I.T. Informtica x x x x x x
21.467.539 I.T. Obras Pblicas x x x x x x
Fragmento Facultad de Derecho:
ALUMNO CARRERA NOTAS
21.467.640 L. Derecho x x x x x x
Fragmento Facultad de Filosofa y Letras
ALUMNO CARRERA NOTAS
21.468.201 L. Filologa Inglesa x x x x x x
Las Doce Reglas (VI):
14
Sitio A

Sitio B
Sitio C
Sitio
A
Sitio
B
Sitio
C
Fragmentacin Horizontal:
Oper. Relac. de RESTRICCIN
Fragmentacin Vertical:
Oper. Relac. de PROYECCIN
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 (Join): Vertical.
Unin: Horizontal.
Las operaciones relacionales apoyan la
fragmentacin (y como consecuencia la
distribucin).
El usuario no debe notar la fragmentacin.
15
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.
DESVENTAJAS
Hay que propagar las actualizaciones.
La creacin y destruccin de rplicas debe
hacerse transparente al usuario.
16
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 BUAP
Datos en derecho.
N filas cumplen
17
RELACIONAL 2 mensajes = 1 peticin + 1 resultado
NO
RELACIONAL
2*N mensajes = N peticiones + N resultados
Las Doce reglas (X):
Proceso de
optimizacin:
18
Rx Ry
Rx U Ry <decisin>
Lugar X

Lugar Y

Rx viaja a Y
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: 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.
19
Las Doce reglas (XII):
Regla 10: Transparencia del Sistema Operativo.
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,
SQL Server, MYSQL, Informix, Multibase, etc.
20
Problemas de las BDD
Lentitud de las WAN (Wide Area Network )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.
21
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.

22
Optimizacin consultas (II)
Problema:
23
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.
Veloc. Transm. = 50000 bits/seg.
Tiempo Acceso = 0.1 seg.
Se pide: Proveedores de Londres que suministran piezas rojas

Optimizacin consultas (III)
Estrategias:
1) Piezas en B A :
T(1) = 0,1+(100.000*200) / 50.000 = 400 s. = 6,67 minutos.
2) Proveedores y suministros en A 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.
24
Administracin del catlogo
Informacin del catlogo:
Informacin habitual:
Relaciones
ndices
Usuarios
Informacin de control:
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 2.
Conclusin: todos los mtodos anteriores tienen problemas.
25
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.
PEPE@MADRID.PIEZAS@ALICANTE
Sinnimos:
CREATE SYNONYM ALI-PIEZAS FOR;
PEPE@MADRID.PIEZAS@ALICANTE
Cada sitio mantiene:
Copia total de la tabla de sinnimos.
Localizacin actual de un objeto nacido aqu.
Relacin de objetos actualmente aqu.
26
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.
27
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).
28
Control de recuperacin
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 bitcora de las ops efectuadas.
Fase 2:
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.
29
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.
30
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.
31
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.
32
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.
Desventajas:
Falta de estndares.
33