Bases de Datos Distribuidas. Carlos A. Olarte BDII

Documentos relacionados
CAPITULO 6. Control de Concurrencia y Recuperación

Sistema de Recuperación. Carlos A. Olarte BDII

Arquitecturas de Bases de Datos. Carlos A. Olarte BDII

Elementos de Bases de Datos. Serializabilidad en Bases de Datos Distribuidas. Protocolo de Bloqueo de Dos Fases. Protocolo de Compromiso de 2 Fases

El Sistema Gestor de Base de Datos (DBMS)

Vicente Toledo Israel Miralles. Base de Datos Distribuidas

TÍTULO: BASES DE DATOS Disponibilidad Objetivos 5 Definicion de una base de datos 9 Datos de nomina (tabla) 9 Esquema de bases de datos (mapa

Bases de datos distribuidas Fernando Berzal,

Fundamentos de Bases de Datos Distribuidas

UNIDAD V BASES DE DATOS DISTRIBUIDAS

Introducción. Bases de Datos Distribuidas. Características de las BDD. Introducción (II) Tema VI. Sitio BDD. BD local

Diseño arquitectónico 1ª edición (2002)

Top-Down Network Design. Tema 9

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas

Alta Disponibilidad en SQL Server: AlwaysOn

Unidad 8. Bases de Datos en el Modelo Cliente Servidor

RAID CLASES O TIPOS. RAID 0 unión de discos físicos en paralelo.

Cristian Blanco

Procedimientos de recuperación

Bases de Datos Distribuidas

TEMA 4 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ

Herramientas Informáticas I Software: Sistemas Operativos

Arquitecturas de los Sistemas de Bases de Datos

Lusitania. Pensando en Paralelo. César Gómez Martín

Sistemas Distribuidos: Migración de Procesos

GRADO EN INGENIERÍA INFORMÁTICA

Tema 2 Introducción a la Programación en C.

Sistemas operativos. Tema 10: Sistemas de ficheros

1.4.1 Inicio de la computadora por primera vez Hay problemas Causas, síntomas y soluciones a posibles averías...

Control de Concurrencia

Ventajas, Características y Aplicaciones de los SGBD Distribuidos.

UNIVERSIDAD TECNOLOGICA DE HERMOSILLO TSU EN INFORMÁTICA MATERIA: BASES DE DATOS II AUTOR: M. C. Carlos Alfonso Gámez Carrillo

Arquitectura de sistema de alta disponibilidad

TEMA 9: DIAGRAMA DE OBJETOS, SECUENCIA Y DESPLIEGUE EN UML

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché

Soluciones de administración de clientes e impresión móvil

GESTION DE TRANSACCIONES

Grandes de Bases de Datos. Alta disponibilidad Envío de bitácoras

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

1. Almacenamiento redundante

GESTIÓN DE BASES DE DATOS

Procedimientos iniciales

Sistemas de Información Introducción a los Sistemas de Información: El Modelo Cliente/Servidor

Redes y Servicios. Módulo I. Fundamentos y modelos de red. Tema 2. Fundamentos. Parte B. Nivel de enlace

Biblioteca Nacional. Susib) Usuario DIBAM. una base de usuarios para todo el país

24.3. BASES DE DATOS EN MEMORI A P RI NC I P AL

Administración de Bases de Datos

Bases de Datos Especializadas

16/03/2008. Taller de Redes. Héctor Abarca A. Introducción a las LAN Ethernet/ Profesor: Héctor Abarca A.

OBRAS online. seguimiento de obras

Monitorización de la calidad de señal en redes móviles basada en Android

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES. SERIE X: REDES DE DATOS Y COMUNICACIÓN ENTRE SISTEMAS ABIERTOS Seguridad

Ordenador local + Servidor Remoto

El Modelo. Aplicación. Presentación. Sesión. Transporte. Red. Enlace. Físico

CAPÍTULO 3. Bases de datos distribuidas

Curso Implementing and Managing Microsoft Server Virtualization (10215)

Mensajes instantáneos Nokia N76-1

Modelo Cliente / Servidor. Gerardo Grinman 5D

Afinación y Rendimiento de Bases de Datos

SUBMÓDULO DE DISTRIBUCIÓN DE PLANTA DE PERSONAL

Microsoft SQL Server 2008 Instalación y Configuración

Nombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4

LENGUAJES DE DEFINICIÓN Y MODIFICACIÓN DE DATOS SQL 60h

