Transacciones - Transacciones atómicas


Una transacción atómica (atomic transaction) considera un conjunto de operaciones como una única operación que puede prosperar o fracasar. Este conjunto de operaciones están agrupadas formando el ámbito de la transacción. Si una operación se ejecuta correctamente, da paso a la operación siguiente, en caso contrario realiza una operación de ROLLBACK que deshace los datos o el estado que iba a ser persistido y termina la unidad de ejecución o el ámbito de la transacción.

Un proceso controlador se encarga de ejecutar cada uno de los procesos que componen el ámbito de la transacción y de determinar si individualmente han terminado correctamente o no.

Al final del ámbito, si la última operación ha tenido una ejecución correcta como el resto de las operaciones anteriores, el proceso controlador realiza un COMMIT que se encarga de persistir los datos modificados por la transacción.

Las transacciones atómicas son particularmente útiles cuando se desea aislar los datos del resto de los procesos o transacciones. Estas transacciones deben asegurar que los cambios realizados a objetos, variables, bases de datos y otros repositorios de información solo sean visibles fuera del ámbito de la transacción después de ejecutar la operación COMMIT. En otras palabras, los cambios solo son visibles después de ser persistidos.

El esquema de tratamiento de errores o de excepciones debe garantizar que cada operación que falle debe ejecutar una operación de ROLLBACK para impedir la persistencia de cambios de forma permanente y acto seguido terminar el ámbito de la transacción.

Por lo general, las transacciones atómicas se caracterizan por sus propiedades ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad).

Son atómicas porque el conjunto de operaciones que se ejecutan como un todo no puede quedar a medias, sino que en principio tiene que terminarse. En caso de error, la transacción debe garantizar que los cambios nunca serán persistidos.

Son consistentes, porque por diseño realizan unas operaciones que en la práctica se pueden realizar. Estas operaciones tienen que estar convenientemente probadas para garantizar que al ser incorporadas a la transacción atómica, esta no pierda su consistencia.

Son aisladas, porque su ejecución no interfiere en la ejecución de otras transacciones.

Y son durables, debido a que como resultado de una ejecución exitosa de la transacción, se persisten unos cambios de datos o de estado que no pueden ser deshechos.

Estas transacciones son típicas en sistemas centralizados y son de corta duración.

Ejemplos de este tipo de transacciones son: extracción de dinero de cajero automático o una consulta de saldo. 



posted under , |

0 comentarios:

Publicar un comentario

Entrada más reciente Entrada antigua Inicio