Transacciones Distribuidas
Enviado por erickrm90 • 30 de Octubre de 2014 • 707 Palabras (3 Páginas) • 230 Visitas
4.1 Transacciones.
Una transacción es una unidad de la ejecución de un programa que accede y posiblemente actualiza varios elementos de datos. Es fundamental comprender el concepto de transacción para entender e implementar las actualizaciones de los datos en una base de datos, de manera que las ejecuciones concurrentes y los fallos de varios tipos no resulten en que la base de datos se vuelva inconsistente. Ósea la transacción consiste en todas las operaciones que se ejecutan entre inicio transacción y el fin transacción.
• Es necesario que las transacciones tengan las propiedades ACID: atomicidad, consistencia, aislamiento y durabilidad.
— La atomicidad asegura que, o bien todos los efectos de la transacción se reflejan en la base de datos, o bien ninguno de ellos; un fallo no puede dejar a la base de datos en un estado en el cual una transacción se haya ejecutado parcialmente.
— La consistencia asegura que si la base de datos es consistente inicialmente, la ejecución de la transacción (debido a la misma) deja la base de datos en un estado consistente.
— El aislamiento asegura que en la ejecución concurrente de transacciones, están aisladas entre sí, de tal manera que cada una tiene la impresión de que ninguna otra transacción se ejecuta concurrentemente con ella.
— La durabilidad asegura que, una vez que la transacción se ha comprometido, las actualizaciones hechas por la transacción no se pierden incluso si hay un fallo del sistema.
4.1.1 Estructura de transacciones
Las transacciones planas consisten de una secuencia de operaciones primitivas encerradas entre las palabras clave begin y end.
Por ejemplo:
Begin_transaction Reservación
.
.
end.
Transacción anidada dentro de otra transacción: conserva las mismas propiedades que la de sus padres, esto implica, que puede contener así mismo transacciones dentro de ella.
Restricciones de transacción anidada: debe empezar después que su padre y debe terminar antes que él.
Aspectos más importantes relacionados con el procesamiento de transacciones:
Modelo de estructura de transacciones. Es importante considerar si las transacciones son planas o pueden estar anidadas.
Consistencia de la base de datos interna. Los algoritmos de control de datos semántico tienen que satisfacer siempre las restricciones de integridad cuando una transacción pretende hacer un commit.
Protocolos de confiabilidad. En transacciones distribuidas es necesario introducir medios de comunicación entre los diferentes nodos de una red para garantizar la atomicidad y durabilidad de las transacciones.
Algoritmos de control de concurrencia: deben sincronizar la ejecución
...