Oracle Database 12c: Taller de Copia de Seguridad y Recuperación ed 2

INDICE Capitulo 1. Introducción Capitulo 2. Modelo entidad relación Capitulo 3. Modelo Relacional Capitulo 4. Lenguajes relacionados comerciales

MANUAL DE ACTUALIZACIÓN DE CONSOLIDACIÓN

Virtualización Open Source. Virtulización basado en Linux para escritorios y servidores con compatibilidad para Microsoft Windows

Aspectos Básicos de Networking

Recuperación de Fallos del Sistema

4.2 Servicio de exploración de E/S

Diseño del Sistema de Información

Diseño del Sistema de Información

Reparación de objetos simples

TOLERANCIA A FALLAS Y RECUPERACIÓN

Experiencia 2. Laboratorio de Redes 2010, UTFSM. Valparaíso, 25 de marzo de 2011

UNIDAD 1: FUNDAMENTACIÓN DE LAS TIC ADMINISTRACIÓN DE OFFICE 365

Unidad 4. Método electrónico para el procesamiento de transacciones financieras

ÍNDICE CAPÍTULO 1. TIPOS DE ALMACENAMIENTO DE LA INFORMACIÓN... 13

Caso Southwest Airlines

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

MCTS Exchange Server 2010 Administración. Fabricante: Microsoft Grupo: Servidores Subgrupo: Microsoft Exchange Server 2010

Tipos de Arquitecturas usadas en MMOG

CAPÍTULO 3 REQUERIMIENTOS Y CASOS DE USO

Señalización Sigtran. Ing. Juan Vanerio

MANUAL DE POLÍTICA CONTROL DE LICENCIAS DE SOFTWARE

SISTEMAS OPERATIVOS Y TCP/IP. - El Modelo de Referencia TCP/IP -

Área: Microsoft SQL. Nombre del curso. Administración de Microsoft SQL Server 2014 Bases de datos


BASES DE DATOS TEMA 5 RECUPERACIÓN DE FALLAS

Figura 1: Abriendo el Performance Monitor Figura 2: Pantalla Inicial del Monitor

Proceso de Informática y Sistemas Código IN-IS-05. Instructivo de Backup Servidor de Correo Electrónico Versión 2. Resolución de Aprobación N 205

Resolución de Nombres de Dominio, creación de los mismos y Empresas proveedoras de servicios de internet.

PROCEDIMIENTO DE COPIAS DE SEGURIDAD CÓDIGO: S-P-09

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

Bases de Datos Especializadas

Programa de la asignatura Curso: 2008 / 2009 ADMINISTRACIÓN DE BASES DE DATOS (1311)

Memoria Cache. Departamento de Arquitectura de Computadores

Depuración de Objetos de Base de Datos Oracle

SISTEMAS DE RECUPERACIÓN

Diagramas de interacción

Transcripción:

Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Contenido 1 Introducción 2 Fragmentación de Datos 3 Transparencia de Red 4 Transacciones Distribuidas 5 Control de Concurrencia

Introducción Por que distribuir los datos? Ventajas frente a un sistema centralizado Problemas de los datos distribuidos Aplicaciones Ejemplo

Cómo almacenar los datos? Replicación: Copias idénticas de la relación en varios emplazamientos Fragmentación: División de los datos en varios emplazamientos Esquema mixto: Fragmentar las relaciones y crear réplicas de los fragmentos

Replicación Ventajas: Disponibilidad: Tolerancia a fallos Aumento del paralelismo: Cada emplazamiento puede realizar consultas sobre su réplica de datos Desventajas: Sobrecarga en las actualizaciones: Mantenimiento de la consistencia

Fragmentación de Datos Los fragmentos deben poder reunirse para formar la relación original Esquemas de fragmentación: Horizontal Vertical

Fragmentación Horizontal Placa Marca Ciudad ABC123 MAZDA CALI BDE498 MAZDA PALMIRA RTE164 CHEVR. CALI RTW452 RENAULT PALMIRA Placa Marca Ciudad ABC123 MAZDA CALI RTE164 CHEVR. CALI Placa Marca Ciudad BDE498 MAZDA PALMIRA RTW452 RENAULT PALMIRA r i = σ θi (r) r = i r i

