miércoles, 16 de noviembre de 2011

Resumen de transacciones


Una transacción es una colección de operaciones que forman una única unidad lógica de trabajo. Se inicia por la ejecución de un programa escrito en un lenguaje de manipulación de datos como SQL, una transacción contiene instrucciones entre un inicio de transacción y un final.

Una transacción tiene cuatro propiedades principales la atomicidad es decir las operaciones de la transacción se realizan correctamente o ninguna se realiza, la consistencia esto es que el sistema no permite más que una sola transacción a la vez, el aislamiento el cual garantiza que las transacciones se realicen de manera aislada y la durabilidad que realiza los cambios una vez que la transacción finalizo.

Las transacciones tienes dos operaciones básicas: lectura la cual transfiere los datos a la memoria intermedia de la transacción, y la escritura la cual transfiere los datos de la memoria intermedia a la base de datos.

Una transacción puede tener varios estados:

  •          Activa: una transacción permanece así durante su ejecución.

  •          Parcialmente comprometida: se encuentra así cuando ha terminado de ejecutar la última instrucción.

  •          Fallida: sucede cuando no se ha podido ejecutar una instrucción.

  •          Abortada: Cuando ha retrocedido la transacción y el sistema regresa al último estado de la base de datos.

  •          Comprometida: Cuando una transacción ha tenido éxito.
Cuando una transacción es comprometida, el sistema escribe información en el disco pero si detecta una falla se cuenta con la información para devolver a la base de datos a su estado anterior.

Si una transacción es abortada, el sistema tiene dos opciones las cuales son: reiniciar la transacción si se detectó un problema de software o hardware, o cancelar la transacción esto si tiene la transacción alguna falla en su secuencia lógica.

Una transacción puede ser concurrente o secuencial, con la concurrencia se mejora la productividad del sistema de base de datos optimizando los recursos de hardware del sistema y disminuyendo el tiempo de espera entre transacciones sin embargo pueden ocasionar conflictos entre los procesos de lectura y escritura.

En cambio las transacciones secuenciales pueden ser secuenciales en cuanto a vistas o conflictos dependiendo de la planificación de sus procesos.

Un punto importante en cuanto a la consistencia de datos es precisamente la recuperabilidad de una transacción que puede regresar a un estado anterior a la base de datos, esto si se encuentra una falla en la transacción (abortada) y se tienen dos recuperaciones aceptables la planificación recuperable y la sin cascada.

No hay comentarios:

Publicar un comentario