Você está na página 1de 25

BASES DE DATOS DISTRIBUIDAS

BASES DE DATOS AVANZADAS DEPARTAMENTO DE INFORMTICA

MOTIVACIN DE LAS BDD


NECESIDAD DE
INTEGRACI INTEGRACIN + DISTRIBUCI DISTRIBUCIN

Bases de datos distribuidas

Bases de datos

Redes de ordenadores

Bases de Datos Avanzadas Departamento de Informtica 2

INTEGRACIN
PROBLEMAS DERIVADOS DEL DESARROLLO DE BD INDEPENDIENTES
Datos redundantes SGBD distintos Plataformas variadas (pcs, workstations)

Consecuencia

Inconsistencias en los datos Dificultad de interoperatividad Aislamiento de los distintos grupos de usuarios

Necesidad de Sistemas de Informacin integrados que respondan a los objetivos globales de la empresa
Bases de Datos Avanzadas Departamento de Informtica 3

DISTRIBUCIN
FINALIDAD
Acercar la informtica a los usuarios
Compartiendo Optimizando

Necesidad de Sistemas de Informacin Distribuidos que doten de autonoma a los usuarios y que consigan mayor eficiencia

Bases de Datos Avanzadas Departamento de Informtica 4

NO OBSTANTE
INTEGRACIN = CENTRALIZACIN
Bases de Datos Avanzadas Departamento de Informtica 5

DEFINICIONES
BASES DE DATOS DISTRIBUIDAS (BDD)
Coleccin de mltiples bases de datos, lgicamente interrelacionadas, distribuidas sobre una red de ordenadores

SISTEMA DE GESTIN DE BDD (SGBDD)


Producto software capaz de gestionar una BDD, suministrando mecanismos de acceso que hacen transparente la distribucin

SISTEMA DE BDD = BDD + SGBDD


Bases de Datos Avanzadas Departamento de Informtica 6

BASES DE DATOS DISTRIBUIDAS

Bases de Datos Avanzadas Departamento de Informtica 7

CARCTERSTICAS DE LAS BDD


Los datos deben estar fsicamente en ms de un ordenador (distintas sedes) Las sedes deben estar interconectadas mediante una red (cada sede es un nodo de la red) Los datos han de estar lgicamente integrados (recuperacin y actualizacin) tanto en local como remoto (esquema lgico global y nico) En una nica operacin se puede acceder (recuperar o actualizar) datos que se encuentran en ms de una sede (acceso a datos locales o remotos) Todas las acciones que necesiten realizarse sobre ms de una sede sern transparentes al usuario (transparencia de distribucin para el usuario)

Bases de Datos Avanzadas Departamento de Informtica 8

ALMACENAMIENTO DISTRIBUIDO
Dada una relacin R:
RPLICA: copia de R en emplazamiento diferente FRAGMENTACIN: R dividida en fragmentos diferentes almacenados en sitios diferentes RPLICA Y FRAGMENTACIN: R dividida en fragmentos que son replicados en sitios diferentes
Bases de Datos Avanzadas Departamento de Informtica 9

VENTAJAS DE LAS BDD (I)


ORGANIZATIVAS:
Adaptacin a la organizacin de la institucin (unin de compaas/descentralizacin), respondiendo a cambios Almacenar los datos donde son generados y/o usados, la mayor parte locales Proporcionar autonoma local, controlndose desde cada nodo. Poltica general contra poltica local

ECONMICAS:
Costes de comunicacin y de creacin de pequeos sistemas
Bases de Datos Avanzadas Departamento de Informtica 10

VENTAJAS DE LAS BDD (y II)


TCNICAS:
Flexibilidad, acceso desde distintos lugares y por distintas personas a la vez Fiabilidad/disponibilidad, en un determinado momento / intervalo. Varios sitios, duplicaciones, evitan fallos Modularidad Mejora del rendimiento, BD ms pequeas, operaciones de menor volumen Crecimiento incremental, aadiendo poder de procesamiento y almacenamiento
Bases de Datos Avanzadas Departamento de Informtica 11