Fragmentación Vertical Id Placa Marca Ciudad 1 ABC123 MAZDA CALI 2 BDE498 MAZDA PALMIRA 3 RTE164 CHEVR. CALI 4 RTW452 RENAULT PALMIRA Id Placa Marca 1 ABC123 MAZDA 2 BDE498 MAZDA 3 RTE164 CHEVR. 4 RTW452 RENAULT Id Marca Ciudad 1 ABC123 CALI 2 BDE498 PALMIRA 3 RTE164 CALI 4 RTW452 PALMIRA Sea r(r) una relación. R = i R i r i = π Ri (r) r = r 1 r 2... r n

Esquemas Mixtos Fragmentación Mixta: Aplicación de la fragmentación horizontal y vertical sobre una misma relación Replica y fragmentación: Replicar fragmentos o fragmentar réplicas

Transparencia de Red Los usuarios deben ignorar los detalles de la distribución de los elementos de datos Aspectos a tener en cuenta: Nombrado Réplicas Fragmentación Ubicación de los fragmentos y réplicas

Nombrado de los Elementos Un solo servidor (centralizado) de nombres: Cuello de botella Una caída del servidor afecta todo el sistema Los elementos tienen como prefijos el nombre del emplazamiento Nombres únicos dentro del sistema Creación de alias por facilidad

Problemas de lectura y escritura Lectura: Conocer que réplica o fragmento utilizar (debe ser transparente para el usuario) Actualización: Actualizar los fragmentos apropiados y TODAS las réplicas de los elementos modificados

Procesamiento de Consultas Aspectos a tener en cuenta: Número de accesos a disco Costo de transmisión en la red Procesamiento en paralelo de cada emplazamiento

... un ejemplo Sea r 1 = σ θ1 (r) y r 2 = σ θ2 (r) y se desea calcular σ θ3 (r). y solo se dispone de los fragmentos y no de la relación original: σ θ3 (r) = σ θ3 (r 1 ) σ θ3 (r 2 ) Sea r,t y w relaciones que se almacenan en E 1, E 2 y E 3 respectivamente, como calcular r t w en E 1? cual es el costo de cada alternativa?

Estrategia por semi-reunión Sea r(r) y t(t ) tales que se almacenan en E 1 y E 2 respectivamente. Se puede calcular r s de la siguiente manera: 1 Calcular temp 1 Π R T (r) en E 1 2 Enviar temp 1 a E 2 3 Calcular temp 2 t temp 1 4 Enviar temp 2 a E 1 5 Procesar r temp 2 Ventajas? Desventajas? r temp 2 es equivalente a r s?

Transacciones Distribuidas Transacciones Locales: Solo afectan los elementos del emplazamiento quien inicia la transacción Transacciones Remotas: Utilizan recursos de un emplazamiento remoto Transacciones Distribuidas: Utilizan recursos locales y recursos de emplazamientos remotos

Cómo coordinar las Transacciones Gestor Trans.: Registro histórico, control de concurrencia, etc Coordinador de transacciones: Coordina la ejecución de transacciones globales (distribuidas)

Coordinador de Transacciones El coordinador de transacciones tiene a cargo: Iniciar la ejecución de una transacción Divide la transacción en subtransacciones y envía las instrucciones necesarias a cada emplazamiento Coordina la terminación (compromiso o retroceso) de la transacción

Que puede fallar en una T. Global? Un Emplazamiento: Disco, SO, SGBD Pérdida en los mensajes: Debe apoyarse en los protocolos de red (Normalmente se retransmiten los mensajes) Particionamiento de la red: Un nodo o conjunto de ellos se aislan de la red (fallo en los enlaces de comunicación)

Que hacer en caso de falla? Si el emplazamiento mantiene réplicas actualizar el catalogo para que no las refresque mientras se encuentran offline Abortar las transacciones activas en el emplazamiento que falló para liberar los bloqueos en los otros emplazamientos (si no se encuentran en proceso de compromiso) Si el emplazamiento averiado es el servidor central, elegir otro servidor (alg. elección del coordinador) Cuando el nodo se recupere: Refrescar las réplicas y fragmentos modificados Retroceder las transacciones abortadas Rehacer las transacciones comprometidas

Protocolo de Compromiso de 2 Fases Cada acción debe registrarse en el registro histórico con fines de recuperación O todos los emplazamientos se comprometen o todos se abortan (atomicidad global)

Posibles fallos y soluciones en el PC2F Si el fallo es anterior al mensaje de preparación, se asume un abort Si el fallo es posterior al mensaje de preparación se continua el PC2F Cuando el emplazamiento se recupera debe: Si existe t i comprometida en el R.H, rehacer(t i ) Si existe t i abortada en el R.H, deshacer(t i ) Si existe t i preparada en el R.H, consultar a C i el destino de la transacción. Si C i no responde consultar a los otros emplazamiento y posponer la decisión hasta encontrar una respuesta de algún nodo. Si el registro no contiene las anteriores, debe abortar (nunca hubo respuesta)

