Transacciones - Gestor Transaccional
Los gestores transaccionales son los
componentes de un sistema que procesan la información a través de unos
elementos o bloques de procesos denominados transacciones.
Permiten enlazar varias
transacciones individuales en una única transacción indivisible, garantizando
que todas las transacciones terminen sin errores o que no termine ninguna de
ellas.
Si algunas operaciones o
transacciones terminaron correctamente y otras no, el gestor transaccional
deberá devolver la persistencia de datos a su estado original justo como estaba
antes de iniciar el proceso y cancelar las operaciones en curso y futuras que
formen parte de la transacción general.
Las transacciones son procesadas en
orden cronológico, esto quiere decir que hasta que la transacción n+1 no se
ejecutará hasta que no concluya la ejecución de la transacción n.
En algunos casos, dos transacciones
pueden en el transcurso de su ejecución, competir por dos recursos al mismo
tiempo de tal manera que impide seguir con su ejecución. Un bloqueo mutuo
(o inter bloqueo, dead-lock en inglés)
ocurre, por ejemplo, cuando la transacción A intenta acceder al área X de la
base de datos mientras la transacción B intenta acceder al área Y de la base de
datos. Si, en algún punto intermedio, la transacción A intenta acceder al área
Y mientras al mismo tiempo la transacción B intenta acceder al área X se genera
un bloqueo mutuo que impide a ambas transacciones progresar.
Los gestores transaccionales están
diseñados para detectar este tipo de bloqueos cuando ocurren y actuar en
concordancia. O bien ambas transacciones son canceladas y el sistema hace ROLLBACK
de todos los cambios para luego volver a ejecutarlas automáticamente en
diferente orden de tal forma que no se vuelva a formar otro bloqueo mutuo, o
bien cancelar y hacer ROLLBACK de una de ellas y volverla a lanzar después de
una pequeña espera.
El gestor transaccional se encarga
de realizar las operaciones de COMMIT si todo termina correctamente o ROLLBACK
si falla alguno de los procesos comprendidos en el ámbito de la transacción.
Algunos gestores transaccionales muy
conocidos son CICS e IMS de IBM o Tuxedo de Oracle Corporation.
1 comentarios:
Buena explicación del gestor transaccional en desarrollo de procesos on line. Se define un componente de negocio completo que viene a ser la transacción y o todo va bien y se actualiza en la base de datos o se deshacen las modificaciones iniciadas y no se hace nada.
Publicar un comentario