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.

posted under , |

1 comentarios:

Borja_S dijo...

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

Entrada más reciente Entrada antigua Inicio