ddbms
DESCRIPTION
Base de Datos DistribuidasTRANSCRIPT
DDBMS – MSC 2010
DDBMS
Distributed Data Base Management System
http://moodle.uttecam.edu.mx/ddbms.pdf
DDBMS – MSC 2010
DDBMS
Distributed Data Base Management SystemRené Martínez / Rosalino Santos / José Alberto Rojas
DDBMS – MSC 2010
Contenido
Antecedentes de un DDBMS
Ventajas y Desventajas
Clasificación de los DDBMS
Arquitectura de un DDBMS
Consultas y Transacciones
Mecanismos de Actualización
DDBMS – MSC 2010
Objetivo de la Presentación
Conocer los fundamentos y mecanismos de un DDBMS, así como demostrar su aplicación en un escenario de ejemplo
DDBMS – MSC 2010
DDBMS es un almacén lógicamente relacionado en uno o más sitios físicamente independientes, como si se tratara de un todo, almacenado en un mismo equipo.
¿Qué es un DDBMS?
DDBMS – MSC 2010
Las DDBMS sincronizan todos los datos periódicamente, en algunos casos varios usuarios deben acceder a los mismos datos, garantizando la actualización y eliminación de los datos, estos se reflejan automáticamente en los datos almacenados en el lugar de origen.
DDBMS – MSC 2010
40s
Archivos planos (cobol/Fortran)
1964 DBMS
(Modelos de Datos Red y Jerárquicos)
80s RDBMS/DDBMS
(Lenguajes Orientado a Objetos)
Finales 80s
ORDBMS plataforma OO
OORDBMS
(clases, objetos, métodos)
Evolución de los DBMS
DDBMS – MSC 2010
Porque cada nodo mantiene una completa autonomía, lo único que se encarga el DBMS es de mantener el esquema global que utilizan los usuarios para las consultas y actualizaciones. También utiliza mecanismo avanzados de control de concurrencia, y servicios avanzados de recuperación cuando un nodo falle.
¿Porqué utilizar una base de datos distribuida?
DDBMS – MSC 2010
Número de usuarios
Número de transacciones
Cantidad de datos para almacenar
Consistencia en la información
Presupuesto
Experiencia propia o externa
Consideraciones al elegir un DDBMS
DDBMS – MSC 2010
Usuarios de un Sistema Manejador de Base de Datos Personal del DBA
Usuarios Esporádicos
Programadores de Aplicaciones
DDBMS – MSC 2010
Ventajas de una Base de Datos Distribuida
Compartimiento de datos.
Los usuarios de un nodo son capaces de acceder a los datos de otro nodo.
Autonomía.
Cada nodo tiene cierto grado de control sobre sus datos, en un sistema centralizado, hay un administrador del sistema responsable de los datos a nivel global.
DDBMS – MSC 2010
Disponibilidad
Si en un sistema distribuido falla un nodo, los nodos restantes pueden seguir funcionando.
Rendimiento
Los datos generalmente se ubican cerca del sitio con mayor demanda, también los sistemas trabajan en paralelo, lo cual permite balancear la carga en los servidores.
DDBMS – MSC 2010
Inconvenientes
Coste de desarrollo del software.
La complejidad y la infraestructura necesaria implica que se necesitará una mayor mano de obra.
Mayor probabilidad de errores.
Como los nodos que constituyen el sistema funcionan en paralelo, es más difícil asegurar el funcionamiento correcto de los algoritmos, así como de los procedimientos de recuperación de fallos del sistema.
DDBMS – MSC 2010
Mayor sobrecarga de procesamiento.
El intercambio de mensajes y ejecución de algoritmos para el mantenimiento de la coordinación entre nodos supone una sobrecarga que no se da en los sistemas centralizados.
Complejidad
El diseño de la base de datos se tiene que trabajar tomando en cuenta su naturaleza distribuida, por lo cual no podemos pensar en hacer joins que afecten varios sistemas.
Falta de experiencia
Las bases de datos distribuidas son poco común por lo cual no existe mucho personal con experiencia o conocimientos adecuados.
DDBMS – MSC 2010
Ambientes de Base de datos Distribuida
Homogéneas Heterogéneas
Autónomo
Funcionalidad Completa de SGBDD
Sistema GatewayNo Autónomo
Múltiples Base de Datos Parciales
Federada No Federada
Clasificación
DDBMS – MSC 2010
Arquitectura de un DDBMS (sistema de bases de datos distribuidas) La arquitectura se refiere a los elementos que componen
al Gestor de Base de Datos.
DDBMS – MSC 2010
ExternalSchema
ExternalSchema
GlobalSchema
ComponentSchema
ComponentSchema• • •
LocalSchema
LocalSchema• • •
Arquitectura Esquema Global
FederatedSchema
FederatedSchema
ExportSchema
ComponentSchema
ComponentSchema• • •
LocalSchema
LocalSchema• • •
ExportSchema
ExportSchema
ExternalSchema
ExternalSchema
Arquitectura Federada
ExportSchema
DDBMS – MSC 2010
Consultas y Transacciones
Descomposición
Optimización
DBMS Centralizado
Consulta
DDBMS – MSC 2010
Consulta
Descomposición
Localización de Datos
DBMS Distribuido
Optimización
Optimización Global
DDBMS – MSC 2010
Mecanismos de Actualización
Two Phase Commit• Si una porción de una transacción no puede ser realizada, todos
los cambios hechos en los otros sitios participantes en la transacción serán deshechos para mantener el estado consistente de la base de datos.
• El protocolo requiere que cada procesador de datos (DP) de transacciones registre una entrada, la cual sera mantenida unicamente por el DP, y ser escrita antes que el fragmanto de datos sea actualizado.
• Son necesarios los protocolos DO-UNDO-REDO y write-ahead.
Dos tipos de nodos• Coordinador
• Subordinado
DDBMS – MSC 2010
Fase 1 : Preparación• Coordinador envía un mensaje a los subordinados
• Los subordinados reciben el mensaje ,escriben un registro de transacción usando el protocolo write-ahead y envían un mensaje de confirmación al coordinador
(YES/PREPARED A COMMIT o NO/NOT PREPARED
Fase 2: Commit Final• Se asegura que los subordinados han hecho COMMIT o ABORT
• El coordinador informa un mensaje COMMIT a todos los subordinados y espera por las contestaciones
• Cada subordinado recibe el mensaje y actualiza la base de datos usando el protocolo DO.
• El subpordinado contesta con un COMMITED o un NOT COMMITED al coordinador.
DDBMS – MSC 2010
EJEMPLO PRACTICO
DDBMS – MSC 2010
Ambiente Federado
DDBMS – MSC 2010
Ambiente Global
DDBMS – MSC 2010
DDBMS – MSC 2010
Autoevaluación
¿Qué es una DDBMS?
¿Ventajas y Desventajas?
¿Cómo se clasifican?
¿Qué diferencia existe entre un ambiente Federado y uno de Esquema Global?
¿Cuáles son los nodos que participan en el mecanismo 2 Phase Commit?
DDBMS – MSC 2010
Referencias
Manual de Referencia MySQL Federated
http://dev.mysql.com/doc/refman/5.0/en/federated-storage-engine.html
Manual de Referencia MySQL Cluster
http://www.mysql.com/products/database/cluster/
Overview of Distributed Database Management Systems http://el.mdu.edu.tw/datacos//09412311014A/Lecture03.doc