DESVENTAJAS DE LAS BDD


Complejidad del sistema, desarrollo de software ms costoso, problemas de sincronizacin, dificultad para conocer la correccin de los algoritmos paralelos, deteccin de cadas de nodos Dependencia de la red de comunicaciones, sobrecarga de procesamiento de mensajes Dificultad de diseo, fases adicionales Poca madurez de los productos comerciales, orientados a replicacin Funciones de administracin compleja, sincronizacin y coordinacin Dificultad de cambio, inexistencia de metodologas Personal especializado
Bases de Datos Avanzadas Departamento de Informtica 12

COMPONENTES DE UNA BDD


BD locales SGBDD Red de comunicaciones Diccionario o directorio global

Bases de Datos Avanzadas Departamento de Informtica 13

EL SGBDD (I)
Las RESPONSABILIDADES del SGBDD sern:
Transparencia de red Transparencia de fragmentacin Transparencia de copias o duplicacin
Propagacin de actualizaciones

Procesamiento de consultas distribuidas, definicin de estrategias Mantener un diccionario integrado Control de concurrencia, integridad de la BDD, consistencia entre las mltiples copias de los datos Fiabilidad de los SGBDD, capaz de recuperar y devolver a las bases de datos implicadas en el fallo un estado consistente y estable Soporte de sistema operativo Bases de datos heterogneas, mecanismos de traduccin
Bases de Datos Avanzadas Departamento de Informtica 14

EL SGBDD (y II)
Un SGBDD tiene, conceptualmente, tres COMPONENTES principales
Procesador de datos locales (PDL)
Gestin de datos local

Procesador de aplicaciones distribuidas (PAD)


Responsable de las funciones de distribucin

Software de comunicaciones
Suministra las primitivas y los servicios de comunicaciones que necesita el PAD

Cada sede puede tener un PDL y un PAD o bien slo uno de ellos
Bases de Datos Avanzadas Departamento de Informtica 15

TIPOLOGA DE LAS BDD


SEGN EL GRADO DE HOMOGENEIDAD DE LOS SGBD LOCALES:
SGBDD homogneos: todos los SGBD locales son iguales SGBDD heterogneos: los SGBD locales son distintos

SEGN EL GRADO DE AUTONOMA FUNCIONAL:


SGBDD federados: total autonoma funcional (multibase de datos) SGBDD sin ninguna autonoma funcional local

SEGN EL GRADO DE AUTONOMA ORGANIZATIVA:


Autonoma total: las decisiones se toman a nivel local Organizacin centralizada
Bases de Datos Avanzadas Departamento de Informtica 16

ESQUEMAS DE UNA BDD

Usuarios de la BDD

Esquemas locales y esquema global Diccionario global integrado


Bases de Datos Avanzadas Departamento de Informtica 17

DISEO DE BDD ESTRATEGIAS


TOP-DOWN (descendente)
En un principio el diseo no existe. Diseador necesita identificar tablas, pero tambin su ubicacin y la necesidad de replicacin.

BOTTOM-UP (ascendente)
Cuando existen diseos previos. Integracin de esquemas existentes (ELL) al esquema global (ELG).
Bases de Datos Avanzadas Departamento de Informtica 18

DISEO DE BDD FRAGMENTACIN (I)


RAZONES PARA FRAGMENTAR
Encontrar unidad de distribucin ms adecuada. Disminuir cantidad de accesos remotos. Incrementar el nivel de concurrencia.

DESVENTAJAS
Degradacin del rendimiento. Complejidad de mantenimiento de la integridad referencial.
Bases de Datos Avanzadas Departamento de Informtica 19

DISEO DE BDD FRAGMENTACIN (II)


CORRECCIN EN LA FRAGMENTACIN
Completitud
di a algn Rj

Reconstruccin
R= Ri, Ri FR

