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
* 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
2.8 Beneficios de Duplicidad
En un sistema distribuido, es común que la información se duplique para mejorar el desempeño y la disponibilidad. Almacenando copias de información compartida en procesadores donde sea frecuentemente accesada, se decrementará el uso de accesos de lectura remotos.
Además, almacenando copias de la información que resulta crítica en procesadores con modos de falla independientes, se aumentará la probabilidad de que estará disponible al menos una copia de la información crítica.
Es común que la duplicidad resulte central al resolver algunos problemas de computación distribuida.
Cualquier demora impuesta por la red a los controladores debe ser resuelta, pero en un sistema donde la información no es duplicada o almacenada en caché, esto es difícil de garantizar debido a la perdida de paquetes. Por lo anterior, los sistemas distribuidos de tiempo real necesitan de algún método para duplicar información crítica requerida en rutas críticas.
La duplicidad de la información beneficia altamente el trabajo en red, ya que en el caso de alguna caída de alguna máquina se puede propagar la falla a otras más. Puede ser necesario tener respaldos de procesos que se restablecerán para completar el proceso interrumpido.
Además, almacenando copias de la información que resulta crítica en procesadores con modos de falla independientes, se aumentará la probabilidad de que estará disponible al menos una copia de la información crítica.
Es común que la duplicidad resulte central al resolver algunos problemas de computación distribuida.
Cualquier demora impuesta por la red a los controladores debe ser resuelta, pero en un sistema donde la información no es duplicada o almacenada en caché, esto es difícil de garantizar debido a la perdida de paquetes. Por lo anterior, los sistemas distribuidos de tiempo real necesitan de algún método para duplicar información crítica requerida en rutas críticas.
La duplicidad de la información beneficia altamente el trabajo en red, ya que en el caso de alguna caída de alguna máquina se puede propagar la falla a otras más. Puede ser necesario tener respaldos de procesos que se restablecerán para completar el proceso interrumpido.
2.7 Fallos de Particion

Cuando llega a fallar la comunicación entre dos sitios que contienen copias de los mismos datos lógicos, se hace difícil asegurar la consistencia mutua entre las copias. Las fallas más dañinas son las fallas de partición, las cuales fragmentan la red en subredes aisladas llamadas particiones. A menos que las fallas de partición sean detectadas y reconocidas por todos los procesadores afectados, las modificaciones independientes y no coordinadas pueden aplicarse a las diferentes copias de la información, comprometiendo la correctitud (integridad) de ella.
Sin embargo, los problemas relacionados con el funcionamiento correcto de un sistema de archivos distribuidos particionado no se limita sólo a aquellos asociados con que la información almacenada sea correcta. Debido al costo y la complejidad de mantener información duplicada, la mayoría de los sistemas de archivos distribuidos limitan la cantidad de réplicas a algunas cuantas copias. Ya que la información no se encuentra duplicada en todos los sitios de la red, se pueden montar consultas durante una partición de la red, por lo que no toda la información se encuentre disponible en determinado momento.
Suscribirse a:
Entradas (Atom)

