Distributed transaction definition
A distributed transaction refers to a database transaction that involves multiple network hosts. Typically, these hosts offer transactional resources, and a transaction manager is responsible for creating and overseeing a global transaction that encompasses all operations performed on these resources.
Distributed transactions must adhere to the four ACID properties (Atomicity, Consistency, Isolation, Durability), ensuring that the outcome of the unit of work is either entirely successful or unsuccessful.
How distributed transactions evolved
- Pre-1970s. In the early days of computing, transactions were primarily carried out on standalone mainframe computers — the concept of distributed transactions did not yet exist.
- 1970s. Minicomputers and networking technologies paved the way for the concept of distributed computing.
- 1980s. Advancements in computer networking and the proliferation of local area networks (LANs) led to the development of distributed systems.
- Late 1980s to early 1990s. Research in distributed computing led to the development of formal models and protocols for distributed transactions, including the two-phase commit (2PC) and three-phase commit (3PC).
- 1990s. Databases and middleware solutions started incorporating support for distributed transactions, adopting technologies like the Distributed Transaction Coordinator and Java Transaction API.
- 2000s. Distributed NoSQL databases and distributed file systems introduced new ways to manage data in distributed environments.
- Recent trends. Blockchain and distributed ledger technology (DLT) introduced new paradigms for distributed consensus and transactions, challenging traditional centralized models.