Disyuncin
Frag horizontal : R1, R2, , Rn, el dato di est en Rj y slo en Rj Frag vertical: slo se repiten atributos clave
Bases de Datos Avanzadas Departamento de Informtica 20

DISEO DE BDD FRAGMENTACIN (III)


TIPOS DE FRAGMENTACIN HORIZONTAL
Divide la relacin en subconjuntos de tuplas. Operador SELECCIN: Ci (R) Primaria y Derivada Recuperacin mediante UNION.

VERTICAL
Divide la relacin verticalmente en columnas. Operacin PROYECCIN: Li (R) Agrupamiento y Divisin. Recuperacin mediante JOIN.

HBRIDA
Mezcla de fragmentacin vertical y horizontal. Recuperacin mediante UNION y JOIN.
Bases de Datos Avanzadas Departamento de Informtica 21

DISEO DE BDD FRAGMENTACIN (y IV)


RESULTADO: ESQUEMA DE FRAGMENTACIN
Conjunto de fragmentos que incluye todos los atributos y tuplas de la BD original. La BD completa puede reconstruirse mediante UNION y JOIN. Expresado en lgebra relacional.

Bases de Datos Avanzadas Departamento de Informtica 22

DISEO DE BDD ASIGNACIN (I)


Bsqueda de distribucin ptima de los fragmentos Fi en los nodos Si. Caractersticas deseables:
Coste mnimo
Almacenamiento Comunicacin

Mximo rendimiento:
Tiempos de respuesta mnimos Capacidad de procesamiento mxima

Depende del tipo y frecuencia de transacciones. Existen algoritmos de asignacin que buscan distribucin ptima.
Bases de Datos Avanzadas Departamento de Informtica 23

DISEO DE BDD ASIGNACIN (y II)


RESULTADO: ESQUEMA DE ASIGNACIN
Correspondencia sitios - fragmentos de la BD. Si un fragmento se encuentra en ms de un sitio, el fragmento est replicado.

Bases de Datos Avanzadas Departamento de Informtica 24

DISEO DE BDD REPLICACIN (I)


RAZONES PARA REPLICAR:
Mejorar el rendimiento en la recuperacin de consultas globales.

DESVENTAJAS:
Actualizacin de rplicas.

ESTRATEGIAS:
Replicacin total. Asignacin no redundante. Replicacin parcial.
Bases de Datos Avanzadas Departamento de Informtica 25

DISEO DE BDD REPLICACIN (y II)


RESULTADO: ESQUEMA DE REPLICACIN
Descripcin de la replicacin de los fragmentos

ENFOQUES:
Consultas de los datos en mltiples sitios: se replica. Nmero de actualizaciones elevado: no se replica.

Bases de Datos Avanzadas Departamento de Informtica 26

CONTROL SEMNTICO DE LOS DATOS


Requisito del SGBD
Actualizacin en vistas Control de seguridad Control de integridad semntica

Mediante reglas que gestione el SGBD


Si se violan, se rechaza transaccin. Se almacenan en catlogo del sistema Parte distribuida, parte replicada en todos los nodos

Coste elevado en sistemas distribuidos


Bases de Datos Avanzadas Departamento de Informtica 27

PROBLEMAS DE LOS SGBDD


OPTIMIZACIN:
Estrategia global, seguida de optimizacin local en cada sede

PROPAGACIN DE ACTUALIZACIONES EN CASO DE REPLICACIN:


Solucin por medio de copia primaria

GESTIN DE ACTUALIZACIONES QUE INVOLUCREN VARIAS SEDES EN UNA NICA TRANSACCIN:


Protocolo de confirmacin en dos fases

GESTIN DE CONCURRENCIA:
Coste de las tcnicas de bloqueo por el trfico en la red Solucin por copia primaria Aparicin de interbloqueo global (ms de un nodo implicado)

GESTIN DEL DICCIONARIO:


