Transacciones Distribuidas
erickrm9030 de Octubre de 2014
707 Palabras (3 Páginas)253 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 de transacciones concurrentes bajo el criterio de correctitud.
La consistencia entre transacciones se garantiza mediante el aislamiento de las mismas.
Protocolos de control de réplicas. se refiere a cómo garantizar la consistencia mutua de datos replicados.
El despachador: es responsable de implementar un algoritmo específico de control de concurrencia para sincronizar los accesos a la base de datos.
Los administradores de transacciones implementan una interfaz para los programas de aplicación que consiste de los comandos: Begin_transaction. Read. Write. Commit. Abort.
4.1.2 Ejecución de transacciones centralizada y distribuida.
Teoría del procesamiento de transacciones.
Consiste en una serie de modificaciones (transacciones) a un determinado recurso del sistema (por ejemplo una base de datos) y en donde se define un punto de inicio (Begin Transaction) y un punto de terminación que define un
...