Qué pasa si falla el coordinador? Si un emplazamiento contiene t i comprometida o t i abortada se compromete o aborta la transacción Si ningún emplazamiento contiene t i (fallo antes de tomar la decisión) preparada se aborta T Si ningún emplazamiento tiene t i comprometida o t i abortada, t i espera hasta la recuperación de C i y se mantienen los bloqueos hasta que esto suceda

Qué pasa si hay división de la red? Si todos están en la misma partición no hay problema Si pertenecen a dos particiones, los emplazamientos asumirán que los otros han fallado y se ejecuta el PC2F en los nodos posibles y en los otros cuando se restablezca el canal de comunicación

Protocolo de Compromiso de 3 Fases Condiciones: No pueden producirse divisiones en la red Como máximo k emplazamientos pueden fallar Ventajas No bloquea los recursos así falle el coordinador

...continuación

Tratamiento de Fallos con el PC3F En los participantes: Antes de preparar se aborta, de lo contrario se sigue el procedimiento Cuando se recupera si en el R.H hay un t i abortada o t i comprometida se deshace o rehace la transacción Si hay t i preparada se pregunta a C i el estado de t i para precomprometer o abortar Si hay t i precomprometida se consulta a C i el estado de t i para comprometer, abortar o reactivar el 3FC Fallo del coordinador: Si no hay respuesta del coordinador, se ejecuta el protocolo de fallo del coordinador y cuando C i suba, actuará como participante

Protocolo de Fallo del Coordinador Se da por supuesto que no hay fallo de la red, es decir que C i falló 1 Seleccionar un nuevo coordinador 2 C2 (el nuevo coordinador) pregunta a los emplazamientos el estado de t i 3 Cada emplazamiento determina el estado de t i 4 Se decide el estado de T: Si existe un t i comprometida, t i se compromete Si existe un t i abortada,t i se aborta Si existe t i precomprometida,se activa el 3FC De lo contrario se aborta t i

Algoritmos de elección Decide quien es el nuevo coordinador: Copia de Seguridad: Tener un coordinador de backup con toda la información necesaria para suplir las funciones de C i Elección: Enumerar los emplazamientos y tratar de seleccionar el emplazamiento con número mayor Algoritmo luchador: Proponerse como coordinador e informar a los otros

Control de Concurrencia Enfoque de un solo gestor: Un solo emplazamiento concede los bloqueos Implementación sencilla Fácil detección de Dead Locks Cuello de Botella Todo el sistema puede fallar si falle el gestor de bloqueos

...continuación Enfoque de varios gestores: Cada emplazamiento es responsable de un conjunto de datos Se minimiza el cuello de botella Se vuelve complejo el tratamiento de interbloqueos

Protocolo de la mayoría: Cada emplazamiento controla localmente sus datos Para bloquear un dato Q replicado, hay que enviar mensajes a mas de la mitad de las réplicas solicitando el bloqueo. Utiliza el envió de mensajes para conceder los bloqueos Desventaja: El tratamiento de Interbloqueos

Protocolo Sesgado Para los bloqueos compartidos solo solicita el bloqueo a un emplazamiento que contenga una réplica de Q Para los bloqueos exclusivos, se solicita el bloqueo a TODOS los gestores con réplicas de Q

Copia principal: Se selecciona una copia principal de Q Donde reside dicha copia es el emplazamiento principal de Q Dicho emplazamiento es el que concede los bloqueos sobre Q

Tratamiento de Interbloqueos Con la construcción de grafos locales no es suficiente para determinar un interbloqueo. Por ejemplo:

Enfoque Centralizado Construir un grafo centralizado cuando: Se modifique un arco en un grafo local Periódicamente Siempre que se requiere correr el algoritmo de detección

Esquema Distribuido Construcción de grafos parciales en cada emplazamiento Detección de ciclos en los grafos parciales Los grafos locales se van extendiendo a medida que el emplazamiento participa en transacciones globales

Arquitecturas Heterogéneas Reunión de diferentes bases de datos con diferentes arquitecturas, tipos, SW HW, etc Deben presentarse esquemas de traducción entre una instancia y otra Debe existir una capa de SW adicional que integre todas las instancias de manera lógica mas no física