Replicacin y ubicacin
Bases de Datos Avanzadas Departamento de Informtica 28

OPTIMIZACIN DE CONSULTAS
OBJETIVO:
Reducir la cantidad de transferencia de datos por la red Aplicar una estrategia local de optimizacin

EJEMPLO (para la realizacin de estrategia


de optimizacin global):
Empleado (
NSS:char(9) Nombre:char(15) Apellido:char(15) ND:char(4) Direccion:char(57) )

Departamento (
NumeroD:char(4) NombreD:char(10) NSSGTE:char(9) Fecha: char(12))

100 registros (35 bytes)

10.000 registros (100 bytes)


Bases de Datos Avanzadas Departamento de Informtica 29

EJEMPLO (estrategia de optimizacin global)


Nombre, Apellido, NombreD (Empleado Departamento)
Estrategias simples Sede 1 Empleado Sede 2 Departamento Solucin 1: Sede 1 + Sede 2 > Sede3 1.000.000 + 3.500 = 1.003.500 bytes Solucin 2: Sede 1 > Sede 2 Sede 2 > Sede 3 Sede 3 Consulta 1.000.000 + 10.000 reg.* 40 = 1.400.000 bytes Solucin 3: Sede 2 > Sede 1 Sede 1 > Sede 3 3.500 + 10.000 reg.* 40 = 403.500 bytes
Bases de Datos Avanzadas Departamento de Informtica 30

EJEMPLO (estrategia de optimizacin global)


Nombre, A pellido, NombreD (Empleado
NSS

Departamento)
D)

Sede 1 Empleado

Estrategia por semireunin ( E

1. Transferimos la p(Departamento) por NSSGTE a sede1 . F tiene un tamao 100reg.*9 bytes 2. Hacemos la combinacin de F en l sede1. La proyeccin (como estrategia local). Transferimos a la sede 2. R tiene un tamao 100reg.* 39 bytes 3. En total: 900 + 3900 = 4800 bytes
Bases de Datos Avanzadas Departamento de Informtica 31

Sede 2 Departamento Consulta

PROPAGACIN DE ACTUALIZACIONES
En caso de replicacin la propagacin de actualizaciones:
A) PROP. INMEDIATA: Copia instantnea a todas las sedes replicadas B) PROP. DIFERIDA: Copia primaria
B.1) Sede primaria -> resto de las sedes B.2) Sede primaria -> sede siguiente ...

Se gana en autonoma local Aumentan las consistencias temporales


La eliminacin de inconsistencias lleva consigo la prdida de autonoma local
Bases de Datos Avanzadas Departamento de Informtica 32

GESTIN DE ACTUALIZACIONES QUE INVOLUCRAN VARIAS SEDES


TRANSACCIN:
Secuencia de operaciones elementales entre estados consistentes. Se realizan todas o ninguna

Una transaccin debe soportar las siguientes PROPIEDADES:


Atomicidad (todo o nada) Consistencia (preservar las restricciones de integridad) Aislamiento (cambios invisibles hasta la confirmacin) Persistencia (una vez confirmada)

BEGIN TRANSACTION -- COMMIT -- ROLLBACK


Bases de Datos Avanzadas Departamento de Informtica 33

TWO-PHASE COMMIT (2PC) (I)

Protocolo de confirmacin en dos fases

Bases de Datos Avanzadas Departamento de Informtica 34

TWO-PHASE COMMIT (2PC) (y II)

Terminacin con fallo

Bases de Datos Avanzadas Departamento de Informtica 35

CONTROL DE CONCURRENCIA (I)


NUEVOS PROBLEMAS (que no se dan en SGBD Centralizados)
Mltiples copias, consistentes entre s Fallo sitios individuales, operando el resto -> posteriormente se pone al da Fallo enlaces comunicaciones -> bsqueda de rutas alternativas Confirmacin distribuida Interbloqueo distribuido
Bases de Datos Avanzadas Departamento de Informtica 36

