PROCESAMIENTO DE TRANSACCIONES EN SISTEMAS DISTRIBUIDOS
Enviado por jahc2390 • 31 de Marzo de 2013 • 1.344 Palabras (6 Páginas) • 1.325 Visitas
PROCESAMIENTO DE TRANSACCIONES EN SISTEMAS DISTRIBUIDOS
Los sistemas distribuidos son muy confiables debido a la posibilidad de brindar redundancia y autonomía de recursos en diferentes nodos, esto posibilita detectar y localizar fallas, sin embargo tenemos varios aspectos que representan problemas para la integridad de los recursos y que a su vez motivan el uso de transacciones.
Transacciones:
Fueron originalmente desarrolladas para ser utilizadas dentro de los sistemas de base de datos, donde se usaba para ayudar en el mantenimiento de los datos de las aplicaciones y que dependían de la consistencia de la información almacenada.
Las transacciones son mecanismos que ayudan a simplificar la construcción de sistemas confiables mediante procesos que proporcionan soporte uniforme para invocar y sincronizar operaciones como:
* Operaciones de comparación de datos
* Aseguramiento de la seriabilidad de las transacciones con otras
* Atomicidad en su comportamiento
* Recuperación de fallas
Una transacción es una colección de operaciones que hacen transformaciones consistentes de los estados de un sistema conservando la consistencia del sistema. Una base de datos está en estado consistente si cumple todas las restricciones de integridad definidas sobre ella. Los cambios de estado se dan debido a actualización, inserción y eliminación de la información.
Lo importante aquí es asegurar que la base de datos vuelva aun estado consistente al concluir la ejecución de una transacción (Figura A).
Figura A . Un modelo de transacción.
Algunos aspectos más importantes con el procesamiento de transacciones:
*MODELO DE ESTRUCTURA DE TRANSACCIONES
Es importante considerar si las transacciones son planas o anidadas.
*CONSISTENCIA DE LA BASE DE DATOS INTERNA
Los algoritmos de control de datos tienen que satisfacer las restricciones de integridad cuando una transacción pretende hacer un compromiso.
*PROTOCOLOS DE CONFIABILIDAD
En transacciones distribuidas es necesario introducir medios de comunicación entre los diferentes nodos de una red para garantizar la atomicidad 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 REPLICAS
Se refiere a cómo garantizar la consistencia mutua de datos replicados. El procesamiento de transacciones básicamente 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 y un punto de terminación que define un bloque entre el conjunto de operaciones que son realizadas.
Dentro de este proceso en bloque los demás usuarios no pueden modificar nada hasta que no se presente un estado estable de los datos, esto ocasiona inconsistencia temporal y conflictos. Para evitar lo anterior se implementan dos maneras diferentes:
1- EJECUTAR TRANSACCIONES SERIALIZADAS: Es un sistema que permite el procesamiento de transacciones en forma secuencial o serializado dándole una secuencia a cada transacción, este proceso reduce el rendimiento del sistema, pero tiene como ventaja que el proceso de sincronización es más sencillo.
2- EJECUTAR TRANSACCIONES CALENDARIZADAS: Permite el proceso de transacciones asignándoles tiempos de procesamiento el cual permite incrementar el rendimiento del sistema ya que se ejecuta un máximo de procesos en forma concurrente y no a través de una serie. La ventaja es que a un mismo tiempo de reloj se pueden hacer dos operaciones, aunque el proceso de sincronización es más complicado.
Un aspecto muy importante en el manejo de transacciones es el de mantener y aplicar algoritmos de control sobre los datos o recursos; para ese control también se utilizan protocolos que proporcionen confiabilidad como lo siguientes:
1- Atomicidad
2- Protocolos de recuperación total
3- Protocolos de compromiso global
El control de las transacciones también requiere de controlar la concurrencia del acceso y uso hacia el recurso que se está manipulando, ese control de concurrencia tiene dos objetivos:
*Como sincronizar la ejecución concurrente de transacciones
*Consistencia intra transacción (Aislamiento)
Para llevar
...