What Does Distributed Transaction Mean?
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).
Techopedia Explains Distributed Transaction
Databases are standard transactional resources, and transactions usually extend to a small number of such databases. In such cases, a distributed transaction may be viewed as a database transaction that should be synchronized between various participating databases allocated between various physical locations. The isolation property presents a unique obstacle for multi-database transactions.
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.