Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
A distributed transaction is a type of transaction with two or more engaged network hosts. Generally, hosts provide resources, and a transaction manager is responsible for developing and handling the transaction. Like any other transaction, a distributed transaction should include all four ACID properties (atomicity, consistency, isolation, durability). Given the nature of the work, atomicity is important to ensure an all-or-nothing outcome for the operations bundle (unit of work).
For distributed transactions, each computer features a local transaction manager. If the transaction works at several computers, the transaction managers communicate with various other transaction managers by means of superior or subordinate relationships, which are accurate only for a specific transaction.
Resource managers handle consistent or resilient data and closely cooperate with the distributed transaction coordinator (DTC) to ensure an application's isolation and atomicity. In distributed transactions, every participating element should conform to committing a change action, such as a database update, prior to the transaction. The DTC coordinates the transaction for the participating components and works as a transaction manager for each computer that is meant to manage the transactions. When distributing transactions between various computers, the transaction manager delivers, prepares, commits and aborts messages to each subordinate transaction manager.
In the DTC's two-phase commit algorithm, phase one involves the transaction manager prompting commitment preparation of each enlisted component, whereas in phase two, if all components are prepared to successfully commit, the transaction manager messages the decision to commit.