EJECUCIÓN DE TRANSACCIONES DISTRIBUIDAS. (3er Parcial)

EJECUCIÓN DE TRANSACCIONES DISTRIBUIDAS.






Una transacción es un Sistema de Gestión de Bases de Datos es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica.​




Para esto, el lenguaje de consultas de datos SQL (Structured Query Language), provee los mecanismos para especificar que un conjunto de acciones deben construir una transacción:​


  • ​BEGIN TRAN: Especifica que va a empezar una transacción.​


  • ​COMMIT TRAN: Le indica al motor que puede considerar la transacción completada con éxito.​


  • ​ROLLBACK TRAN: Indica que se ha alcanzado un fallo y que debe restablecer la base al punto de integridad.​




Es un sistema ideal, las transacciones deberían garantizar todas las propiedades ACID; en la práctica, a veces alguna de estas propiedades se simplifican o debilitan con vista a obtener un mejor rendimiento.​



Transacciones: Propiedades ACID.​
Las propiedades ACID para las transacción transacciones locales, debido a la dificultad de controlar los fallos para las transacciones globales que actúan en varios Sitios. ​

  • Atomicidad (Atomicity).​
  • Consistencia (Consistency)​
  • Aislamiento (Isolation ​

  •  Durabilidad (Durability)​







Atomicidad: Se refiere al hecho de que una transacción se trata como una unidad de operación Por lo tanto , a todas las acciones de la transacción se realizan o ninguna de ellas se lleva a cabo .​




Consistencia: La consistencia de una transacción es simplemente su correctitud. Las transacciones no violan, las restricciones de integridad de una base de datos.​




Aislamiento: Una transacción en ejecución no puede revelar sus resultados en otras transacciones concurrentes antes de un COMMIT. ​




Durabilidad: Es la propiedad de las transacciones que asegura que una vez que una transacción hace su COMMIT, sus resultados son permanentes y no pueden ser borrados de la base de datos.​






El acceso a los elemento de datos suele implicar el uso de transacciones. Hay dos tipos de transacciones que se pueden dar en una BDD:​





  1.  LOCALES: Tienen acceso a los datos y los actualizan sólo en una BD local
  2. GLOBALES: Tienen acceso a los datos y los actualizan en varias BD locales.​





Cada sitio tiene su propio gestor local de transacciones, que se encarga de garantizar las propiedades ACID localmente. Las transacciones globales se gestionan conjuntamente contando con la participación de los sitos involucrados.​





Podemos imaginar que cada sitio encargado de gestionar transacciones está formado de dos partes:​





1- Gestor de transacciones: Administra la ejecución de las transacciones en un sitio local. Cada una de estas puede ser una transacción local o parte de una global.​


2- Coordinador de transacciones: Coordina la ejecución de las transacciones iniciadas en un sitio, sean del tipo que sean.​
Hay tres tipos de transacciones: ​






1- En las transacciones de recuperación: Se accede a los datos para visualizarlos en la pantalla a modos de informe.​


2- En las transacciones de actualización: Se insertan, borran o actualizan datos de la base de datos.​


3- En las transacciones mixtas. Se mezclan operaciones de recuperación de datos y de actualización.​


Comandos a tener en cuenta en las transacciones











Por regla general en los gestores de datos relacionales modernos disponemos de tres tipos de transacciones según la forma de iniciarlas:​



-DE CONFORMACIÓN AUTOMÁTICA: El gestor de datos inicia una transacción automáticamente por cada operación que actualice datos. De este modo mantiene siempre la consistencia de la base de datos, aunque puede generar bloqueos.​




-IMPLICITAS: Cuando el gestor de datos comienza una transacción automáticamente cada vez que se produce una actualización de datos, pero el que dicha transacción se confirme o se deshaga, lo debe indicar el programador.​




-EXPLICITAS: Son las iniciamos nosotros “a mano” mediante instrucciones SQ. Somos nosotros, los programadores, los que indicamos que operaciones va a abarcar. Una transacción explicita se define de manera general con una institución que marca su inicio, y posibles instrucciones que marcan si final en función de si debe tener éxito o debe fracasar en bloque
















​​
CONCLUSION: En conclusion se dice que es una transaccion, si es capaz de mantener la integridad delos datos, haciendo que estas transacciones no puedan finalizar en unestado intermedio. Cuando por alguna causa el sistema debe cancelar latransacción, empieza a deshacer las órdenes ejecutadas hasta dejar la base de datos en su estado inicia llamado punto de integridad, como si la orden de la transacción nunca se hubiese realizado.

Comentarios