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

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

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 . 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 .

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 .UC 7 .

baja el rendimiento Rendimiento: Si una consulta comprende datos de varias sedes.UC 8 . puede ser posible dividir la consulta en varias subconsultas que se ejecuten en paralelo en distintas sedes. 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. pero se evita fallo total aunque Mejora en la fiabilidad y disponibilidad. Facilidad de expansión.

red.UC 9 . Aumento de costes Falta de estándares Las empresas ya tienen sus BD centralizadas Marta Zorrilla . etc. licencias.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.

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

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

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 .

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

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

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

Autonomía local: los sitios de un SD deben ser autónomos en el mayor grado posible. 6.Bases de Datos Distribuidas Reglas de Date Principio fundamental: • Para el usuario un sistema distribuido (SD) debe funcionar igual que si no fuera distribuido. 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. Independencia de localización: para el usuario la localización física de los datos debe ser transparente. 5. 4. 2. No dependencia de un sitio central: Todos los sitios deben ser tratados como iguales. Operación continua: El SD debe aumentar la confiabilidad y la fiabilidad.UC 17 1. Marta Zorrilla . . 3. Independencia de replicación: a nivel lógico los usuarios no necesitan tener en cuenta si los datos tienen réplicas o no.

Independencia de la red: el SD debe poder operar con diferentes redes de comunicaciones. que cada sitio puede funcionar con un SGBD diferente. incluso basado en un modelo de datos diferente. es decir. 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. Independencia del sistema operativo: poder ejecutar el mismo SGBD en sitios con diferentes sistemas operativos. 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. 9.Bases de Datos Distribuidas Reglas de Date 7. 11. 12. siempre y cuando compartan un interfaz común. Independencia del SGBD: Debe permitirse la heterogeneidad. Marta Zorrilla . 8. Independencia del hardware: poder ejecutar el mismo SGBD en sitios con diferentes plataformas hardware. 10.UC 18 .

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. 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 .

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

Ejemplo (frag.UC 21 . 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 .

Ejemplo (frag. 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.UC 22 . DEPT. EXP ( EMP_TABLE) FRAG_2 = π EMP_ID. SALARIO ( EMP_TABLE) Marta Zorrilla . NOMBRE.

UC 23 . Aumenta la complejidad para garantizar la integridad. Los datos se almacenan dónde más se utilizan. 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. Seguridad. Generalmente las aplicaciones trabajan con vistas en vez de con relaciones completas Eficiencia. consistencia y recuperabilidad. Inconveniente: Marta Zorrilla . Las transacciones pueden dividirse en subconsultas que operan con fragmentos.Fragmentación ¿por qué? Ventajas: • • • • • • Utilización. Paralelismo.

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

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 .

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. 2. se añade al final No considera la red (fiabilidad. Ventajas de este método: • • simplicidad no requiere gran cantidad de variables de entrada. velocidad.(frecuencia de estos procesos en cada sede) 3. Construir la matriz de afinidad de cluster. etc.UC . Definir la matriz de uso de atributos (procesos que utilizan esos atributos desde cada sede).) No permite obtener un esquema fragmentado y replicado 26 Marta Zorrilla . • • • 1. Se eligen los atributos que se usan frecuentemente juntos para realizar la fragmentación • Inconvenientes: • • • No considera el efecto del índice (PK). coste.

Pero no hay nada estándar Marta Zorrilla .Métodos para fragmentación FURD (Fragmentación.. 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.UC 27 . Zilio...

UC 28 . 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.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. 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 .

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

Marta Zorrilla .UC 31 . Debe ser completada con operaciones para intercambio de datos entre nodos diferentes. 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.

UC 32 .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. 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 .

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. • Gestionar transacciones distribuidas Marta Zorrilla .UC 33 . Sincronización.

Marta Zorrilla . 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.Transacciones distribuidas Cada sede tiene: • • • • • • Gestor 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.

Extensión del modelo centralizado. 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. Si la mayoría bloquea se informa al resto y prosigue.UC 35 .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.

UC 36 .Protocolo en dos fases Marta Zorrilla .

o cuando ha transcurrido un intervalo de tiempo predeterminado desde su envío. Anota en el fichero de log <T PREPARE> FASE 2 (DECISION) • Cuando Ci recibe la respuesta de todos los nodos. COMMIT si recibe COMMIT de todos los nodos. sino ROLLBACK. Al recibir ese mensaje. 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.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. Ci determina si puede hacer COMMIT o ABORTAR la transacción T.UC . Se anota la situación en log de cada sede. Puede enviar ABORTAR o COMMIT. el gestor de transacciones de cada nodo determina si está dispuesto a comprometer su parte de T (no hace el COMMIT).

UC 38 .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. Se suele resolver con un time-out o esperando a que se recupere. se ha de crear uno global. Más coste y peor rendimiento. La construcción de grafos de precedencia en cada nodo no basta. La información en las sedes puede quedar bloqueada si se inicia en el proceso y luego el Gestor de Transacciones falla. 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. Marta Zorrilla .

UC 39 .Three phase commit Marta Zorrilla .

UC 40 . 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. 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.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.

La marca temporal global única se obtiene concatenando la marca temporal local única con el identificador de nodo. Para generalizar a un entorno distribuido hay que desarrollar un esquema para generar marcas temporales únicas.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. • Esquema centralizado: se escoge un único nodo para • distribuir las marcas temporales Esquema distribuido: cada nodo genera una marca temporal local única. que también debe ser único 41 Marta Zorrilla .UC .

En cada sede. Marta Zorrilla . etc. 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.UC 42 . el gestor de transacciones deberá ser capaz de recuperarse ante fallos leyendo los ficheros de log. es difícil determinar si un nodo está caído.Recuperación distribuida Proceso complejo. si se ha producido pérdida de mensajes.

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

Sign up to vote on this title
UsefulNot useful