P. 1
Bases de Datos Distribuidas

Bases de Datos Distribuidas

|Views: 404|Likes:
Publicado porClaudia

More info:

Published by: Claudia on Sep 30, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

04/16/2013

pdf

text

original

Arquitecturas de los Sistemas de Bases de Datos

Marta Zorrilla -Universidad de Cantabria-

Marta Zorrilla - UC

1

Paradigmas Arquitecturales en BD
Arquitectura Centralizada: los datos y las aplicaciones están en una única máquina. Arquitectura Cliente-Servidor: separación del servidor de BD de la aplicación cliente (interfaz y procesamiento). c/s de 2 y 3 niveles. BD Distribuidas: varios servidores de BD usados por la misma aplicación. BD Paralelas: varias unidades de almacenamiento de datos y procesadores operan en paralelo para incrementar el rendimiento. Almacenes de Datos: servidores especializados en la gestión de datos orientados al soporte a la decisión.
Marta Zorrilla - UC 2

Bases de datos distribuidas

Marta Zorrilla -Universidad de Cantabria-

Marta Zorrilla - UC

3

Tabla de contenidos
Introducción a los SGBDD

Diseño de BD distribuidas Catálogo global Procesador de consultas global Gestor de transacciones global Gestores comerciales

• • • • • • •

Definición Ventajas e inconvenientes. Aplicaciones Funciones adicionales de los SGBDD Clasificación de SGBDD 12 reglas de Date Fragmentación Replicación

• •

Técnicas de control de concurrencia Recuperación

Marta Zorrilla - UC

4

• Mario Piattini. Vertical Partitioning Algorithms in Distributed Databases. Connolly y Begg (2005): Sistemas de Bases de Datos. M. P. 22. 25 Elmasri y Navathe (2007): Fundamentos de Sistemas de Bases de Datos. Fernández. Fundamentos de bases de datos. E. Mora. E. 2000 5 Marta Zorrilla . Prentice Hall Cap. Silberschatz. Cap. Lecture Notes in Computer Science 1798.Lecturas recomendadas Básica • M. Advanced database technology and design. 2ª Edition. J. H. Springer-Verlag. cop. Zorrilla. A.UC .1999. 22. 2000. Korth. Corcuera. Tamer Özsu and Patrick Valduriez. Oscar Díaz. 5ª ed. • Artech House. F. Complementaria • Cap. Principles of Distributed • • Database Systems.

empresas distribuidas geográficamente abren una nueva alternativa que permiten tener los datos allí donde se gestionan plantean dificultades en la gestión de transacciones y procesamiento de consultas 6 Marta Zorrilla .Introducción En la actualidad: • • • • • la mayoría de los sistemas de información se encuentran en sistemas centralizados las redes de comunicación son rápidas y con gran capacidad entorno globalizado.UC .

UC 7 .Definición Un sistema de base de datos distribuido consiste en un conjunto de bases de datos lógicamente relacionadas y distribuidas sobre una red de ordenadores. Un SGBD-D es el software que gestiona BDD y suministra mecanismos de acceso que hace la distribución transparente al usuario Marta Zorrilla .

Marta Zorrilla .Ventajas Integración NO centralización: • • • • • Los datos se almacenan donde se gestionan Compartición de los datos pero con control local Se refleja la organización de la empresa Más vulnerables a los fallos. puede ser posible dividir la consulta en varias subconsultas que se ejecuten en paralelo en distintas sedes. pero se evita fallo total aunque Mejora en la fiabilidad y disponibilidad.UC 8 . baja el rendimiento Rendimiento: Si una consulta comprende datos de varias sedes. Facilidad de expansión.

UC 9 .Inconvenientes Solución más compleja: • • • • • Diseño del modelo de datos Coordinación entre sedes Políticas de seguridad Dependencia de más elementos Mantenimiento. red. Aumento de costes Falta de estándares Las empresas ya tienen sus BD centralizadas Marta Zorrilla . etc. licencias.

