Transacciones Bloqueos y Recuperabilidad

Enviado por Programa Chuletas y clasificado en Otras materias

Escrito el en catalán con un tamaño de 9,13 KB

TRANSACCIÓN
Una transacción es una unidad de la ejecución de un programa que accede y posiblemente actualiza varios elementos de datos.
Atomicidad. O todas las operaciones de la transacción se realizan adecuadamente en la base de datos o ninguna de ellas.
Consistencia. La ejecución aislada de la transacción (es decir, sin otra transacción que se ejecute concurrentemente) conserva la consistencia de la base de datos.
Aislamiento. Aunque se ejecuten varias transacciones concurrentemente, el sistema garantiza que para cada par de transacciones T i y T j, se cumple que para los efectos de T i, o bien T j ha terminado su ejecución antes de que comience T i , o bien que T j ha comenzado su ejecución después de que T i termine. De este modo, cada transacción ignora al resto de las transacciones que se ejecuten concurrentemente en el sistema.
Durabilidad. Tras la finalización con éxito de una transacción, los cambios realizados en la base de datos permanecen, incluso si hay fallos en el sistema.
Estas propiedades a menudo reciben el nombre de
propiedades ACID .
ESTADOS DE UNA TRANSACCIÓN
• Activa
, el estado inicial; la transacción permanece
en este estado durante su ejecución.
Parcialmente comprometida, después de ejecutarse
la última instrucción.
Fallida, tras descubrir que no puede continuar la
ejecución normal.
Abortada, después de haber retrocedido la transacción
y restablecido la base de datos a su estado
anterior al comienzo de la transacción.
Comprometida, tras completarse con éxito.
EQUIVALENCIA EN CUANTO A CONFLICTOS
Si una planificación
P se puede transformar en otra P ' por medio de una serie de intercambios de instrucciones no conflictivas, se dice que P y P' son equivalentes en cuanto a conflictos.
SECUENCIABLE EN CUANTO A CONFLICTOS
Se dice que una planificación P es secuenciable en cuanto a conflictos si es equivalente en cuanto a
conflictos a una planificación secuencial.
EQUIVALENCIA EN CUANTO A VISTAS
Se dice que las planificaciones P y P' son equivalentes en cuanto a vistas si se cumplen las tres c ondiciones siguientes:
1.
Para todo elemento de datos Q, si la transacción T i lee el valor inicial de Q en la planificación P, entonces T i debe leer también el valor inicial de Q en la planificación P' .
2. Para todo elemento de datos Q, si la transacción T i ejecuta leer (Q) en la planificación P y el valor lo ha producido la transacción T j (si existe dicha transacción) entonces, en la planificación P' , la transacción T i debe leer también el valor de Q que haya producido la transacción T j.
3. Para todo elemento de datos Q, la transacción (si existe) que realice la última operación escribir (Q) en la planificación P, debe realizar la última operación escribir (Q) en la planificación P' .
SECUENCIALIDAD EN CUANTO A VISTAS
Se dice que la planificación P es secuenciable en cuanto a vistas si es equivalente en cuanto a vistas a una planificación secuencial.
Una
planificación recuperable
es aquella en la que para todo par de transacciones T i y T j tales que T j lee elementos de datos que ha escrito previamente T i, la operación comprometer de T i aparece antes que la de T j.
BLOQUEOS
1. Compartido.
Si una transacción T i obtiene un
bloqueo en modo compartido (denotado por C)
sobre el elemento
Q, entonces T i puede leer Q
pero no lo puede escribir.
2. Exclusivo. Si una transacción T i obtiene un bloqueo
en modo exclusivo
(denotado por X) sobre
el elemento
Q, entonces T i puede tanto leer como
escribir
Q.
Se dice que un protocolo
asegura la secuencialidad en cuanto a conflictos
si y sólo si todas las planificaciones legales son secuenciables
en cuanto a conflictos
El punto de
la planificación en el cual la transacción obtiene su bloqueo
final (el final de la fase de crecimiento) se denomina
punto de bloqueo de la transacción.
El protocolo de bloqueo de dos fases
no asegura la
ausencia de interbloqueos.
protocolo de bloqueo estricto
de dos fases
. Este protocolo exige que, además de que
el bloqueo sea de dos fases, una transacción debe poseer
todos los bloqueos en modo exclusivo que tome
hasta que dicha transacción se complete.
protocolo
de bloqueo riguroso de dos fases
, el cual exige que
se posean todos los bloqueos hasta que se comprometa
la transacción.
conversiones de bloqueo
Se denota la conversión del modo compartido
al modo exclusivo como
subir, y la conversión
del modo exclusivo al modo compartido como
bajar
Fallo en la transacción. Hay dos tipos de errores
que pueden hacer que una transacción falle:
-
Error lógico. La transacción no puede continuar
con su ejecución normal a causa de alguna
condición interna, como una entrada incorrecta,
datos no encontrados, desbordamiento
o exceso del límite de recursos.
-
Error del sistema. El sistema se encuentra en
un estado no deseado (por ejemplo, de interbloqueo)
como consecuencia del cual una transacción
no puede continuar con su ejecución
normal. La transacción, sin embargo, se puede
volver a ejecutar más tarde.
Caída del sistema. Un mal funcionamiento del
hardware o un error en el software de la base de
datos o del sistema operativo causa la pérdida del
contenido de la memoria volátil y aborta el procesamiento
de una transacción. El contenido de la
memoria no volátil permanece intacto y no se
corrompe.
Fallo de disco. Un bloque del disco pierde su contenido
como resultado de bien una colisión de la
cabeza lectora, bien un fallo durante una operación
de transferencia de datos. Las copias de los datos
que se encuentran en otros discos o en archivos de
seguridad en medios de almacenamiento secundarios,
como cintas, se utilizan para recuperarse
del fallo.
Almacenamiento volátil. La información que reside
en almacenamiento volátil no suele sobrevivir
a las caídas del sistema. La memoria principal y la
memoria caché son ejemplos de este almacenamiento.
El acceso al almacenamiento volátil es
muy rápido, tanto por la propia velocidad de acceso
a la memoria, como porque es posible acceder
directamente a cualquier elemento de datos
Almacenamiento no volátil. La información que
reside en almacenamiento no volátil sobrevive a
las caídas del sistema. Los discos y las cintas magnéticas
son ejemplos de este almacenamiento. Los
discos se utilizan para almacenamiento en conexión,
mientras que las cintas se usan para almacenamiento
permanente
Almacenamiento estable. La información que
reside en almacenamiento estable
nunca se pierde

Entradas relacionadas: