Mostrando entradas con la etiqueta unidad 3. Mostrar todas las entradas
Mostrando entradas con la etiqueta unidad 3. Mostrar todas las entradas

3.2 Teoria de Transacciones Anidadas

La estructura de una transacción usualmente se le da el nombre de modelo de la transacción, estas pueden ser planas (simples) o anidadas. Un aspecto muy importante es el mantener y aplicar algoritmos de control sobre los datos o recursos, también se utilizan protocolos que proporcionan confiabilidad:
• Atomicidad.
• Protocolos de recuperación total.
• 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 esta manipulando, ese control de concurrencia tiene 2 objetivos:
1. Como sincronizar la ejecución concurrente de transacciones.
2. Consistencia intratransacción (aislamiento).
Propiedades de las transacciones.
Atomicidad de fallas. Consiste en efectuar todas las transacciones, pero en caso de falla no se realiza ninguna.
Permanencia. Consiste en que una vez completada una transacción satisfactoriamente los cambios ya no pueden perderse.
Seriabilidad. Consiste en asegurarse que los cambios siguen un orden adecuado.
Aborto de transacciones propio para cada transacción. Es la capacidad que se tiene para abortar el proceso transaccional en cualquier punto, el resultado de esta operación no puede ser revelado para otras transacciones.
Punto de inicio y terminación. Consiste en especificar un bloque inicial y un punto que termina el fin de ese bloque.

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:
Ejecutar transacciones serializadas. Es un sistema que permite el procesamiento de transacciones en forma secuencial o serializado y consiste en asignarle una secuencia a cada transacción, este proceso reduce el rendimiento del sistema.
Ejecutar transacciones calendarizadas. 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.

3.1 Proceso de Transacciones en Sistemas Distribuidos

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:

* 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 manejo de transacciones fue desarrollado en el campo de las operaciones financieras donde se tenía 3 reglas básicas:
• Consistencia: Obedecer ciertas reglas.
• Atomicidad: Debe ocurrir completo o abortar.
• Durabilidad: Una vez iniciada una transacción y terminada completamente no puede ser abortada.
• 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.
Motivos del uso de transacciones.
Los sistemas distribuidos tienen varios aspectos que representan problemas para la integridad de los recursos, los cuales 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

UNIDAD III TRANSACCIONES



3.1 Proceso de Transacciones en Sistemas Distribuidos
3.2 Teoria de Transacciones Anidadas