26 Oct

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: ·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.

3.2 Teoría de transacciones anidadas

Consiste en una serie de modificaciones (transacciones) Aun 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. 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.

Transacciones Distribuidas Sus actividades involucran Múltiples servidores. Se usa el término transacciones distribuidas para Referirse a transacciones planas o anidadas que acceden a objetos administrados Por múltiples servidores.

Una transacción es una unidad lógica de trabajo, la cual No necesariamente consta de una sola operación en la base de datos; más bien, Es en general una secuencia de varias de esas operaciones mediante la cual un Estado consistente de la base de datos se transforma en otro estado Consistente, sin conservar por fuerza la consistencia en todos los puntos Intermedios. El punto importante aquí es asegurar que la base de datos regresa A un estado consistente al fin de la ejecución de una transacción. Una Transacción es también la invocación a un procedimiento remoto (RPC) que Ejecuta un conjunto de operaciones sobre una base de datos bajo el principio de Todo o nada. El concepto fundamental aquí es la noción de «ejecución Consistente» o «procesamiento confiable» asociada con el Concepto de una consulta. El concepto transacción es usado dentro del dominio De la base de datos como una unidad básica de cómputo consistente y confiable.

Mecanismos de recuperación

A fin de soportar una respuesta favorable para la Ejecución de transacciones, el DBMS (Sistema Manejador de Bases de Datos) Deberá de manejar el procesamiento de transacciones. Esto es, deberá de Garantizar que si la transacción ejecuta algunas modificaciones y después se Presenta una falla (por cualquier razón), antes de que llegue al termino normal De la transacción, se anularán esas modificaciones. Así, o bien se lleva a cabo La transacción en su totalidad, o se cancela en su totalidad. De esta manera puede Lograrse que una secuencia de operaciones, la cual en esencia no es atómica, Aparente serlo desde un punto de vista externo. El componente del sistema Encargado de lograr esta apariencia de atomicidad se conoce como Manejador de Transacciones, y las operaciones de COMMIT (comprometer) y ROLLBACK (retroceder) son la clave de su funcionamiento. La operación COMMIT señala el Término exitoso de la transacción: le dice al manejador de transacciones que se Ha finalizado con éxito una unidad lógica de trabajo, que la base de datos esta (o debería estar) de nuevo en un estado consistente, y que se pueden hacer Permanentes todas las modificaciones efectuadas por esa unidad de trabajo. La Operación ROLLBACK, en cambio, señala e término no exitoso de la transacción: Le dice al manejador de transacciones que algo salíó mal, que la base de datos Podría estar en un estado inconsistente y que todas las modificaciones Efectuadas hasta el momento por la unidad lógica de trabajo deben retroceder o Anularse.

PROPIEDADES ACID (Atomicity, Consistency, Isolation, Durability)


Una transacción posee cuatro propiedades fundamentales

Deja un comentario