Fundamentos de Bases de Datos Distribuidas

Anuncio
Fundamentos de Bases de Datos
Distribuidas
TEMA VII
© Grupo de Bases de Datos Avanzadas – Univ. Carlos III de Madrid
Índice
VII.1 Introducción
VII.2 Definición de Base de Datos Distribuida
VII.3 Sistema Gestor de Bases de Datos
Distribuidas
VII.4 Tipos
i
de
d SGBDDs
VII.5 Problemas de los SGBDDs
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.2
1
Fundamentos de
Bases de Datos
Distribuidas
Introducción
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Evolución de las Bases de Datos
BD Centralizadas
Sistemas
Cliente/Servidor
BD Distribuidas
TEMA VII
FBD3 VII.3
Fundamentos de
Bases de Datos
Distribuidas
Introducción
‰ Evitar la sobrecarga de trabajo en servidores (cuellos de
botella)
‰ Se trata de varias BD almacenadas en diferentes nodos
que:
€ forman una única BD lógica
€ cooperan ejecutando consultas o transacciones globales
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Motivación
FBD3 VII.4
2
Definición de Base de
Datos Distribuida
Colección de múltiples bases de datos,
datos
lógicamente interrelacionadas (integradas),
distribuidas sobre una red de ordenadores.
INTEGRACIÓN
Ó + DISTRIBUCIÓN
Ó
TEMA VII
FBD3 VII.5
Definición de Base de
Datos Distribuida
Integración
‰ Problemas derivados al desarrollar bases de datos
independientes:
• Datos redundantes
• Inconsistencia en datos
• SGBD distintos
• Dificultad interoperatividad
• Plataformas variadas
• Aislamiento grupos usuarios
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.6
3
Fundamentos de
Bases de Datos
Distribuidas
Definición de Base de
Datos Distribuida
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Distribución
‰ Finalidad:
€ Compartición de datos
€ Optimización de datos
z Respecto a su disponibilidad
z Respecto a su localización
TEMA VII
FBD3 VII.7
Definición de Base de
Datos Distribuida
Requisitos de una BD Distribuida
1) Integración lógica de datos (un único esquema global
común)
2) Almacenamiento físico distribuido en sedes
3) Acceso común (interfaz)
€ todos los usuarios pueden acceder a todos los datos (locales o
remotos)
€ en una única operación se puede acceder a datos de varias
sedes
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
E.d. un único esquema y varios nodos de almacenamiento
TEMA VII
FBD3 VII.8
4
Definición de Base de
Datos Distribuida
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
Componentes
‰ Bases de Datos Locales (BD local)
‰ Diccionario de datos global
‰ Procesador de Aplicaciones Distribuidas (SGBDD)
‰ SW y Red de comunicaciones
TEMA VII
Definición de Base de
Datos Distribuida
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.9
Imagen tomada de [1]
TEMA VII
FBD3 VII.10
5
Fundamentos de
Bases de Datos
Distribuidas
Definición de Base de
Datos Distribuida
. Réplica
. Fragmentación
. Réplica y Fragmentación
En el diccionario de la BDD se guardará información sobre la
ubicación de los datos, sobre los fragmentos de cada relación y
sobre la duplicación de los datos.
TEMA VII
FBD3 VII.11
Fundamentos de
Bases de Datos
Distribuidas
Definición de Base de
Datos Distribuida
O
Organizativas/Políticas:
i ti
/P líti
. Adaptación a la organización de la institución - unión de
compañías /
descentralización
. Almacenar los datos donde son generados y/o usados
. Proporcionar autonomía local
Económicas:
. Coste
Técnicas:
. Flexibilidad
.
.
.
.
.
Disponibilidad
Modularidad
Mejora del rendimiento
Crecimiento incremental
Acceso concurrente
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
VENTAJAS
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
ENFOQUES PARA EL ALMACENAMIENTO DISTRIBUIDO DE LOS
DATOS
FBD3 VII.12
6
Fundamentos de
Bases de Datos
Distribuidas
Definición de Base de
Datos Distribuida
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
INCONVENIENTES
. Co
Complejidad
p ej dad de
del sistema
s ste a
. Distribución del control - Problemas de Sincronización y
Comunicación . Dependencia de la red de comunicaciones
. Dificultad de diseño
productos comerciales
. Poca madurez de los p
. Funciones de administración compleja
. Dificultad de cambio
. Personal especializado
TEMA VII
Sistema Gestor de Bases de
Datos Distribuidas
Definición
Producto software capaz de gestionar una BDD,
suministrando mecanismos de acceso que
hacen transparente la distribución
‰ Objetivos:
€ Transparencia de red
€ Transparencia de fragmentación
€ Transparencia de réplicas
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.13
FBD3 VII.14
7
Tipos de SGBDDs
‰ Según
g
el g
grado de homogeneidad
g
de los SGBD locales:
€ SGBDD homogéneos: todos los SGBD locales son
iguales
€ SGBDD heterogéneos: los SGBD locales son distintos
‰ Según el grado de distribución:
€ Datos Distribuidos
€ Datos Centralizados
TEMA VII
FBD3 VII.15
Tipos de SGBDDs
‰ Según el grado de autonomía:
€ Sistemas Compuestos (Estrechamente
Integrados): ninguna autonomía funcional en SGBD
local. Todo acceso a través del SGBDD.
€ Sistemas Federados (Semiautónomos): SGBD
locales autónomos, permite acceso a través del SGBDD a
partes de su BD.
€ Sistemas Multi-Base de Datos (Autonomía Total):
SGBD locales autónomos e independientes.
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.16
8
Fundamentos de
Bases de Datos
Distribuidas
Sistemas
Federados
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Sistemas
Compuestos
Tipos de SGBDDs
Sistemas
MultiBase
Imagen tomada de [4]
TEMA VII
Problemas de los SGBDD
1. Diseño Distribuido de BD:
€ Particionamiento y Replicación. Fragmentación y Distribución.
2. Procesamiento de Consultas y Optimización:
€ Estrategia global, seguida de optimización local en cada sede
3. Propagación de actualizaciones en caso de
replicación:
€ Solución por medio de copia primaria
4. Gestión de actualizaciones que involucren varias
sedes en una única transacción:
€ Protocolo de confirmación en dos fases
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.17
FBD3 VII.18
9
Problemas de los SGBDD
5. Gestión de concurrencia:
 C
