Bases de Datos Especializadas

Anuncio
Bases de Datos Especializadas
BASES DE DATOS ESPECIALIZADAS
Sesión No.5
Nombre: Fallas y control de concurrencia en un modelo distribuido
Objetivo:
Al término de la sesión, el alumno explicará elementos de las bases de datos
distribuidas.
Contextualización
Previamente abarcamos un panorama introductorio a los DDBMS pero desde un
panorama meramente operativo del usuario, ahora abarcaremos la primera de
tres partes sobre la implementación de un DDBMS.
En esta sesión abarcaremos los protocolos de control de concurrencia y fallas
que puedan ocurrir dentro del DDBMS y cómo repercute esto en la recuperación
de la base de datos.
Podremos ver la estrecha relación entre las transacciones y la concurrencia, y la
manera en que afecta a la integridad de los datos dentro de un DDBMS.
1
BASES DE DATOS ESPECIALIZADAS
Introducción al Tema
En un entorno ideal donde todos los sistemas implementados funcionan de
manera correcta, la totalidad de los mecanismos de control de concurrencia
deben garantizar que se preserve la coherencia de los elementos de datos y que
cada acción se complete en un tiempo finito.
Por lo que el control de concurrencias llega a ser sumamente importante en el
ambiente de las BDD debido a que es mucho más portable que las operaciones
en sitios múltiples y procesos múltiples creen inconsistencias en los datos y
transacciones detenidas, que los sistemas que operan en un solo sitio.
Situación por la cual el componente de procesamiento de transacciones de un
DDBMS debe garantizar que todas las partes de la transacción, en todos los
sitios, se completen antes de que se emita un comando COMMIT final para
registrar la transacción.
2
BASES DE DATOS ESPECIALIZADAS
Explicación
Control de concurrencia en un DDBMS
Uno de los principales problemas que se presentan en el entorno de las bases de datos
es el hecho de tener acceso concurrente (al mismo tiempo) a la base de datos, que se
ven reflejados principalmente en la actualización perdida, la dependencia no confirmada
y el análisis incoherente, pero tratándose de un DDBMS las situación es aún más
compleja debido a que surgen otro tipo de inconvenientes adicionales como el problema
de la coherencia multicopia, que se produce cuando un elemento de datos está
replicado en ubicaciones diferentes. Situación por la cual es necesario tener un perfecto
control sobre la concurrencia, de ahí que un buen control de concurrencias para un
DDBMS debe:
1. Resistir a los fallos tanto de comunicación como de los nodos.
2. Permitir mecanismos de paralelismo para satisfacer los requisitos
de
prestaciones.
3. No imponer un gasto excesivo de capacidad de proceso y de espacio de
almacenamiento.
4. Funcionar satisfactoriamente en un entorno de red donde exista un retardo de
comunicación significativo.
5. No imponer muchas restricciones a la estructura de las acciones atómicas
(Kohler, 1981)
A manera de ejemplo, supongamos que cada operación de transacción en un DDBMS
fue completada por cada procesador de datos local, pero uno de ellos podría no
completar los resultados de la transacción, esto conllevaría a un problema de base de
datos inconsistente y con problemas de integridad, esto se conoce como un problema
de COMMIT Prematuro.
3
BASES DE DATOS ESPECIALIZADAS
Este problema puede solucionarse con a través de un protocolo commit de dos fases,
el cual garantiza en dado caso que una parte de la operación de transacción no puede
completarse, entonces todos los cambios realizados en los otros sitios que participan en
la transacción serán deshechos para mantener un estado de base de datos consistente.
Requiere que cada ingreso de registro de transacción de procesador de datos individual,
se escriba antes que el fragmento de la base de datos se actualice, por lo que ahora se
requiere un protocolo llamado DO-UNDO-REDO el cual define tres tipos de operaciones:
1. DO: lleva a cabo la operación y registra los valores antes y después en el
registro de transacciones
2. UNDO: revoca una operación, mediante los ingresos registrados escritos por la
parte DO de la secuencia
3. REDO: rehace una operación mediante los ingresos registrados por la parte DO
de la secuencia
Con la finalidad de garantizar que las operaciones DO, UNDO y REDO puedan
sobrevivir a una falla del sistema mientras se están ejecutando, se utiliza el protocolo de
escritura anticipada el cual hace que el ingreso registrado se escriba en un
almacenamiento permanente antes de que la operación en sí ocurra.
4
BASES DE DATOS ESPECIALIZADAS
El protocolo commit de dos fases define las operaciones entre dos tipos de nodos: el
coordinador y los subordinados
Fase 1 Preparación
Fase 2 El Commit final
El coordinador envía un mensaje
PREPARED TO COMMIT a todos
los subordinados
El coordinador envía un mensaje
COMMIT a todos los subordinados
y espera respuesta
Los subordinados reciben el
mensaje, escriben el registro de
transacciones a través del
protocolo de escritura, envía la
confirmación YES/PREPARED TO
COMMIT o NOT/PREPARED
Cada subordinado recibe un
mensaje COMMIT luego actualiza
la base de datos mediante el
protocolo DO
El coordinador se asegura de que
todos los nodos esten listos para
completar o abortar la acción
Los subordinados contestan con un
mensaje COMMITTED o NOT
COMMITTED al coordinador
Protocolo COMMIT de dos fases
Aplicando este protocolo garantizamos que todos los nodos completen su parte de la
transacción, de lo contrario, ésta es abortada. Si uno de los nodos no completa su parte,
entonces, la información necesaria para restaurar la base de datos se encuentra en el
registro de transacciones y la base de datos puede ser recuperada con el protocolo DOUNDO-REDO.
Fallas en un modelo distribuido
Como todo sistema, un sistema distribuido también es susceptible a fallas por lo que
tras haber ocurrido una falla en el sistema la recuperación de los datos es de vital
importancia.
Los principales fallos en un DDBMS son:

