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.
0 comentarios:
Publicar un comentario