Coste
t d
de las
l técnicas
té i
de
d bloqueo
bl
por ell tráfico
t áfi en la
l red.
d
Solución por copia primaria
 Aparición de interbloqueo global - más de un nodo implicado -
6. Recuperación de fallos:
€ Reconfiguración y Recuperación (Sincronización). Archivo de
log.
7 Integridad:
7.
€ Restricciones locales y globales.
8. Seguridad:
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
€ Usuarios y Sistemas Remotos.
TEMA VII
Problemas de los SGBDD
Procesamiento y optimización de consultas
‰ Objetivo:
€ Reducir la cantidad de transferencia de datos por la red
€ Aplicar una estrategia global de optimización
z Realizar
R li
los
l joins
j i de
d manera óptima
ó ti
z Tratar la consulta a alto nivel
z Localizar datos y distribuir operaciones entre las distintas
sedes
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.19
FBD3 VII.20
10
Problemas de los SGBDD
Procesamiento y optimización de consultas
Consulta en SQL
Nodo de Control
ƒ Optimización global
ƒ Expresión de la consulta
en álgebra de fragmentos
Nodo Local 1
ƒ Optimización local
Nodo Local n
ƒ Optimización local
TEMA VII
FBD3 VII.21
Problemas de los SGBDD
Ejemplo de optimización de consultas
EMPLEADO
(10.000 registros)
DEPARTAMENTO
(100 registros)
EMPLEADO (nss: char(9), nombre:char(15), apellido:char(15), nd:char(4),
dirección:char(57))
DEPARTAMENTO (numeroD:char(4), nombreD:char(10), nssgte:char(9),
fecha:char(12))
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.22
11
Problemas de los SGBDD
Ejemplo de optimización de consultas
(E l d θ Departamento)
D
t
t )
∏ Nombre, Apellido, NombreD (Empleado
Estrategias simples
Sede 1
Empleado
Sede 2
Departamento
Solución 1: Sede 1 + Sede 2 > Sede3
1.000.000 + 3.500 = 1.003.500 bytes
Solución 2: Sede 1 > Sede 2
Sede 2 > Sede 3
Sede 3
Consulta
1.000.000 + 10.000 reg.* 40 = 1.400.000
bytes
Solución 3: Sede 2 > Sede 1
Sede 1 > Sede 3
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
3.500 + 10.000 reg.* 40 = 403.500 bytes
TEMA VII
Problemas de los SGBDD
Propagación de actualizaciones en caso de
replicación
a) Replicación inmediata: copia instantánea a todas las
sedes replicadas
b) Copia primaria: propagación diferida
primaria --> resto sedes
b.1)) sede p
b.2) sede primaria --> sede siguiente --> ...
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.23
FBD3 VII.24
12
Problemas de los SGBDD
Actualizaciones que involucren varias sedes en
una única transacción
‰ Transacción: Unidad fundamental de recuperación,
consistencia y concurrencia.
z Conjunto de operaciones primarias
z No se puede dividir
p
de las transacciones
‰ Propiedades
z Atomicidad (A) (todo o nada)
z Consistencia (C) (conservar la integridad)
z Aislamiento (I) (cambios invisibles hasta confirmación)
z Persistencia (D) (Una vez confirmada)
TEMA VII
FBD3 VII.25
Problemas de los SGBDD
Actualizaciones que involucren varias sedes en
una única transacción
‰ Protocolo CONFIRMACIÓN EN DOS FASES (TwoPhase-Commit)
€ Sincroniza la actuación de gestores de recursos
independientes dentro de una única Transacción.
€ El coordinador centraliza la decisión de confirmar, pero
da a cada participante derecho de veto sobre toda la
operación.
z Fase de Consulta.
z Fase de Confirmación
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.26
13
Problemas de los SGBDD
2PC FASE I: Consulta
Coordinador
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
Sede 1
¿ready?
OK
Sede 2
Sede 3
2PC FASE II: Confirmación
S d 1
Sede
Coordinador
Sede 2
Sede 3
TEMA VII
FBD3 VII.27
Problemas de los SGBDD
2 PC FASE I: Consulta
Coordinador
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
Sede 1
¿ready?
OK
Sede 2
Sede 3
2PC FASE II: Confirmación
S d 1
Sede
Coordinador
Sede 2
Sede 3
TEMA VII
FBD3 VII.28
14
Problemas de los SGBDD
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
Gestión de Concurrencia
‰ Nuevos problemas:
€ Múltiples copias
€ Fallos en
z Sedes
z Red
R d comunicación
i ió
€ Confirmación distribuida
€ Interbloqueo distribuido
TEMA VII
FBD3 VII.29
Problemas de los SGBDD
Procesos Gestión Concurrencia
‰ COPIA DISTINGUIDA
€ SEDE PRIMARIA: sólo un coordinador para todas las sedes
€ SEDE PRIMARIA CON SEDE DE RESPALDO: se designa una
sede de respaldo para la sede primaria
€ COPIA PRIMARIA: copias de datos distinguidas almacenadas
en distintas sedes
‰ VOTACIÓN
€ Las solicitudes de bloqueo se envían a todas las sedes que
participan. Si la mayoría aceptan la transacción, se realiza.
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.30
15
Problemas de los SGBDD
Recuperación ante fallos
‰ Tipos de fallos:
€ En una sede --> protocolos de confirmación en 3 fases
€ Pérdida de mensaje --> uso de protocolos de transmisión fiables
(TCP)
€ Fallo de enlace de comunicación: transmisión reiterada sin ack
para distinguirlo --> ruta alternativa
€ Segmentación de la red (no existe ruta alternativa)
TEMA VII
FBD3 VII.31
Problemas de los SGBDD
Integridad
‰ Problemas de integridad más intensos en SGBDD
 Inconsistencia entre las Restricciones Locales
 Dificultad en especificar las Restricciones Globales
 Inconsistencia entre las Restricciones Locales y las
Globales
TEMA VII
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.32
16
Problemas de los SGBDD
Seguridad
‰ Confianza en los usuarios, en la red y en los sitios remotos
‰ Identificación y Autenticación Remotas
 A nivel de usuarios
 A nivel de nodos
‰ Distribución de las reglas de autorización
‰ Encriptación
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
‰ Mecanismos de vistas globales
TEMA VII
Bibliografía
1. Miguel,
g , A. De,, Piattini,, M. Fundamentos y modelos de
Bases de Datos, Ed. Rama 1999
2. Miguel, A. De, Piattini, M. y Marcos, E. Diseño de Bases
de Datos Relacionales, Ed. Rama 1999
3. Miguel, A. De, Martínez, P., Castro, E., Cavero, J.M.,
Cuadra, D., Iglesias, A.M. y Nieto, C. Diseño de Bases de
Datos. Problemas Resueltos, Ed. Rama, 2001
4. Oszu, M.T. y Valduriez, P., Principles of Distributed
database systems, 2ª Edición, Prentice Hall, 1999
Tema I
© Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid
Fundamentos de
Bases de Datos
Distribuidas
FBD3 VII.33
FBD3 VII.34
17
Descargar