Transacción distribuida

Definición: ¿Qué significa transacción distribuida?

Una transacción distribuida es un tipo de transacción con dos o más hosts de red comprometidos. Generalmente, los hosts proporcionan recursos y un administrador de transacciones es responsable de desarrollar y manejar la transacción. Como cualquier otra transacción, una transacción distribuida debe incluir las cuatro propiedades ACID (atomicidad, consistencia, aislamiento, durabilidad). Dada la naturaleza del trabajo, la atomicidad es importante para garantizar un resultado de todo o nada para el paquete de operaciones (unidad de trabajo).

Techinfo explica la transacción distribuida

Las bases de datos son recursos transaccionales estándar y las transacciones generalmente se extienden a una pequeña cantidad de dichas bases de datos. En tales casos, una transacción distribuida puede verse como una transacción de base de datos que debe sincronizarse entre varias bases de datos participantes asignadas entre varias ubicaciones físicas. La propiedad de aislamiento presenta un obstáculo único para las transacciones de múltiples bases de datos.

Para transacciones distribuidas, cada computadora cuenta con un administrador de transacciones local. Si la transacción funciona en varias computadoras, los administradores de transacciones se comunican con varios otros administradores de transacciones por medio de relaciones superiores o subordinadas, que son precisas solo para una transacción específica.

Los administradores de recursos manejan datos consistentes o resistentes y cooperan estrechamente con el coordinador de transacciones distribuidas (DTC) para garantizar el aislamiento y la atomicidad de una aplicación. En las transacciones distribuidas, cada elemento participante debe cumplir con la realización de una acción de cambio, como una actualización de la base de datos, antes de la transacción. El DTC coordina la transacción para los componentes participantes y funciona como un administrador de transacciones para cada computadora que está destinada a administrar las transacciones. Al distribuir transacciones entre varias computadoras, el administrador de transacciones entrega, prepara, confirma y cancela mensajes a cada administrador de transacciones subordinado.

En el algoritmo de compromiso de dos fases del DTC, la fase uno implica que el administrador de transacciones solicite la preparación del compromiso de cada componente alistado, mientras que en la fase dos, si todos los componentes están preparados para comprometerse con éxito, el administrador de transacciones envía un mensaje con la decisión de comprometerse.