La pérdida de información

El fallo de un enlace de comunicación

El fallo de un nodo

El particionamiento de la red
5
BASES DE DATOS ESPECIALIZADAS
La recuperación tras un fallo pretende mantener la atomicidad y la durabilidad de las
transacciones distribuidas. Para esto, el DDBMS debe garantizar que todas las
subtransacciones de la transacción global se confirmen o que todas se aborten. Si el
DDBMS detecta que un fallo ha ocurrido se procede de la siguiente manera:
Abortar tidas las transacciones que se vean afectadas por el fallo
Marcar el nodo como fallido, para evitar que cualquier otro nodo
trate de utilizarlo
Comprobar periódicamente para ver si el nodo se ha recuperado
Al reiniciarse, el nodo fallido debe iniciar un procedimiento d
recuperación para abortar aquellas transacciones parciales que
estaba activas en el momento del fallo
Después de la recuperación local, el nodo fallido debe
actualizar su copia de la base de datos para hacer lograr que
sea coherente con el resto del sistema
Cabe mencionar que el DDBMS debe garantizar que si hay agentes de una misma
transacción global activos en diferentes particiones al momento en que se produce una
partición de la red, entonces el nodo en cuestión no deberá poder confirmar la
transacción global.
6
BASES DE DATOS ESPECIALIZADAS
Conclusión
Como pudimos revisar en esta sesión los DDBMS tienen una función de vital
importancia, el manejo adecuado de la concurrencia y por ende del manejo de
las transacciones, por lo que es necesario que apoyarnos en el protocolo
COMMIT de dos fases para garantizar la integridad de los datos, en otras
palabras, una transacción adquiere todos los bloqueos antes de liberar ninguno
de ellos con la finalidad de asegurar la atomicidad tanto de las transacciones
globales como de las locales.
De igual manera pudimos observar que todo sistema es susceptible a fallas y
para esto existen mecanismos de recuperación, hablando específicamente de
los DDBMS las principales fallas dentro de un sistema de este tipo son 4, la
pérdida de mensajes, los fallos en los enlaces de comunicación, las detecciones
de nodos fallidos y el particionamiento de la red.
7
BASES DE DATOS ESPECIALIZADAS
Para aprender más
A continuación encontrarás un par de ligas para conocer aplicaciones
relacionadas con las bases y sistemas distribuidos
Ventajas y retos en el uso de bases de datos distribuidas
http://brd.unid.edu.mx/ventajas-y-retos-en-el-uso-de-bases-de-datos-distribuidas/
Modelos avanzados de bases de datos
http://brd.unid.edu.mx/modelos-avanzados-de-bases-de-datos/
8
BASES DE DATOS ESPECIALIZADAS
Actividad de Aprendizaje
Objetivo de la actividad de aprendizaje de la sesión:
El alumno explicará elementos de modelos distribuidos en un texto en línea.
Instrucciones:
¿Qué vas a hacer?
Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta
sesión, investiga en qué consisten los protocolos de recuperación dentro de:
1. La confirmación de dos fases (2PC).
2. La confirmación de tres fases (3PC).
En un archivo de Word explica los resultados de tu investigación con tus propias
palabras, que contenga:
1. Introducción. Un párrafo.
3. Descripción del la confirmación de dos fases (2PC) con sus referencias.
Un párrafo.
4. Descripción de la confirmación de tres fases (3PC) con sus referencias.
Un párrafo.
2. Bibliografía citada con los datos completos de cada fuente.
Recuerda que esta actividad te ayudará a identificar características sobre las
implicaciones de fallos y concurrencia dentro de DDBMS.
Material: Como material inicial de consulta puedes usar la lectura de la sesión.
¿Cuál es la forma de entrega?
9
BASES DE DATOS ESPECIALIZADAS
Entrega en plataforma un documento en Word de máximo 3 páginas. Nombra tu
archivo de la siguiente forma: S05TuNombreTuApellido.doc
¿Cómo serás evaluado?
En esta actividad se tomará en cuenta lo siguiente:
Forma
Portada con datos generales: Universidad,
maestría, asignatura, alumno y fecha.
Fuentes
bibliográficas
pertinentes.
completas
Ponderación
Requisito
y
Ortografía y redacción adecuada.
Contenido
Introducción. El alumno presenta la idea
principal de su escrito de forma clara.
Contenido. El alumno sintetiza y cita
correctamente las fuentes de consulta
originales, además presenta la explicación
de manera objetiva con sus palabras.
Total
7 puntos
13 puntos
25 puntos
55 puntos
100 puntos
10
BASES DE DATOS ESPECIALIZADAS
Bibliografía

Bell, D., Grimson, J. (1994). Distributed database systems. United
Kingdom, Addison Wesley.

Bobak, A. (1993). Distributed and multi-database systems. E.U. Bantam
Books.

Connolly, T., Begg, C. (2005). Sistemas de bases de datos. Un enfoque
práctico para diseño, implementación y gestión. España. Pearson.

Corbera Navas, F. y Delgado Gallego, A. (2008) Modelos avanzados de
base de datos. Universidad de Castilla – La Mancha. Consultado en abril
de
2013
de
http://alarcos.inf-cr.uclm.es/doc/bbddavanzadas/07-
08/Distribuci%C3%B3n1.pdf

Kohler W. H. (1981). A Survey of Techniques for Synchronization and
Recovery in Decentralized Computer Systems. ACM Computing Surv.

López Fuentes, F. (2002) Ventajas y retos en el uso de base de datos
distribuidas.
Ensayos.
Consultado
en
abril
de
2013
de
http://www.utm.mx/temas/temas-docs/ensayo1t18.pdf

Rob, P., Coronal, C. (2004). Sistemas de bases de datos, diseño,
implementación y administración. México. Thomson.
11
Descargar