2.1 PROCESAMIENTO DE TRANSACCIONES EN SISTEMAS DISTRIBUIDOS Motivos del uso de transacciones.

Los sistemas distribuidos son potencialmente muy fiables debido a la posibilidad de proveer redundancia y autonomía de recursos en diferentes nodos, esto permite detectar y localizar fallas, sin embargo comúnmente tenemos varios aspectos que representan problemas para la integridad de los recursos y que a su vez motivan el uso de transacciones: 1. Dificultad para mantener consistencia en los datos. 2. Una misma vía de comunicación no siempre puede ser utilizada para proveer interacción entre 2 procesos. 3. Requerimientos de procesamiento en paralelo. 4. Manejo interactivo de uno o más usuarios Definición de transacciones. Las transacciones fueron originalmente desarrolladas para ser utilizadas dentro de los sistemas de base de datos, donde se usaba para auxiliar en el mantenimiento de los datos de las aplicaciones y que dependían de la consistencia de la información almacenada. Las transacciones son un mecanismo que ayuda a simplificar la construcción de sistemas confiables a través de procesos que proveen soporte uniforme para invocar y sincronizar operaciones como:
y y y y y

Operaciones de compartición de datos. Aseguramiento de la seriabilidad de las transacciones con otras. Atomicidad en su comportamiento. Recuperación de fallas provocadas en red y nodos.

El término transacción describe una secuencia de operaciones con uno o más recursos (por ejemplo una base de datos) que transforman su estado actual en un nuevo estado de consistencia.

Durabilidad: Una vez iniciada una transacción y terminada completamente no puede ser abortada. Es un sistema que permite el proceso de transacciones asignándole tiempos de procesamiento el cual permite incrementar el rendimiento del sistema ya que se ejecuta un máximo de proceso en forma concurrente y no a través de una serie. Ejecutar transacciones calendarizadas. .El manejo de transacciones fue desarrollado en el campo de las operaciones financieras donde se tenía 3 reglas básicas: Consistencia: Obedecer ciertas reglas. esto ocasiona inconsistencia temporal y conflictos. Es un sistema que permite el procesamiento de transacciones en forma secuencial o serializado y consiste en asignarle una secuencia a cada transacción. 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 Tran) y un punto de terminación que define un bloque entre el conjunto de operaciones que son realizadas . Para evitar lo anterior se implementan dos maneras diferentes: Ejecutar transacciones serializadas. Atomicidad: Debe ocurrir completo o abortar. este proceso reduce el rendimiento del sistema. 2. Dentro del área de los sistemas computacionales el concepto de transacciones fue inicialmente utilizado para definir la consistencia entre múltiples usuarios de una base de datos.2 TEORÍA DE TRANSACCIONES ANIDADAS. 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.

las cuales deben ser proporcionadas por el sistema operativo. estas transacciones están incluidas dentro de otra de un nivel superior y se les conoce como: SubTransacciones. Consiste en efectuar todas las transacciones. una transacción Seriabilidad. Punto de inicio y terminación. Atomicidad de fallas. La transacción de nivel superior puede producir hijos (Subtransacciones) que hagan más fácil la programación del sistema y mejorando el desempeño. el resultado de esta operación no puede ser revelado para otras transacciones. Es la capacidad que se tiene para abortar el proceso transaccional en cualquier punto. Consiste en que una vez completada satisfactoriamente los cambios ya no pueden perderse. La programación con uso transacciones requiere de instrucciones especiales. Aborto de transacciones propio para cada transacción.Propiedades de las transacciones. por el compilador del lenguaje o por el manejador de la base de datos. Consiste en tener transacciones que dependen de otras. Consiste en asegurarse que los cambios siguen un orden adecuado. Algunos ejemplos son: BEGIN_TRANSACTION END_TRANSACTION ABORT_TRANSACTION READ WRITE . Ejecutar transacciones anidadas. pero en caso de falla no se realiza ninguna. Consiste en especificar un bloque inicial y un punto que termina el fin de ese bloque. Permanencia. Instrucciones para el uso de transacciones.

para ese control también se utilizan protocolos que proporcionan confiabilidad como los siguientes: y y y Atomicidad. 2. estas pueden ser planas (simples) o anidadas. Para llevar a cabo el control de concurrencia dentro de un proceso de transacciones se manejan 2 modos: Ejecución centralizada de transacciones. Protocolos de recuperación total. La estructura de una transacción usualmente se le da el nombre de modelo de la transacción. Procesamiento de transacciones. Consistencia intratransacción (aislamiento).La cantidad exacta de instrucciones disponibles para manejar transacciones depende del tipo de objetos y operaciones que deban ser procesadas. ese control de concurrencia tiene 2 objetivos: 1. Protocolos de compromiso global. Como sincronizar la ejecución concurrente de transacciones. El control de las transacciones también requiere de controlar la concurrencia del acceso y uso hacia el recurso que se esta manipulando. Un aspecto muy importante en el manejo de transacciones es el mantener y aplicar algoritmos de control sobre los datos o recursos. .

Espacio de trabajo privado. . Métodos de implantación de transacciones.Ejecución distribuida de transacciones. Todo el espacio de trabajo con la información que será utilizada es contenido dentro de estas copias denominado espacio de trabajo privado. Consiste en realizar copias de los bloques que serán utilizados dentro de una transacción de manera que se trabaje con estas copias para realizar todas las modificaciones necesarias. Los demás usuarios trabajarán con la copia original de los bloques pero no podrán obtener segunda copia de los mismos.

El término transacción describe una secuencia de operaciones con uno o más recursos (por ejemplo una base de datos) que transforman su estado actual en un nuevo estado de consistencia. 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. 3. Recuperación de fallas provocadas en red y nodos. Consistencia: Obedecer ciertas reglas. 2. esto ocasiona inconsistencia temporal y conflictos . Atomicidad en su comportamiento. La teoría de las 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 Tran) y un punto de terminación que define un bloque entre el conjunto de operaciones que son realizadas.RESUMEN Las transacciones son un mecanismo que ayuda a simplificar la construcción de sistemas confiables a través de procesos que proveen soporte uniforme para invocar y sincronizar operaciones como: y y y y Operaciones de compartición de datos. Atomicidad: Debe ocurrir completo o abortar. Durabilidad: Una vez iniciada una transacción y terminada completamente no puede ser abortada. El manejo de transacciones fue desarrollado en el campo de las operaciones financieras donde se tenía 3 reglas básicas: 1. Aseguramiento de la seriabilidad de las transacciones con otras.

Sign up to vote on this title
UsefulNot useful