Marta Zorrilla .Aplicaciones Aerolíneas Gestión de viajes Gestión financiera (sistemas interbanca) Manufactura Cadenas hoteleras Etc.UC 10 .

Información del esquema relacional más información de control para ofrecer la independencia respecto a la localización. fallo en la red. etc.UC . Decidir la estrategia de ejecutar cada “query” sobre la red de la forma más eficiente. Servicios de Seguridad Extendidos.Funciones adicionales de los SGBD-D Un SGBD Distribuidas (SGBDD) amplia la funcionalidad de un SGBD normal con: • • • • • • Servicios de Comunicación Extendidos. • • • Transmitir datos y consultas entre nodos. • • • Acceso a datos de diferentes nodos y mantener la integridad. Procesamiento de Consultas Distribuido. la fragmentación y la réplica. Seguridad de acceso a los datos según privilegios 11 Marta Zorrilla . Servicios de Recuperación Extendidos. Control de Concurrencia y de Transacciones Extendido. Recuperarse ante caídas de un nodo local. Diccionario de Datos Extendido.

Clasificación de SGBDD BD distribuidas BD distribuidas No federadas No federadas (homogéneos) (homogéneos) Federadas Federadas (heterogéneos) (heterogéneos) Ligeramente Ligeramente acoplados acoplados Fuertemente Fuertemente acoplados acoplados Esquema Esquema simple simple Esquema Esquema múltiple múltiple Marta Zorrilla .UC 13 .

