Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Abimelec Hernandez Cruz Reyes Avelino May de la Cruz Ivan Omar Moreno Garca Luis Ivn Tiqu Torres
UNIDAD 4 - TRANSACCIONES
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS
Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si ambas acceden a la misma data, y una de ellas es de escritura y si fueron realizadas por transacciones distintas.
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS
Definimos Transaccin
Una transaccin es una coleccin de acciones que hacen transformaciones consistentes de los estados de un sistema preservando la consistencia del sistema.
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS
Pesimistas vs Optimistas
Pesimistas: Cuando dos transacciones acceden al mismo dato se retrasa a una de ellas hasta que la otra finaliza. Ejemplo: cerrojos (locks). Puede haber interbloqueos (deadlocks). Optimistas: Se deja acceder libremente a cualquier dato, cuando la transaccin termina se efecta un test para averiguar si hubo conflicto. En caso positivo se aborta, en caso afirmativo compromete Ejemplo: marcas de tiempo (timestamps). Pueden provocar un nmero elevado de abortos.
Transaccion Pesimista
Validar Leer Computar Escribir
Transaccion Optimista
Leer Computar Escribir Validar
5 DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS
Asumir que los conflictos entre transacciones son muy frecuentes y no permiten el acceso a un dato si existe una transaccin conflictiva que accesa el mismo dato. La ejecucin de cualquier operacin de una transaccin sigue la secuencia de fases: validacin (V), lectura (R), cmputo (C) y escritura (W) (Ver la siguiente figura transaccin pesimista). Los algoritmos optimistas, por otra parte, retrasan la fase de validacin justo antes de la fase de escritura (Ver figura transaccin optimista). De esta manera, una operacin sometida a un despachador optimista nunca es retrasada. Las operaciones de lectura, cmputo y escritura de cada transaccin se procesan libremente sin actualizar la base de datos corriente. Cada transaccin inicialmente hace sus cambios en copias locales de los datos. La fase de validacin consiste en verificar si esas actualizaciones conservan la consistencia de la base de datos. Si la respuesta es positiva, los cambios se hacen globales (escritos en la base de datos corriente). De otra manera, la transaccin es abortada y tiene que reiniciar.
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS 6
En general, es preferible el optimista porque el pesimista tiende a arruinar el rendimiento de la Base de Datos, a crear situaciones de deadlock (bloqueos mortales) con ms frecuencia, a generar filas de espera por la disponibilidad de los datos y a aumentar la competicin entre los usuarios. Cuanto mayor sea la cantidad de usuarios mayores sern los trastornos que el tratamiento pesimista causar porque a mayor cantidad de bloqueos, mayor cantidad de problemas.
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS
La transaccin A tiene un bloqueo compartido de la fila 1. La transaccin B tiene un bloqueo compartido de la fila 2. La transaccin A ahora solicita un bloqueo exclusivo de la fila 2 y se bloquea hasta que la transaccin B finalice y libere el bloqueo compartido que tiene de la fila 2. La transaccin B ahora solicita un bloqueo exclusivo de la fila 1 y se bloquea hasta que la transaccin A finalice y libere el bloqueo compartido que tiene de la fila 1.
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS 8
3 4
2 1
3 4
2 1
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS
10
4.3 Confiabilidad
La confiabilidad es otro requerimiento indiscutible y probablemente el ms importante. Una base de datos no confiable es simplemente inutilizable. Para la mayora de las aplicaciones empotradas, en especial las empleadas en sistemas de tiempo real, la confiabilidad es una propiedad no negociable que deben tener todos los componentes. Un sistema de manejo de bases de datos confiable es aquel que puede continua procesando las solicitudes de usuario an cuando el sistema sobre el que opera no es confiable. En otras palabras, aun cuando los componentes de un sistema distribuido fallen, un DDMBS confiable debe seguir ejecutando las solicitudes de usuario sin violar la consistencia de la base de datos.
DOCENTE: M.A. JOS MANUEL AGUILAR CRUZ ASIGNATURA: BASE DE DATOS DISTRIBUIDAS
12