Académique Documents
Professionnel Documents
Culture Documents
3.1.1
Programa y ejecuta
transacciones en la base de
datos elaborada en la
actividad de evaluacin
1.3.1
utilizando el protocolo de
bloqueo de dos fases y
control de concurrencia
A. Administracin de transacciones.
Definicin de transacciones
Protocolo de bloqueo en dos fases.
Recuperacin de informacin mediante transacciones.
B. Manejo de Concurrencia.
Definicin de concurrencia.
Tcnicas de bloqueo
Seriabilidad con el bloqueo en dos fases
Definicin de transacciones
reduce la concurrencia.
Estricto
La transaccin no libera ninguno de sus bloqueos de escritura antes de
confirmarse o abortar.
Este tipo de bloqueo garantiza planes estrictos en cuanto a recuperabilidad
(recuperable es un plan que, una vez confirmada la transaccin, no ser
necesaria deshacerla). Sin embargo, puede sufrir interbloqueos.
Riguroso
Es una versin ms restrictiva del estricto. Similar al anterior, pero adems
tampoco libera los bloqueos de lectura. Es ms fcil de implementar.
Definicin de concurrencia.
Tecnicas de Bloqueo
BLOQUEOS BINARIOS
La forma ms simple de bloquear es utilizar bloqueos binarios. basta con un
vector de la siguiente forma: <referencia al dato bloqueado, booleano, referencia a
la transaccin que lo bloquea> donde el booleano es en s el indicador del
bloqueo.
Donde cada transaccin debe solicitar el bloqueo de cada fragmento de datos A
que vaya a utilizar antes de acceder a l (sea para leerlo o escribirlo), mediante
una operacin bloquear(A).
Se caracterizan por tener dos valores posibles; bloqueado y desbloqueado.
Cada elemento de la base de datos tiene un bloqueo distinto. El bloqueo seala si
una transaccin est operando sobre el elemento o est libre para que se pueda
operar con l. De esta manera se impide que dos o ms transacciones estn
operando sobre un mismo elemento al mismo tiempo.
Deber liberar todos los bloqueos, mediante una operacin desbloquear(A)
de modo que otras tareas puedan tomarlos. Este sistema de bloqueos tiene una
implementacin muy simple, ya que solo requiere mantener una tabla que indica
qu partes de los datos est bloqueada y por qu transaccin.
Usando bloqueos binarios
Cuando se usan bloqueos, una transaccin ha de usarlos mediante las
funciones bloquear_elemento y desbloquear_elemento, cumpliendo las siguientes
reglas: