Base de Datos Distribuidas Lic. Hugo D. Ramón Conceptos de Bases de Datos Distribuidas Agenda Conceptos Definiciones Promesas BDD Problematica Justificacion de BDD Requerimientos de Date Arquitectura de un DBMS distribuido (DDBMS) 19/09/06 Conceptos de BDD Conceptos Definiciones Definición La tecnología de base de datos tiene como objetivo la integración no la centralización Definición Distributed Database System (BDD) es una colección de múltiples bases de datos lógicamente relacionadas sobre una red (WAN o LAN). Definición DDBMS es el software que permite la administración BDD y hace la distribución transparente al usuario. 19/09/06 Conceptos de BDD Conceptos Definiciones Computadora Computadora CPU CPU Memoria Memoria BUS O SWITCH Computadora Computadora CPU CPU Memoria Memoria 19/09/06 Conceptos de BDD Conceptos Definiciones LP Proyecto, LP Usuarios, LP Presupuestos JU Proyecto, JU.Usuarios, JU Presupuestos La Plata Junín WAN CA Proyecto, CA Usuarios, CA Presupuestos MA Proyecto, MA Usuarios, MA Presupuestos Capital 19/09/06 Madrid Conceptos de BDD Conceptos Promesas Administración Transparente Independencia de Datos • Importante también centralizada • Inmunidad a los cambios en la definición y organización de los datos • Dos niveles: • Lógico: nivel de esquema • Físico: nivel de estructura 19/09/06 Conceptos de BDD Conceptos Promesas Transparencia de Red Qué necesitamos disponible ? Esconder detalles Distribución • Locación • Naming Transparencia de Replicación Performance Seguridad Disponibilidad Actualización 19/09/06 Conceptos de BDD Conceptos Promesas Transparencia de Fragmentación Veremos como dividir mas adelante Son relaciones Justificacion • Performance • Disponibilidad • Confiabilidad Aspectos negativos de la replicación Querys 19/09/06 Conceptos de BDD Conceptos Promesas Confiabilidad en las transacciones Problemas con fallas Two-phase commit (2PC) Protocolos de recuperación distribuida 19/09/06 Conceptos de BDD Conceptos Promesas Mejora en la performance Localización de los datos • Maneja solo parte de la base • Minimiza delay Paralelismo de los sistemas distribuidos 19/09/06 Conceptos de BDD Conceptos Promesas Expansión del sistema Mejora cuando incrementa el tamaño Agregar • Procesadores • Storage 19/09/06 Conceptos de BDD Conceptos Problemática Distributed Database Design Como distribuidos en los sitio • Datos • Aplicaciones Dos tecnicas para datos • Particionadas • Replicada Soluciones basadas en heuristica 19/09/06 Conceptos de BDD Conceptos Problemática Distributed Query Processing Diseño de algortimos que analizan queries Generan series de expresiones Definen una estrategia de bajo costo Optimizar usando paralelismo Soluciones basadas en heuristica 19/09/06 Conceptos de BDD Conceptos Problemática Distributed Directory Managment Ubicación de los items de datos de base • • • • 19/09/06 El directorio puede ser global al DDBMS Local en cada sitio Centralizado Distribuido en varios sitios Conceptos de BDD Conceptos Problemática Distributed Concurrency Control Sincronización de acceso a la BDD (para qué) • Consistencia de multiples copias Dos formas • Pesimista • Optimista Se utiliza • Locking • Timestamping 19/09/06 Conceptos de BDD Conceptos Problemática Distributed Deadlock Managment Similar al de SO Competencia de acceso a recursos Pasa si usamos locking 19/09/06 Conceptos de BDD Conceptos Problemática Reliability of DDBMS Debemos mejorar la confiabilidad y disponibilidad Asegurar la consistencia Detectar fallas Recuperación Si fallan los sitios puede quedar inaccesible Partición de la red 19/09/06 Conceptos de BDD Conceptos Problemática Heterogeneous Database Distintas formas • de estructurar logicamente los datos • de acceso a los datos Proveer mecanismos de interpretacion (gateway) Multidatabase systems 19/09/06 Conceptos de BDD Conceptos Factores para crearlas Estructura de las empresas • Divisiones • Departamentos • Fábricas Datos con esa estructura (Islas de Información) Conexión de Islas Adquiciones Coorporativas Fusionar empresas (poder en la información) Rol fundamental para la distribución de datos Managers deben incorporar la nueva base en la federativa Problemas de integración 19/09/06 Conceptos de BDD Requerimientos Principio Fundamental Ante el usuario, un sistema distribuido debe lucir exactamente igual que un sistema que no es distribuido Date definió 12 requerimientos ideales 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Autonomía local No depender de un sitio central Operatoria continua Independencia de la localidad Independencia de la fragmentación Independencia de la replicación Procesamiento de consultas distribuidas Transacciones distribuidas Independencia del hardware Independencia del SO Independencia de la red Independencia de la base de datos 19/09/06 Conceptos de BDD Requerimientos Autonomía local Un sitio atiende sus requerimientos locales No depende de ningún otro sitio La administración de los datos es local No depender de un sitio central Todos los sitios son iguales No hay un sitio maestro • • 19/09/06 Cuello de botella Caida del servicio Conceptos de BDD Requerimientos Operatoria continua Sistema Distribuido debe dar • • mayor confiabilidad Mayor disponibilidad Operatoria 7x24 Hot backup Incorporación de nuevos sitio o Act. De la base de datos Independencia de la localidad El usuario final no conoce la localidad física Deben parecer datos locales No hay diferencias de lugares específicos 19/09/06 Conceptos de BDD Requerimientos Independencia de la fragmentación Para almacenar la información Por razones de rendimiento Hay dos tipos: • Horizontal • • • Vertical • Diferentes filas de la misma tabla se almacenan en diferentes sitios Organizaciones con ramificaciones y las mismas tablas Las columnas de la misma tabla se encuetran en sitios diferentes Problemas de disponibilidad (o dependencia) si se cae el nodo. Los usuario deben percibir que no hay fragmentación Permite migracion de datos si invalidar aplicaciones 19/09/06 Conceptos de BDD Requerimientos Independencia de replicación Un fragmento puede estar en diferentes sitios (replicas) Habilidad de crear copias del master en sitios remotos Llamados snapshots pueden contener TODO Pueden replicarse como read-only y refresh definido Problemas de actualización de réplicas Redundancia controlada Procesamiento de consultas distribuidas Es más que ejecutar query sobre más de una base • Optimización • Trafico Se particiona en subquerys SELECT CL.NAME, CL.DIRECCION, ORD.ORDER,ORD.FECHA FORM CLIENTES@LP CL, ORDENES@BA ORD WHERE CL.ID=ORD.ID_CLIENTE 19/09/06 Conceptos de BDD Requerimientos Transacciones Distribuídas Control de la recuperación Control de la concurrencia En muchos sitios • Ejecución de código • Actualización de datos Se implementa con algoritmo two-phase commit • Asegura que todas las bases tienen éxito en los subupdates antes del commit definitivo • Un fallo en una, hace fallar toda la transacción Técnicas que permiter commit parciales 19/09/06 Conceptos de BDD Requerimientos Independencia del Hardware Hago un query y saco información de un • ORIGIN o • IBM o • PC Independencia del SO Hago un query y saco información de un • WIN o • UNX o • MVS 19/09/06 Conceptos de BDD Requerimientos Independencia de la red Los diferentes protocolos no tienen efecto sobre la BDD Soportan multiprocolos • Mundos sincronícos (mainframes IBM) • Mundos asincronicos (UNX) Independencia de la base Recuperar y almacenar de muchas bases y arquitecturas Sistemas heterogeneos 19/09/06 Conceptos de BDD Arquitectura DDBMS Define la estructura del sistema Se definen Componentes Funcion de cada componente Interrelacion de componentes Referencias de Arquitecturas de DDBMS Cliente/Servidor Peer-to-peer database Multidatabase systems 19/09/06 Conceptos de BDD Arquitectura DDBMS Estandares para DBMS Basado en componentes • DBMS consiste de componentes con funcionalidades • En forma ordenada e interacciones bien definidas • CCA/NBS Basado en funciones • • • • • 19/09/06 Se identifican las diferentes clases de usuarios Se definen las funciones para esas clases Esquemas en capas con interfaces bien definidas Claridad con los objetivos ISO/OSI Conceptos de BDD Arquitectura DDBMS Estandares para DBMS Basado en datos • • • • Se identifican diferentes clases de datos (esquemas) Los datos son lo importante (datalogical) Es el preferido ANSI/SPARC architecture • External Schema • Se describe utilizando SQL • Por ejemplo dos vistas (saldo y reporte) • Conceptual Schema • Describe las relaciones con respecto a los atributos y claves • Internal Schema • Se describen aspectos de almacenamiento • Aparecen flags 19/09/06 Conceptos de BDD Arquitectura DDBMS Modelos de arquitecturas Formas de trabajar cooperativamente Organizamos el sistema caracterizando • Autonomia • Distribucion • Heterogeneidad 19/09/06 Conceptos de BDD Arquitectura DDBMS Modelos de arquitecturas Autonomia • Distribución del control • Grado de operación independiente • Requerimientos • Operaciones locales no afectadas por la participacion • Como el DBMS procesa queries y las optimiza no debe ser afectado por queries globales • Consistencia y operación no se compromete por el join o leave de DBMS 19/09/06 Conceptos de BDD Arquitectura DDBMS Distribucion • De los datos en forma fisica • Hay dos formas • Nada • Cliente servidor • Peer-to-peer (Full) 19/09/06 Conceptos de BDD Arquitectura DDBMS Heterogeneidad • Hardware • Protocolos • Data managers • Para nosotros • • • • 19/09/06 Modelos de datos Lenguajes de queries Protocolos de transacciones SQL y QUEL Conceptos de BDD Arquitectura DDBMS Alternativas Arquitecturales (A0,D0,H0) • Logicamente integrados • No son heterogeneos ni hay distribución • Conjunto de DBMS integrados logicamente (A0,D0,H1) • Hay un manager distinto a los otros • Provee vision integrada al usuario (A0,D1,H0) • Hay distribución • Vision integrada • Sistemas clientes/servidor 19/09/06 Conceptos de BDD Arquitectura DDBMS Alternativas Arquitecturales (A0,D2,H0) • • • • • Transparecia al usuario Distribución completa No hay distinción entre cliente y servidores (peer-to-peer) Cada sitio provee la misma funcionalidad Trataremos este caso (A1,D0,H1) • • • • 19/09/06 Federativa heterogenea DBMS con datos estructurados Otro con video o imágenes Para dar una vista integrada debemos ocultar A y H Conceptos de BDD Arquitectura DDBMS Alternativas Arquitecturales (A2,D0,H0) • Autonomia full • No hay conceptos de cooperación • No es una alternativa válida (A2,D0,H1) • Aplicaciones que acceden datos desde mutliples sistemas con diferentes carácteristicas • Idem (A1,D0,H1) (A2,D1,H1) y (A2,D2,H1) • • • • 19/09/06 Similares en la problemática Distributed Multidatabes Systems Arquitecturas de 3 capas (middleware) Peer-to-peer Conceptos de BDD Arquitectura DDBMS Veremos tres de todas las anteriores Client-Server (Ax,D1,Hx) Distributed databases (A0,D2,H0) Multidatabase (A2,Dx,Hy) 19/09/06 Conceptos de BDD Arquitectura DDBMS Cliente/servidor Impacto en los DBMS y el desarrollo Dividimos una necesidad (funcionalidad) en dos • Función Servidor • Función Cliente Arquitectura de dos niveles Nos centramos en que corre en cada maquina En el server • Data management (query, store & transactions) En el cliente • Interface y aplicación • DBMS client 19/09/06 Conceptos de BDD Arquitectura DDBMS Sistema Operativo User Interface Application ... Client DBMS Communication Software Resultados Queries Communication Software Sistema Operativo BD Semantic Data Controller Query Optimizer Transaction Manager Recovery Manager Runtime Support Processor 19/09/06 Conceptos de BDD Arquitectura DDBMS Diferentes tipos • 1 servidor, N clientes • N servidores, M clientes • Heavy client • Light client Los datos se ven iguales 19/09/06 Conceptos de BDD Arquitectura DDBMS Peer-to-peer Foco en la organización de los datos Esto implica diferencias en la organización en las maquinas • Local Internal Schema (LIS) • Definición interna en un sitio • Global Conceptual Schema (GCS) • Estructura lógica de los datos en todos los sitios • Local Conceptual Schema (LCS) • fragmentación • Replicación • External Schemas (ES) • Las aplicaciones • Los usuarios 19/09/06 Conceptos de BDD Arquitectura DDBMS Referencia ES1 ES2 ES3 GCS 19/09/06 LCS1 LCSn LIS1 LISn Conceptos de BDD Arquitectura DDBMS Functional Integrated DDBMS Enterp. ADMIN G_DBA GCS GD /D Internal Schema Proc_1 Transf. Almacen 19/09/06 External Schema Local Data Management Local Data Management L_DBA App Esqm. Concep. Proc_1 LD/ D Int. Concept. Transf. L_DBA Interna Schema Proc_n Transf. Almacen Conceptos de BDD Esqm. Concep. Procn LD/ D Int. Concept. Transf. Arquitectura DDBMS Componentes DDBMS Usuario Respuestas User Processor User Interface Handler Semantic Data Controller Global Query Optimizer Requerimientos Data Processor Local Concept ual Schema Externa l Schem a Global Externa l Schem a System Log Local Internal Schema G D/ D Global Execution Monitor 19/09/06 Conceptos de BDD Local Query Processor Local Recovery Manager Runtime Supprt Processor Arquitectura DDBMS Multi-DBMS (MDBMS) La Diferencias entre MDBMS y DDBMS • es la arquitectura • GCS DDBMS • Integradas • Vista conceptual de toda la BDD • Base global es la union de las BDD locales MDBMS • Solo la colección (DBMS quieren compartir) • Base global es la union de un subconjunto de BDD locales 19/09/06 Conceptos de BDD Arquitectura DDBMS Multi-DBMS (MDBMS) Modelos con GCS • • • • • 19/09/06 Integra los LES y parte de LCS App del LCS no modifican aplicaciones Difiere de DDBMS en como mapea los LCS al GCS GES y GCS no necesitan ser del mismo data model y lenguaje Esto define lo heterogeneo Conceptos de BDD Arquitectura DDBMS con GCS LES1 LES1 LES1 1 2 3 19/09/06 GES GES GES 1 2 3 GCS LESn LESn LESn 1 2 3 LCS1 LCSn LIS1 LISn Conceptos de BDD Arquitectura DDBMS Multi-DBMS (MDBMS) Modelos sin GCS • • • • 19/09/06 No tener GCS es una ventaje de MDBMS sobre DDBMS Presenta la parte local que quieren compartir Puede ser del esquema LCS o LES Si tenemos DBMS distintos LCS pueden ser de distintos modelos Conceptos de BDD Arquitectura DDBMS sin GCS ES1 ES2 ES3 MultipleDatabase Layer Local System Layer 19/09/06 LCS1 LCS2 LCS3 LIS1 LIS2 LIS3 Conceptos de BDD Conclusiones Dos alternitivas de diseño DDBMS MDBMS Aspectos de implementación Arquitecturas abstractas Nos centraremos en DDBMS logicamente integradas 19/09/06 Conceptos de BDD Bibliografia Distributed Database Systems. Bell, D; Grimson J. Addison Wesley, 1992. Principles of Distributed Database Systems. Ozsu, T; Valduriez, P. Prentice Hall, 1991. Managing Distributed Databases. Burleson, D. Wiley, 1994. Distributed and Multidatabase Systems. A. Bobak, Artech House Publichers, 1995. 19/09/06 Conceptos de BDD