1. El documento habla sobre transacciones en bases de datos, control de concurrencia y recuperación. Explica que el protocolo de bloqueo de dos fases asegura el orden de las transacciones a través de sus puntos de bloqueo.
2. Los sistemas de bases de datos prestan más atención a las propiedades ACID que los sistemas de archivos porque las bases de datos manejan tareas cruciales con efectos permanentes en el mundo real.
3. Durante su ejecución, una transacción puede pasar por los estados de activa
Original Description:
Una interpretación del bloqueo de dos fases, como simplemente el bloqueo de las tuplas accedidas en una relación, es incorrecta. Hay también un índice o un dato de relación que tiene información sobre las tuplas en la relación. Esta información es leída por cualquier transacción que rastrea la relación y modificada por transacciones que actualizan, insertan o borran en o desde relación. Por lo tanto, el bloqueo también debe realizarse sobre el índice o el dato de relación, evitando el fenómeno fantasma.
1. El documento habla sobre transacciones en bases de datos, control de concurrencia y recuperación. Explica que el protocolo de bloqueo de dos fases asegura el orden de las transacciones a través de sus puntos de bloqueo.
2. Los sistemas de bases de datos prestan más atención a las propiedades ACID que los sistemas de archivos porque las bases de datos manejan tareas cruciales con efectos permanentes en el mundo real.
3. Durante su ejecución, una transacción puede pasar por los estados de activa
1. El documento habla sobre transacciones en bases de datos, control de concurrencia y recuperación. Explica que el protocolo de bloqueo de dos fases asegura el orden de las transacciones a través de sus puntos de bloqueo.
2. Los sistemas de bases de datos prestan más atención a las propiedades ACID que los sistemas de archivos porque las bases de datos manejan tareas cruciales con efectos permanentes en el mundo real.
3. Durante su ejecución, una transacción puede pasar por los estados de activa
Transacciones, Control de Concurrencia, Recuperacin
1. Demuestre que el protocolo de bloqueo de dos fases asegura la secuencialidad en cuanto a conflictos y que se pueden secuenciar las transacciones a travs de sus puntos de bloqueos.
Considrese cualquier transaccin. El punto de la planificacin en el cual la transaccin obtiene su blo-queo final (el final de la fase de crecimiento) se deno-mina punto de bloqueo de la transaccin. Ahora se pueden ordenar las transacciones en base a sus puntos de bloqueo; (diciendo, esta ordenacin es un orden de secuencialidad para las transacciones.
El protocolo de bloqueo de dos fases no asegura la ausencia de interbloqueos.
2. Los implementadores de sistemas de bases de datos prestan mucha ms atencin a las propiedades ACID que los implementadores de sistemas de archivos. Por qu tiene sentido esto?
Las bases de datos generalmente realizan tareas cruciales, cuyos efectos necesitan ser atomicos, duraderos y cuyos resultados afectan al mundo real de forma permanente. Ejemplos de tales tareas son las transacciondes menetarias, reservas de plazas, etc. Por lo tanto, han de asegurarse las propuedades ACID. En constraste, la mayoria de los usuarios de los sistemas de ficheros no estarian dispuestos a pagar el precio (en recursos, espacio en disco, tiempo) de soportar las propiedades ACID.
3. Durante su ejecucin, una transaccin pasa a travs de varios estados hasta que se compromete o aborta. Lstense todas las secuencias posibles de estados por los que puede pasar una transaccin. Explquese por qu puede ocurrir cada una de las transiciones de estados.
Las secuencias de estados posibles son:
a) Activa parcialmente comprometida. Esta es la secuencia normal que segura una transaccion con exito. Despues de ejecutar todas sus instrucciones accede al estado parcialmente comprometida. Despues de que se ha grabado en disco suficiente informacion de recuperacion, la transaccion finalmente accede al estado comprometida.
b) Activa parcialmente comprometida abotada. Despues de ejecutar la ultima instruccion de la transaccion, accede al estado parcialmente comprimetida. Pero antes de grabar en disco suficiente informacion de recuperacion, puede tener lugar un fallo en el hardware destruyendo el contenido de la memoria. En ese caso, los cambios realizados en la base de datos se deshacen y la transaccion accede al estado "abortada".
c) activa fallida abortada. Despues de iniciarse la transaccion, si se descubre en algun momento que no puede continuar la ejecucion normal (debido a errores de programacion o a errores externos), entra en el estado fallido. entonces la transaccion es retrocedida, despues de lo cual entra en el estado "abortada".
4. Justifquese lo siguiente. La ejecucin concurrente de transacciones es ms importante cuando los datos se deben extraer de disco (lento) o cuando las transacciones duran mucho, y es menos importante cuando hay pocos datos en memoria y las transacciones son muy cortas.
Si una transaccin dura mucho o extrae datos desde undisco lento, lleva mucho tiempo completarla. En ausencia de concurrencia, otras transacciones tendrnque esperar por un largo perodo detiempo. El tiempo de respuesta medi se incrementar.
Tambin,cuando la transaccin est leyendo datos deldisco, la CPU pierde el tiempo.
As, los recursos no se empleancorrectamente. Por lo tanto, la ejecucinconcurrente se hace importante en este caso. Sin embargo, cuando lastransacciones son cortas o los datosestn disponibles en memoria, estos problemas no suceden.
5. Considere las dos transacciones siguientes:
Agregue a las transacciones T31 y T32 las instrucciones de bloqueo y desbloqueo para que sigan el protocolo de dos fases. Pueden producir la ejecucin de estas transacciones un interbloqueo?
Instrucciones de bloqueo y desbloqueo:
T31: bloquear-S(A) leer(A) bloquear-X(B) leer(B) si A = 0 entonces B := B + 1 escribir(B) desbloquear(A) desbloquear(B)
T32: bloquear-S(B) leer(B) bloquear-X(A) leer(A) si B = 0 entonces A := A + 1 escribir(A) desbloquear(B) desbloquear(A)
La ejecucin de estas transacciones puede dar lugar a interbloqueos. Por ejemplo, considrese la siguiente planificacin parcial:
6. Qu beneficios proporciona el bloqueo estricto de dos fases? Qu inconvenientes tiene?
Dado que slo produce planificaciones sin cascada, la recuperacin es muy fcil. Pero el conjunto de planificaciones que se puede obtener es un subconjunto de los que se obtiene desde el bloqueo sencillo de dos fases, con lo que se reduce la concurrencia.
7. Qu beneficio proporciona el bloqueo riguroso de dos fases? comprese con otras formas de bloqueo de dos fases.
El bloqueo riguroso de dos fase tiene las ventajas del bloqueo estricto de dos fases. Adems tiene las propiedades de que para dos transacciones conflictivas, su orden de compromiso es su orden de secuencialidad. En algunos sistemas lo usuarios pueden esperar este comportamiento.
8. Muchas implementaciones de sistemas de bases de datos utilizan el bloqueo estricto de dos fases. Indquese tres razones que expliquen la popularidad de este protocolo.
a) Asegura la secuencialidad b) Evita retrocesos en cascada. c) Es relativamente sencillo de implementar.
9. Explquese el fenmeno fantasma. Por qu produce este fenmeno?
El fenmeno fantasma surge cuando, debido a una insercin o borrado, dos transacciones entran en conflicto lgico a pesar de no bloquearse ninguno de los elementos de los datos en comn.
El borrado tambin puede conducir a este fenmeno. Supngase que Ti borra una tupla de una relacin mientras Tj rastrea la relacin. Si Ti borra la tupla y despus Tj lee la relacin, Ti debera secuencializarse antes que Tj . An no hay ninguna tupla sobre la que Ti y Tj estn en conflicto.
Una interpretacin del bloqueo de dos fases, como simplemente el bloqueo de las tuplas accedidas en una relacin, es incorrecta. Hay tambin un ndice o un dato de relacin que tiene informacin sobre las tuplas en la relacin. Esta informacin es leda por cualquier transaccin que rastrea la relacin y modificada por transacciones que actualizan, insertan o borran en o desde relacin. Por lo tanto, el bloqueo tambin debe realizarse sobre el ndice o el dato de relacin, evitando el fenmeno fantasma.
10.En la ordenacin por marcas temporales, marca_temporal-E(Q) indica la mayor marca temporal de todas las transacciones que hayan ejecutado escribir(Q) con xito. Supngase que en lugar de ello, marca_temporal-E(Q) se define como la marca temporal de la transaccin ms reciente que haya ejecutado escribir(Q) con xito. Hay alguna diferencia al cambiar esta definicin? Razne su respuesta.
No habra ninguna diferencia. El protocolo de escritura es tal que la ltima transaccin para escribir un elemento es, tambin, la que se ha hecho con mayor marca temporal.
11.Cuando se retrocede una transaccin en el protocolo de ordenacin por marcas temporales se le asigna una nueva marca temporal. Por qu no puede conservar simplemente su antigua marca temporal?
Una transaccin es retrocedida porque una transaccin ms nueva ha ledo o escrito el dato que, se supone, iba a escribir. Si la transaccin retrocedida se reintrodujera con igual marca temporal, la misma razn para el retroceso sera todava vlida y la transaccin habra de retrocederse de nuevo. Esto continuara indefinidamente.
12.En el protocolo de granularidad mltiple, qu diferencia hay entre bloqueo implcito y explcito?
Cuando una transaccin bloquea explcitamente un nodo en modo exclusivo o compartido, bloquea implcitamente, en el mismo modo, a todos los descendientes de ese nodo. La transaccin no tiene necesidad de bloquear explcitamente los nodos descendientes. No hay diferencia en las funcionalidades de estos bloqueos, la nica diferencia est en la forma en que se adquieren y en lo probado de su presencia.
13.Considere el grafo de la siguiente figura.
Es secuenciable en cuanto a conflictos la planificacin correspondiente? Razone su respuesta.
Hay una planificacin secuenciable correspondiente al grafo de precedencia siguiente, dado que el grafo es acclico. Una posible planificacin se obtiene haciendo una ordenacin topolgica, es decir, T1, T2,T3, T4, T5.
14.En una instalacin existe una copia de seguridad del da 23 de abril a las 21 horas. Durante el da 24 abril ocurre un incidente que implica la rotura del disco donde se encuentra la base de datos y que, tal y como debe ocurrir, no es el mismo disco donde se almacena el diario. El diario contiene la secuencia descrita a continuacin. Indicar el procedimiento de recuperacin y los valores finales para los grnulos implicados.
15.En una base de datos en la que se parte de los siguientes valores para tres grnulos de datos: A=25, B=5, D=10, y los registros del diario que se acompaan. Se pide: a) Describir el proceso de recuperacin indicando qu transacciones deben rehacerse y cules deshacerse, as como los retrocesos en cascada que se puedan producir. Indicar tambin con que valor quedaran A, B y C. b) Describir el proceso de recuperacin si se pierde la BD, sabiendo que existen copias de seguridad de la base de datos y de los diarios realizada el da anterior.