Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Transacciones PDF
Transacciones PDF
Transacciones distribuidas.
Un sistema de informacin distribuido permite que los usuarios almacenen, accedan y
modifiquen datos de manera transparente desde o hacia diversas computadoras, manteniendo la
integridad de los datos durante alguna falla. Dada la naturaleza de una consulta, de lectura o
actualizacin, a veces simplemente no se puede reactivar su ejecucin, puesto que algunos datos
pueden haber sido modificados antes de un error. El no tomar en cuenta estos factores puede
propiciar que la informacin en las bases de datos del sistema sea incoherente.
Un sistema transaccional es aquel que asegura que una unidad de trabajo se realice
completamente o que no tenga efecto. El manejo de transacciones libera al programador de la
responsabilidad de ocuparse del acceso a datos, incluyendo modificaciones concurrentes en los
datos, tolerancia a fallas y programacin multiusuario.
5. 1. Transacciones.
Una transaccin es un grupo de sentencias que representan una unidad de trabajo y deben
ejecutarse en su totalidad. Las transacciones son secuencias de operaciones lecturas, escrituras o
actualizaciones - que llevan a un sistema de un estado consistente a otro. Se dice que una base de
datos se encuentra en un estado consistente si obedece a todas las restricciones de integridad
definidas sobre ella.
Por ejemplo, si deseramos implementar una transferencia de fondos entre dos cuentas
bancarias de un mismo cliente, podramos realizar dos operaciones:
Commit
Rollback
Si existe por lo menos una falla dentro de las operaciones de una transaccin, se dice que
sta aborta. Su ejecucin es detenida y todas las operaciones ejecutadas hasta el momento del
error son deshechas, regresando la base de datos al estado consistente en que se encontraba antes
de iniciar la transaccin. A esta operacin se le conoce como hacer un rollback.
5. 1. 1. Propiedades de una transaccin
Para garantizar que los datos involucrados en una transaccin sean compartidos de manera
segura y confiable, sta debe contar con cuatro propiedades bsicas: atomicidad, consistencia,
aislamiento y durabilidad. Dichas propiedades son conocidas por
Atomicidad (Atomicity)
Significa que la transaccin se considera completa si, y slo si, todas las operaciones que
involucra son ejecutadas exitosamente. Si cualquiera de las operaciones en la transaccin falla, la
transaccin debe abortar.
72
Consistencia (Consistency)
Significa que una transaccin debe llevar los datos de un estado consistente a otro,
preservando la semntica de stos y su integridad referencial.
El registro de una orden de compra sin el correspondiente recargo creara un estado
inconsistente en el sistema de nuestro ejemplo. Se suscitara un grave problema si el responsable
del sistema de ventas se percatara de que una orden de compra ha sido registrada sin haberle
cobrado al comprador. De esta manera, la consistencia de un sistema es un requerimiento clave
para las aplicaciones transaccionales.
Aislamiento (Isolation)
Significa que cualquier cambio hecho en los datos por una transaccin inicial es invisible
para cualquier otra transaccin, mientras la primera transaccin no haya terminado. El aislamiento
garantiza que varias transacciones concurrentes produzcan los mismos resultados en los datos y
que una transaccin no acceda a datos que estn siendo modificados en forma concurrente.
Una consulta en nuestro sistema de ventas no debera reportar una orden de compra que
todava se encuentra en proceso de realizacin hasta que la transaccin que involucra dicha orden
haya hecho un commit. El aislamiento es importante para brindar una vista consistente del sistema
a otras aplicaciones. De esta manera, los cambios realizados slo deben percibirse cuando su
ejecucin haya sido completada.
73
Durabilidad (Durability)
Por su durabilidad. Dado que los resultados de una transaccin que realiza un
commit son durables, la nica forma de deshacer sus efectos es utilizando otra
transaccin que los modifique. A este tipo de transacciones se les conoce como
transacciones compensatorias.
Por su duracin. Tomando en cuenta el tiempo que transcurre desde que se inicia
una transaccin hasta que se realiza un commit o un rollback, las transacciones pueden
ser de corta y larga vida. Las transacciones de vida corta (tambin conocidas como
74
5. 2. Transacciones Distribuidas.
75
Manejador de
transacciones distribuidas
Manejador local
de Base de datos
Manejador local
de Base de datos
Manejador local
de Base de datos
76
ejecucin de una transaccin antes de que los cambios hechos por la transaccin sean
permanentes.
Fase 1
Fase 2
Si
Manejador de
transacciones distribuidas
Manejador local
de Base de datos
Manejador local
de Base de datos
77
Manejador local
de Base de datos
FASE 1
commit.
78