indicando cada uno de ellos qué información es accesible globalmente y cómo.) En los heterogéneos.. Marta Zorrilla . la administración se comparte entre los diferentes DBA locales. por lo que cada sede es responsable de mostrar los esquemas externos de su información. En los homogéneos un solo gestor puede ser el administrador de la coordinación (donde se guarda la información..Clasificación de SGBDD (y 2) En la coordinación participan varios gestores iguales (homogéneos) o diferentes (herogéneos o federados). Si existe un esquema global se dice que está fuertemente acoplados sino débilmente. cómo y quién puede acceder a ella.UC 14 .

Export schema Component schema Local schema 15 No en DBMS homogéneos Component schema Local schema Marta Zorrilla .. ...arquitectura ANSI/SPARC Modelo para SGBD federados External schema Global schema Export schema ...... External schema Global schema Export schema Component schema Local schema External schema Sólo uno en single-DBMS Export schema ... ..UC ..

continua operando de forma autónoma y está bajo el control de su admón..Arquitectura ANSI/SPARC Local Schema: Esquema conceptual local. Define la información que puede ser accedida por consultas y transacciones globales Global Schema: uno o varios recogen el modelo del conjunto. etc. Cada esquema local tiene su correspondiente componente. OO. su traducción a un modelo de datos común ya que los modelos involucrados puede ser de distinto tipo (relacional.UC 16 . lo que se comparte. es decir.. External schemas: vista sobre esquema global que contiene la información que un usuario necesita para una aplicación específica Marta Zorrilla .) Export schemas: son los esquemas que los admón. es decir. locales ponen disponibles a la federación. Este podrá tener sus vistas externas pero no se consideran para la federación Component schema. de BD local. A veces se requieren varios porque no es fácil recoger toda la heterogeneidad semántica de los esquemas.

2. Operación continua: El SD debe aumentar la confiabilidad y la fiabilidad. Marta Zorrilla . Independencia de localización: para el usuario la localización física de los datos debe ser transparente. Independencia de replicación: a nivel lógico los usuarios no necesitan tener en cuenta si los datos tienen réplicas o no. No dependencia de un sitio central: Todos los sitios deben ser tratados como iguales. Independencia de fragmentación: los usuarios no necesitan conocer los fragmentos físicos en que está dividida cada colección lógica de datos. No deberían requerirse paradas planificadas. 5.UC 17 1. 4. 3. Autonomía local: los sitios de un SD deben ser autónomos en el mayor grado posible.Bases de Datos Distribuidas Reglas de Date Principio fundamental: • Para el usuario un sistema distribuido (SD) debe funcionar igual que si no fuera distribuido. 6. .

Marta Zorrilla . que cada sitio puede funcionar con un SGBD diferente. Independencia de la red: el SD debe poder operar con diferentes redes de comunicaciones. Gestión de transacciones distribuidas: el SD debe disponer de mecanismos (protocolos) adecuados para el control de concurrencia y la recuperación de transacciones distribuidas. incluso basado en un modelo de datos diferente. Independencia del sistema operativo: poder ejecutar el mismo SGBD en sitios con diferentes sistemas operativos.Bases de Datos Distribuidas Reglas de Date 7. Independencia del hardware: poder ejecutar el mismo SGBD en sitios con diferentes plataformas hardware. 8. 12. 10. 9. es decir. Independencia del SGBD: Debe permitirse la heterogeneidad. 11. Procesamiento de consultas distribuidas: el SD debe disponer de mecanismos para optimizar las consultas y en el especial para reducir la carga de tráfico necesaria.UC 18 . siempre y cuando compartan un interfaz común.

hay que integrarlas para obtener el esquema global • Si no existen. hay que definir el esquema conceptual global y fragmentar y asignar a los nodos Requisitos del Sistema Diseño conceptual Esquema Conceptual global Intervención del usuario Diseño vistas Definición esquemas externos Intervención del usuario Integración de vistas Información de acceso Diseño de la distribución Esquemas conceptuales locales Diseño físico Esquema físico Monitorización y ajustes Marta Zorrilla .UC 19 .Diseño de BD distribuidas Análisis de requisitos Hay que decidir en qué nodos deben residir los datos y las aplicaciones que trabajan con los datos • Si existen ya las bases de datos.

UC . Parcial Vertical.:menos eficiencia en gestión de Replicación Total. • Ventaja: disponibilidad. Mixta transacciones al trabajar con varios frag. rapidez en consultas • Inconv.Diseño de BD distribuidas Fragmentación • • Ventaja: mayor nivel de concurrencia • Inconv. Horizontal.: tiempo extra en actualizaciones 20 Marta Zorrilla .

Ejemplo (frag. Horizontal) TABLA EMPLEADO EMP_ID E1 E2 E3 E4 NOMBRE SANDRA ALFREDO GUILLERMO JUAN DEPT D1 D1 D2 D3 SALARIO 5000000 4000000 8000000 9000000 FRAGMENTO 1 DE LA TABLA EMPLEADO EMP_ID E1 E2 NOMBRE SANDRA ALFREDO DEPT D1 D1 SALARIO 5000000 4000000 FRAGMENTO 2 DE LA TABLA EMPLEADO EMP_ID E3 NOMBRE GUILLERMO DEPT D2 SALARIO 8000000 FRAGMENTO 3 DE LA TABLA EMPLEADO EMP_ID E4 NOMBRE JUAN DEPT D3 SALARIO 9000000 FRAG_1 = σ DEPT=D1 ( EMP_TABLE) FRAG_2 = σ DEPT=D2 ( EMP_TABLE) FRAG_3 = σ DEPT=D3 ( EMP_TABLE) Marta Zorrilla .UC 21 .

SALARIO ( EMP_TABLE) Marta Zorrilla . EXP ( EMP_TABLE) FRAG_2 = π EMP_ID.UC 22 . vertical) TABLA EMPLEADO EMP_ID E1 E2 E3 E4 NOMBRE SANDRA ALFREDO GUILLERMO JUAN DEPT D1 D1 D2 D3 SALARIO 5000000 4000000 8000000 9000000 EXP PROGRAMADOR ANALISTA DISEÑADOR PEON FRAGMENTO 1 DE LA TABLA EMPLEADO EMP_ID E1 E2 E3 E4 NOMBRE SANDRA ALFREDO GUILLERMO JUAN DEPT D1 D1 D2 D3 EXP PROGRAMADOR ANALISTA DISEÑADOR PEON FRAGMENTO 2 DE LA TABLA EMPLEADO EMP_ID E1 E2 E3 E4 EXP PROGRAMADOR ANALISTA DISEÑADOR PEON FRAG_1 = π EMP_ID. NOMBRE. DEPT.Ejemplo (frag.

Fragmentación ¿por qué? Ventajas: • • • • • • Utilización. Inconveniente: Marta Zorrilla . Paralelismo.UC 23 . Los datos no necesarios localmente no se almacenan y se evita su uso por los usuarios no autorizados Consultas más lentas al tener que buscar datos de diferentes fragmentos en distintas sedes. Generalmente las aplicaciones trabajan con vistas en vez de con relaciones completas Eficiencia. consistencia y recuperabilidad. Seguridad. Aumenta la complejidad para garantizar la integridad. Las transacciones pueden dividirse en subconsultas que operan con fragmentos. Los datos se almacenan dónde más se utilizan.

R2. Desacoplamiento • • Si R es descompuesta verticalmente. Reconstrucción • Preservar dependencias Si una relación R es descompuesta en fragmentos R1. su PK debe estar en todos los fragmentos. debe ser posible definir el operador relacional ∂ tal que: R = ∂ Ri. no debe haber otro fragmento Rk (k≠j) que lo contenga Marta Zorrilla .Reglas para la fragmentación Integridad • No pérdida de información Si una relación R es descompuesta en fragmentos R1.Rn. …. R2. ∀Ri ∈ Fr El operador ∂ diferirá según el tipo de fragmentación realizada. … Rn cada dato que pueda ser encontrado en R también debe ser encontrado en una o más relaciones Ri’s. Si R es decompuesta horizontalmente en fragmentos R1. Rn y el dato di está en Rj.UC 24 . ….

Marta Zorrilla .Fragmentación y Asignación Con el fin de realizar una fragmentación adecuada es necesario trabajar con la siguiente información: • • • • • • Sobre el significado de los datos Sobre las aplicaciones que los usan Acerca de la red de comunicaciones La elección de los sitios y el grado de repetición de los datos dependerá: del rendimiento que se quiera obtener del sistema del grado de disponibilidad de los datos que se desee y del tipo y frecuencia de las transacciones en cada nodo.UC 25 .

se añade al final No considera la red (fiabilidad. 2. • • • 1. Construir la matriz de afinidad de cluster. Se eligen los atributos que se usan frecuentemente juntos para realizar la fragmentación • Inconvenientes: • • • No considera el efecto del índice (PK). Definir la matriz de uso de atributos (procesos que utilizan esos atributos desde cada sede). coste.Métodos para fragmentación Navathe (80’s) • • Método de fragmentación vertical cuyo fin es crear fragmentos minimizando el número de operaciones de unión que han de realizarse.(frecuencia de estos procesos en cada sede) 3.) No permite obtener un esquema fragmentado y replicado 26 Marta Zorrilla . velocidad.UC . Ventajas de este método: • • simplicidad no requiere gran cantidad de variables de entrada. etc.

Ubicación y Reubicación Dinámica de Datos) (2005) • min + Minimizar la función objetivo : coste escritura coste actualización z = ∑∑ f kj ∑∑ qkj lkm c ji w jmi + k j ji m i ∑∑ f ' ∑∑ q' kj k j m i kj l 'k c ji xmi ∑∑∑ c j m i d mi w' jmi + ∑∑ C A b i m i m mi x coste de replicación almacenamiento Otras propuestas por Agrawal. Zilio. etc.UC 27 . Pero no hay nada estándar Marta Zorrilla .Métodos para fragmentación FURD (Fragmentación....

y con 0 en caso contrario lkm = número de paquetes de comunicación requeridos para transportar el atributo m requerido por la consulta k cjt = costo de comunicación entre el nodo j y el nodo t xmt = variable de decisión igual a 1 si el atributo m se almacena en el nodo t.UC 28 . y 0 en caso contrario amj = parámetro que indica con 1 si el atributo m se encuentra almacenada actualmente en el nodo j dm = número de paquetes de comunicación necesarios para cambiar a otro nodo la ubicación del atributo m Marta Zorrilla .Método FURD fkj = frecuencia de acceso de la consulta k desde el nodo j qkm = parámetro que indica con 1 si la consulta k usa el atributo m.

En cada nodo se almacena la información necesaria para el nodo. En un único nodo Totalmente repetido.UC 30 . • En general. En cada nodo Distribuido. combinación de a y c.¿Donde almacenar el catálogo global? Centralizado. Marta Zorrilla .

Marta Zorrilla . El LQP es el responsable de ejecutar las subconsultas indicadas por GQP El álgebra relacional no es suficiente para expresar la ejecución de estrategias.Procesador global de consultas (GQP) El objetivo es procesar las consultas globales para lo cual debe elegir a qué sede solicita las subconsultas y recoger los datos devueltos por todas las fuentes. Debe ser completada con operaciones para intercambio de datos entre nodos diferentes.UC 31 .

Regla: Seleccionar el nodo que envía la mayor cantidad de datos al nodo de operación como lugar para ejecutar la misma Marta Zorrilla .Procesador global de consultas (GQP) (y 2) Crear planes de ejecución: • • • • • • Traducir la consulta global a los esquemas exportados y de ahí al lenguaje propio del gestor Coste de ejecución en cada sede (estadísticas) Coste de transferencia (volumen de datos/BW) Coste de la combinación de resultados Seleccionar el de menor coste Objetivo más extendido: Minimizar los costos de comunicación.UC 32 .

UC 33 . • Gestionar transacciones distribuidas Marta Zorrilla .Gestor de transacciones global Su papel es: • Mantener la consistencia en múltiples réplicas • Recuperarse ante fallos propios (de la sede) o debidos a la red. Sincronización.

Transacciones distribuidas Cada sede tiene: • • • • • • Gestor de transacciones. Administra la ejecución de las transacciones ( o subtransacciones) que acceden a datos de esa sede (puede ser una local o parte de una global) Coordinador de transacciones.UC 34 . Coordina la ejecución de las diferentes transacciones iniciadas en esa sede (locales o globales) El Gestor de transacciones se encarga de: Mantener un “log” para la recuperación Participar en un esquema de control de concurrencia apropiado para coordinar la ejecución concurrente de las transacciones que se ejecuten en esa sede El coordinador de transacciones debe: Iniciar la ejecución de la transacción Dividir la transacción para enviar a las sedes correspondientes para su ejecución (subtransacciones) • Coordinar el fin de la transacción. ya sea que quede ejecutada o se aborte. Marta Zorrilla .

UC 35 . Si la mayoría bloquea se informa al resto y prosigue.Técnicas control de concurrencia distribuido Control de concurrencia distribuido basado en una copia distinguida de cada elemento de información • Existe una copia de cada elemento de información como copia distinguida en una sola sede (generalmente el coordinador de transacciones) y este se encarga del bloqueo y desbloqueo. Protocolos: two-phase commit y three –phase commit Marta Zorrilla . Confirmación distribuida (distributed commit) • • Se solicita bloqueo a todas las sedes con réplica del elemento y cada sede realiza el bloqueo y decide si da permiso o no. Extensión del modelo centralizado.

UC 36 .Protocolo en dos fases Marta Zorrilla .

sino ROLLBACK. Se anota la situación en log de cada sede. Al recibir ese mensaje. el gestor de transacciones de cada nodo determina si está dispuesto a comprometer su parte de T (no hace el COMMIT). COMMIT si recibe COMMIT de todos los nodos.UC . Ci determina si puede hacer COMMIT o ABORTAR la transacción T.Protocolo en dos fases (y 2) FASE 1(VOTACION) • El coordinador de transacciones del nodo Ci envía un mensaje a todos los nodos donde se ejecuta T. o cuando ha transcurrido un intervalo de tiempo predeterminado desde su envío. 37 Marta Zorrilla . Una vez tomada la decisión Ci envía un mensaje a todos los nodos participantes para que ejecuten el COMMIT o el ROLLBACK. Puede enviar ABORTAR o COMMIT. Anota en el fichero de log <T PREPARE> FASE 2 (DECISION) • Cuando Ci recibe la respuesta de todos los nodos.

UC 38 . Marta Zorrilla . La construcción de grafos de precedencia en cada nodo no basta. Exitosamente implementado en Oracle y Sybase 3 phase commit resuelve el problema del bloqueo porque añade una fase intermedia en la que se obtiene y distribuye el resultado del voto antes de enviar el comando COMMIT. Se suele resolver con un time-out o esperando a que se recupere. se ha de crear uno global.Problemas en 2PC (y 3) Funciona bien si no falla ningún servidor ni hay problemas de red (pérdida de mensajes). Pueden ocurrir bloqueos entre varios nodos. La información en las sedes puede quedar bloqueada si se inicia en el proceso y luego el Gestor de Transacciones falla. Más coste y peor rendimiento.

UC 39 .Three phase commit Marta Zorrilla .

Técnicas control de concurrencia distribuido Control de Concurrencia Distribuido basado en Votación • • • No existe copia distinguida Cada copia mantiene su propia reserva y puede conceder o rechazar la solicitud.UC 40 . cancelará su solicitud e informará de ello a todos los sitios. Trafico alto de mensajes Marta Zorrilla . Si la mayoría de las copias otorgan una reserva a la transacción que lo solicita. Si una transacción no recibe la mayoría de los votos de concesión de la reserva durante un cierto periodo de tiempo predefinido. ésta poseerá la reserva e informará a todas las copias que le ha sido concedido.

La marca temporal global única se obtiene concatenando la marca temporal local única con el identificador de nodo. • Esquema centralizado: se escoge un único nodo para • distribuir las marcas temporales Esquema distribuido: cada nodo genera una marca temporal local única.UC . Para generalizar a un entorno distribuido hay que desarrollar un esquema para generar marcas temporales únicas. que también debe ser único 41 Marta Zorrilla .Técnicas control de concurrencia distribuido Marcas temporales • • Idea en los sistemas centralizados: se da a cada transacción una marca temporal única que el sistema utiliza para decidir el orden de secuenciación.

etc. En cada sede. si se ha producido pérdida de mensajes.Recuperación distribuida Proceso complejo. Marta Zorrilla . La gestión de la recuperación se dificulta con los protocolos distribuidos como 2PC y 3PC ya que deberán ser capaces de conectarse a otras sedes para saber qué acciones se tomaron en transacciones en las que ellos fallaron. es difícil determinar si un nodo está caído.UC 42 . el gestor de transacciones deberá ser capaz de recuperarse ante fallos leyendo los ficheros de log.

Proporciona soporte completo a transacciones distribuidas con compromiso en 2 fases. DB2 Replication (gestión de réplicas). Integra tablas db2 remotas o tablas de otros gestores en un esquema DB2 global distribuido. Transacciones distribuidas con compromiso en 2 fases. Dispone de Servidor de transacciones distribuidas (versión empresarial). más bien replicación. La edición federada proporciona una optimización de consultas basada en costes entre los sitios. Réplica (“instantáneas” con actualización síncronas o asíncronas) Consultas distribuidas mediante Dblinks. réplica y búsqueda. 43 Marta Zorrilla . Puede actuar como coordinador y como participante. DB2 Information Integrator que proporciona soporte para la federación. Las consultas y actualizaciones se hace mediante vistas. Permite las consultas distribuidas por medio del uso de servidores vinculados (OLEDB). transaccional.UC .Mercado comercial No hay fragmentación real. SQL Server 2005 y 2008 Oracle • • • • • • • • • • Réplicas “publicador-suscriptor-distribuidor” (snapshot. procedimientos almacenados y disparadores apoyándose en interfaz OLE-DB. mezcla).

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->