Вы находитесь на странице: 1из 8

Transacciones y Control de Concurrencia

1. Define transaccin.
Se llama transaccin a una coleccin de operaciones que forman una nica unidad lgica de trabajo. Un SGBD debe asegurar que la ejecucin de las transacciones se realice adecuadamente a pesar de la existencia de fallos: o se ejecuta la transaccin completa o no se ejecuta en absoluto. Adems debe gestionar la ejecucin concurrente de las transacciones evitando introducir inconsistencias.

2. Define las propiedades de la transaccin.


Atomicidad: Una transaccin es una unidad atmica de procesamiento; o bien se realiza por completo o no se realiza en absoluto. Conservacin de la consistencia: Una ejecucin correcta de la transaccin debe llevar a la base de datos de un estado consistente a otro. Aislamiento: Una transaccin no debe dejar que otras transacciones puedan ver sus actualizaciones antes de que sea confirmada; esta propiedad, cuando se hace cumplir estrictamente, resuelve el problema de la actualizacin temporal y hace innecesarias las reversiones en cascada de las transacciones. Durabilidad o permanencia: Una vez que una transaccin ha modificado la base de datos y las modificaciones se han confirmado, estas nunca deben perderse por un fallo subsecuente.

3. Dibuja y explica el diagrama de transicin de estado de una transaccin.

INICI0_DE_TRANSACCI0N: Esta marca el principio de la ejecucin de la transaccin.

LEER o ESCRIBIR: Estas especifican operaciones de lectura o escritura de elementos de la base de datos que se efectan como parte de una transaccin. FIN_DE_TRANSACCI0N: Esta especifica que las operaciones de LEER y ESCRIBIR de la transaccin han terminado y marca el lmite de la ejecucin de la transaccin. Sin embargo, en este punto puede ser necesario verificar si los cambios introducidos por la transaccin se puede aplicar permanentemente a la base de datos (confirmar) o si la transaccin debe abortarse porque viola el control de concurrencia o por alguna otra razn. CONFIRMAR TRANSACCION: Esta indica que la transaccin termino con xito y que cualesquier cambios (actualizaciones) ejecutadas por ella se pueden confirmar sin peli-gro en la base de datos y que no se cancelaran. REVERTIR (o ABORTAR): Esta indica que la transaccin termino sin xito y que cualesquier cambios 6 efectos que pueda haber aplicado a la base de datos se deben cancelar.

4. Defina control de concurrencia


Cuando se ejecutan concurrentemente varias transacciones en la base de datos, puede dejar de conservarse la consistencia de los datos. Es necesario que el sistema controle la interaccin entre las transacciones concurrentes, y dicho control se lleva a cabo mediante uno de los muchos mecanismos llamados esquemas de control de concurrencia. Control de concurrencia es la coordinacin de procesos concurrentes que operan sobre datos compartidos y que podran interferir entre ellos. El control de concurrencia garantiza que la BD sea concurrente sin perder consistencia.

5. Ejemplifique los problemas de concurrencia


El problema de la actualizacin perdida. Esto ocurre cuando dos transacciones que tienen acceso a los mismos elementos de la base de datos tienen sus operaciones intercaladas de modo que hacen incorrecto el valor de algn elemento.

Lectura sucia. Cuando una transaccin lee datos escritos por una transaccin concurrente que no se ha comprometido.

Resumen incorrecto o lectura fantasma. Una transaccin ejecuta una consulta retornando un conjunto de tuplas que satisfacen la condicin de bsqueda y encuentra que dicho conjunto ha cambiado por otro por una transaccin recientemente comprometida.

Lectura no repetible.- Cuando una transaccin relee informacin que han sido previamente ledos y que se ha encontrado que han sido modificados por otra transaccin.

6. Define plan
Es la definicin del orden en el que se ejecutarn las instrucciones de un conjunto n de transacciones.

7. Define plan en serie


Es aquel en donde todas las transacciones se ejecutan una despus de otra.

8. Define plan no en serie


Es aquel en donde las instrucciones de las transacciones del plan se intercalan para su ejecucin.

9. Define plan serializable (seriable)


Un plan P de n transacciones es serializable (seriable) si es equivalente a algn plan en serie de las mismas n transacciones.

10. Describe la equivalencia por conflictos.


Se dice que dos planes son equivalentes por conflictos si el orden de cualesquier dos operaciones en conflicto es el mismo en ambos planes. Dos operaciones de un plan estn en conflicto si: Pertenecen a diferentes transacciones, Si tienen acceso al mismo elemento de la base de datos, Y si una de las dos operaciones es escribir elemento.

11. Define los niveles de aislamiento


Los cuatro niveles de aislamiento y su correspondiente comportamiento se muestran en la tabla
Nivel de aislamiento Lectura sin compromisos Lectura comprometida Lectura repetible Serializable Lectura sucia Si No No No Lectura no repetible Si Si No No Resumen Incorrecto Si Si Si No

