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