Transacciones distribuidas

Ir a: navegación, búsqueda de

A transacciones distribuidas es un transacciones de bases de datos en el que participan dos o más hosts de la red. Por lo general, anfitriones proporcionan recursos transaccionales, mientras que el Administrador de transacciones es responsable de crear y gestionar una transacción global que abarca todas las operaciones contra dichos recursos. Transacciones distribuidas, como cualquier otro transacciones, debe tener los cuatro ÁCIDO (atomicidad, coherencia, aislamiento y durabilidad) propiedades, donde atomicidad garantiza los resultados de todo o nada por la unidad de trabajo (paquete de operaciones).

Open Group, un consorcio de proveedores, propuso el X / Open (DTP) modelo de procesamiento de transacciones distribuidas (X / Open XA), que se convirtió en un estándar de facto para el comportamiento de los componentes del modelo de transacción.

Bases de datos son recursos transaccionales comunes y, a menudo, las transacciones abarcan un par de esas bases de datos. En este caso, una transacción distribuida puede ser vista como un transacciones de bases de datos Eso debe ser sincronizado (o proporcionar ÁCIDO propiedades) entre múltiples participantes bases de datos ¿Cuáles son distribuido entre diferentes ubicaciones físicas. El aislamiento propiedad (la i de ácido) plantea un desafío especial para múltiples transacciones de bases de datos, desde el (global) serializabilidad propiedad podría violarse, aunque cada base de datos proporciona (véase también serializabilidad global). En la práctica se utilizan sistemas de base de datos más comerciales fase de fuertes dos estrictos bloqueo (SS2PL) para control de concurrencia, que asegura serializabilidad global, si todas las bases de datos participantes emplean. (véase también compromiso ordenando para multidatabases).

Un campo común algoritmo para asegurar la corregir realización de una transacción distribuida es la ejecución en dos fases (2PC). este algoritmo se aplica generalmente para actualizaciones capaces commit en un corto período de tiempo, que van desde un par de milisegundos a un par de minutos.

También existen las transacciones distribuidas duraderas, por ejemplo una transacción para reservar un viaje, que consiste en reservar un vuelo, un hotel y un coche de alquiler. Puesto que reserva el vuelo podría tomar hasta un día para obtener una confirmación, ejecución en dos fases no es aplicable aquí, se bloqueará los recursos durante tanto tiempo. En este caso se utilizan las técnicas más sofisticadas que involucran múltiples niveles de deshacer. La forma puede anular la reserva llamando a un escritorio y cancelación de la reserva, un sistema puede ser diseñado para deshacer ciertas operaciones (a menos que hayan terminado irreversible).

En la práctica, las transacciones distribuidas longevas se ejecutan en sistemas basados en Servicios Web. Generalmente estas transacciones utilizan principios de Compensación de transacciones, Optimismo y aislamiento sin bloqueo. X / estándar abierto no cubre DTP longevo.

Varias tecnologías modernas, incluyendo Enterprise Java Beans (EJB) y Microsoft Transaction Server (MTS) apoyo plenamente las normas transacciones distribuidas.

Véase también

Java Transaction API (JTA)

Referencias

  • "Las transacciones de servicios web". Transacciones de servicios Web. 2 de mayo, 2005.
  • "Las tuercas y pernos de procesamiento de transacciones". Artículo sobre administración de transacciones. 3 de mayo, 2005.
  • "Una comparación detallada de Enterprise JavaBeans (EJB) y los modelos de Microsoft Transaction Server (MTS)".

Lectura adicional

  • Gerhard Weikum, Gottfried Vossen, Sistemas de información transaccional: teoría, algoritmos y la práctica del control de concurrencia y recuperación, Morgan Kaufmann, 2002, ISBN 1-55860-508-8

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Distributed_transaction&oldid=632128480"