CONTROL DE CONCURRENCIA (II)


SOLUCIN: Extensin de las tcnicas utilizadas en BD centralizadas
TCNICAS DE BLOQUEO:
Designar una COPIA DISTINGUIDA: solicitudes de bloqueo y desbloqueo se envan al sitio que contiene la copia distinguida (coordinador)
Sitio primario Sitio primario con sitio de respaldo Copia primaria

MTODO DE VOTACIN
Bases de Datos Avanzadas Departamento de Informtica 37

CONTROL DE CONCURRENCIA (III)


COPIA DISTINGUIDA (I)
Sitio primario
Un nico sitio como coordinador para todos los elementos de la base de datos VENTAJAS:
Simple extensin del enfoque centralizado

DESVENTAJAS:
Todas las solicitudes de bloqueo se envan a un mismo sitio (sobrecarga y cuello de botella) Fallo del sitio primario paraliza el sistema

Bases de Datos Avanzadas Departamento de Informtica 38

CONTROL DE CONCURRENCIA (IV)


COPIA DISTINGUIDA (II)
Sitio primario con sitio de respaldo
Se designa un sitio de respaldo por si ocurre fallo en sitio primario Informacin de bloqueo se mantiene tanto en sitio primario como en sitio de respaldo VENTAJAS:
Simplicidad, basta con elegir un nuevo sitio de respaldo

DESVENTAJAS:
El proceso de adquisicin de bloqueos se hace ms lento Sobrecarga del sitio primario y de respaldo
Bases de Datos Avanzadas Departamento de Informtica 39

CONTROL DE CONCURRENCIA (V)


COPIA DISTINGUIDA (II)
Copia primaria
Copias distinguidas de diferentes elementos de informacin almacenadas en diferentes sitios VENTAJA:
Fallo en un sitio slo afecta a transacciones con bloqueos concedidos en dicho sitio. El resto de las transacciones no resultan afectadas

Bases de Datos Avanzadas Departamento de Informtica 40

CONTROL DE CONCURRENCIA (y VI)


MTODO DE VOTACIN
Solicitudes de bloqueo se envan a todos los sitios con copia del elemento de informacin (no hay copia distinguida) Cada copia puede conceder o rechazar la solicitud Transaccin obtiene bloqueo si mayora de las copias lo conceden Si no recibe mayora de votos de concesin en un tiempo, cancelar su solicitud Mayor complejidad por el nmero de mensajes y los tratamientos de fallo
Bases de Datos Avanzadas Departamento de Informtica 41

GESTIN DE DICCIONARIO
En el diccionario de la BDD se guardar informacin sobre la ubicacin de los datos, sobre los fragmentos de cada relacin y sobre la duplicacin de los datos. Base de datos con metadatos de fragmentacin y replicacin.
Centralizado: global en una nica sede, cuello de botella. Falta de autonoma local Dividido: local en la correspondiente sede, bsqueda no local costosa o bien falta de transparencia Replicado: global en cada sede, muy redundante. Costoso de mantener. Se pierde autonoma local Centralizado/Dividido: global en una nica sede y local en cada sede. Redundancia. Dependencia de una sede central en accesos a la BDD Maestro centralizado y locales en cada sede: Redundancia. Dependencia de una sede central en accesos a la BDD Maestro y locales en cada sede: Cierta redundancia
Bases de Datos Avanzadas Departamento de Informtica 42

BUSCANDO SOLUCIONES
Ante los problemas especficos de las BDD, necesidad de buscar una solucin de compromiso entre:
Minimizar el nmero y el volumen de mensajes Conseguir el mximo de autonoma funcional en los nodos Mantener la integridad de la BDD Lograr la mxima disponibilidad de los datos Proporcionar a los usuarios la mxima transparencia No aumentar demasiado la sobrecarga de los nodos Mantener, a un nivel adecuado, los tiempos de respuesta
Bases de Datos Avanzadas Departamento de Informtica 43

