jueves, 17 de noviembre de 2011

Transacciones Sintesis

 Una transacción es una unidad de la ejecución de un programa que accede y posiblemente actualiza varios elementos de datos. La transacción consiste en todas las operaciones que se ejecutan entre inicio transacción y el fin transacción. Para asegurar la integridad de la información se tienen que cumplir con cuatro factores:

Atomicidad
Consistencia
Aislamiento
Durabilidad

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 Ti y Tj, se cumple que para los efectos de Ti, o bien Tj ha terminado
su ejecución antes de que comience Ti , o bien que Tj ha comenzado su ejecución después de que Ti
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.

Cuando no hay fallas, las transacciones se ejecutan de manera exitosa. Si una transacción no se ejecuta correctamente se le llama transacción abortada. Las transacciones que se ejecutan con éxito se les dice transacciones comprometidas. Las transacciones compensadoras son usadas para deshacer cambios realizados por otras transacciones.

Es necesario precisar qué se entiende por terminación con éxito de una transacción. Se establece por tanto un modelo simple abstracto de transacción. Una transacción debe estar en uno de los estados siguientes:
• 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.

No hay comentarios:

Publicar un comentario en la entrada