12. Define brevemente los esquemas de control de concurrencia


Protocolos de bloqueo: Establecen un conjunto de reglas, las cuales indican el momento en el que una transaccin puede bloquear o desbloquear un elemento de datos de la base de datos. El esquema de ordenacin por marcas temporales asegura la seriabilidad (secuencialidad) seleccionando previamente un orden entre todo par de transacciones. Se asocia una nica marca temporal fija a cada transaccin del sistema. Un esquema de control de concurrencia multiversin se basa en crear una nueva versin de un elemento de datos cada vez que una transaccin va a escribir dicho elemento.

13. Define Interbloqueo o bloqueo mortal (abrazo mortal)


Es cuando una transaccin A est bloqueada esperando que una transaccin B la desbloquee, a su vez la transaccin B est bloqueada esperando que la transaccin A la desbloquee. La figura hace una analoga al interbloqueo considerando que los vehculos no pueden utilizar reversa Cmo podran salir?

14. Describe brevemente las tcnicas para prevenir el interbloqueo.


Una forma de prevenir los interbloqueos es utilizar una ordenacin de los elementos de datos, y solicitar los bloqueos en una secuencia consistente con la ordenacin. Otra forma de prevenir los interbloqueos es utilizar expropiacin y retroceso de transacciones. Para controlar la expropiacin se asigna una nica marca temporal a cada transaccin. El sistema utiliza estas marcas temporales para decidir si una transaccin debe esperar o retroceder. Si una transaccin se retrocede conserva su marca temporal anterior cuando vuelve a comenzar.

15. Mencione los tipos de fallas del SMBD


Fallas en transacciones Las transacciones abortan (unilateralmente o debido a interbloqueos) en promedio el 3% de las transacciones aborta anormalmente.

Fallas de sistema (Sitio) Fallas de procesador, memoria principal, suministro de energa, lo que est en memoria se pierde pero lo que est almacenado en disco se conserva Parcial Vs. falla total. Fallas del medio En disco con prdida total de informacin Falla de las cabezas del disco Fallas de comunicaciones Prdida de mensajes Particionamiento de la red

16. Mencione el objetivo de la recuperacin en un SGBD


El objetivo principal de la recuperacin es asegurarse de que las transacciones tengan la propiedad de atomicidad. Si una transaccin falla antes de completar su ejecucin, el mecanismo de recuperacin deber cerciorarse de que no tenga efectos permanentes sobre la base de datos. El esquema de recuperacin es una parte integrante del sistema de base de datos el cual es responsable de la deteccin de fallos y del restablecimiento de un estado de la base datos anterior al momento de producirse el fallo.

17. Describe la recuperacin por registro histrico


La estructura ms ampliamente utilizada para guardar las modificaciones de una base de datos es el registro histrico. El registro histrico es una secuencia de registros que mantiene un registro de todas las actividades de actualizacin de la base de datos. Existen varios tipos de registros del registro histrico. Un registro de actualizacin del registro histrico describe una nica escritura en la base de datos y tiene los siguientes campos: El identificador de la transaccin es un identificador nico de la transaccin que realiza la operacin escribir. El identificador del elemento de datos es un identificador nico del elemento de datos que se escribe. Normalmente suele coincidir con la ubicacin del elemento de datos en el disco. El valor anterior es el valor que tena el elemento de datos antes de la escritura. El valor nuevo es el valor que tendr el elemento de datos despus de la escritura. Existen otros registros del registro histrico especiales para registrar sucesos significativos durante el procesa-miento de una transaccin, tales como el comienzo de una transaccin y el xito o aborto de la misma. Denotaremos como sigue los diferentes tipos de registros del registro histrico: <Ti iniciada>. La transaccin Ti ha comenzado. <Ti, Xj, V1, V2>. La transaccin Ti ha realizado una escritura sobre el elemento de datos Xj. Xj tena el valor V1 antes de la escritura y tendr el valor V2 despus de la escritura. <Ti comprometida>. La transaccin Ti se ha comprometido. <Ti abortada>. La transaccin Ti ha sido aborta-da. Cuando una transaccin realiza una escritura es fundamental que se cree el registro del registro histrico correspondiente a esa escritura antes de modificar la base de datos.

18. Describe la recuperacin por paginacin sombra.

En la paginacin en la sombra, durante la vida de una transaccin se mantienen dos tablas de pginas: la tabla actual de pginas y la tabla de pginas sombra. Ambas tablas son idnticas cuando la transaccin comienza. La tabla de pginas sombra y las tablas a las que apunta no sufren ningn cambio mientras dura la transaccin. Cuando la transaccin se compromete parcialmente se desecha la tabla de pginas sombra y la tabla actual se convierte en la nueva tabla de pginas. Si la transaccin aborta, simplemente se desecha la tabla actual de pginas

Вам также может понравиться