ACTIVIDADES Y DECISIONES RELATIVAS A:


LAS BD LOCALES
Definicin de esquemas lgicos locales Definicin de esquemas externos locales Autorizaciones a usuarios de las BDL y de la BDD en cada sede Esquemas de exportacin ..

LA BDD
Definicin del Esquema Lgico Global SGBD Red de Comunicaciones
Bases de Datos Avanzadas Departamento de Informtica 44

SUPUESTO PRCTICO
DISEO DE UNA BASE DE DATOS DISTRIBUIDA:

CAJA DE AHORROS DE LEGAN LEGANS

Bases de Datos Avanzadas Departamento de Informtica 45

SUPUESTO PRCTICO ENUNCIADO (I)


La Caja de Ahorros de Legans desea disear e implementar una base de datos distribuida para gestionar los empleados, clientes y cuentas de cada una de sus sucursales. Los datos de las diferentes sucursales, incluidos lo de sus empleados, clientes y cuentas que gestiona, estarn almacenados en cuatro localidades dependiendo de la ciudad en la que est ubicada la sucursal. Las localidades de almacenamiento sern: Legans (para sucursales de Legans y Villaverde), Getafe (para sucursales de Getafe y Mstoles), Alcorcn (para sucursales de Alcorcn y Fuenlabrada) y Humanes (para sucursales de Humanes y Parla).

H A
Bases de Datos Avanzadas Departamento de Informtica 46

SUPUESTO PRCTICO ENUNCIADO (II)


La siguiente lista de especificaciones describe los principales requisitos de funcionamiento de la Caja:
Cada sucursal est ubicada en una localidad, se identifica con un cdigo nico, tiene un nombre y un director que es empleado de la Caja. Los empleados de la Caja se identifican mediante un cdigo de empleado que mantendrn mientras trabajen en dicha Caja independientemente de la sucursal a la que estn asignados. La administracin de la Caja almacena para cada empleado el DNI, el nombre, el nmero de telfono, la fecha de comienzo de contrato, el salario y la sucursal en la que trabaja. Cada empleado slo puede estar asignado a una sucursal.
Bases de Datos Avanzadas Departamento de Informtica 47

SUPUESTO PRCTICO ENUNCIADO (III)


La Caja ofrece dos tipos de cuentas: cuentas de ahorro y corrientes. Las cuentas pueden asociarse a ms de un cliente y un cliente puede tener ms de una cuenta. Cada cuenta se identifica por un nmero de cuenta. El banco mantiene para cada cuenta la fecha de su apertura, las fechas en las que la cuenta fue accedida, el tipo de operacin (ingreso o reintegro) y la cantidad que se ingres o se retir. Adems, para cada cuenta de ahorro se almacena un tipo de inters y para cada cuenta corriente un descubierto mximo. Los clientes de la Caja se identifican mediante un cdigo de cliente. La Caja almacena para cada cliente el DNI, el nombre, la ciudad donde reside y los nmeros de cuentas de las que es titular.

Adems, en las sucursales de Legans se elaboran estudios estadsticos acerca de la movilidad de los empleados de La Caja, para lo cual necesitan sus datos de fecha de inicio de contrato y de salario
Bases de Datos Avanzadas Departamento de Informtica 48

SUPUESTO PRCTICO ENUNCIADO (y IV)


Se pide:
Realizar el diseo centralizado puro de la BD
Producto generado: Esquema E/R

Identificar los sitios de distribucin (SEDES)


Producto generado: Tabla de sedes

Analizar qu distribuir (identificacin accesos frecuentes, etc)


Producto generado: ninguno

Fragmentacin
Producto generado: Esquema de fragmentacin

Asignacin de fragmentos a los sitios


Producto generado: Esquema de asignacin

Replicacin
Producto generado: Esquema de replicacin

Justificar las decisiones tomadas en cada paso


Bases de Datos Avanzadas Departamento de Informtica 49