Distributed transaction

A distributed transaction is a database transaction in which two or more network hosts are involved. Usually, hosts provide transactional resources, while the transaction manager is responsible for creating and managing a global transaction that encompasses all operations against such resources. Distributed transactions, as any other transactions, must have all four ACID (atomicity, consistency, isolation, durability) properties, where atomicity guarantees all-or-nothing outcomes for the unit of work (operations bundle).

Comment
enA distributed transaction is a database transaction in which two or more network hosts are involved. Usually, hosts provide transactional resources, while the transaction manager is responsible for creating and managing a global transaction that encompasses all operations against such resources. Distributed transactions, as any other transactions, must have all four ACID (atomicity, consistency, isolation, durability) properties, where atomicity guarantees all-or-nothing outcomes for the unit of work (operations bundle).
Has abstract
enA distributed transaction is a database transaction in which two or more network hosts are involved. Usually, hosts provide transactional resources, while the transaction manager is responsible for creating and managing a global transaction that encompasses all operations against such resources. Distributed transactions, as any other transactions, must have all four ACID (atomicity, consistency, isolation, durability) properties, where atomicity guarantees all-or-nothing outcomes for the unit of work (operations bundle). Open Group, a vendor consortium, proposed the X/Open Distributed Transaction Processing (DTP) Model (X/Open XA), which became a de facto standard for behavior of transaction model components. Databases are common transactional resources and, often, transactions span a couple of such databases. In this case, a distributed transaction can be seen as a database transaction that must be synchronized (or provide ACID properties) among multiple participating databases which are distributed among different physical locations. The isolation property (the I of ACID) poses a special challenge for multi database transactions, since the (global) serializability property could be violated, even if each database provides it (see also global serializability). In practice most commercial database systems use strong strict two phase locking (SS2PL) for concurrency control, which ensures global serializability, if all the participating databases employ it. (see also commitment ordering for multidatabases.) A common algorithm for ensuring correct completion of a distributed transaction is the two-phase commit (2PC). This algorithm is usually applied for updates able to commit in a short period of time, ranging from couple of milliseconds to couple of minutes. There are also long-lived distributed transactions, for example a transaction to book a trip, which consists of booking a flight, a rental car and a hotel. Since booking the flight might take up to a day to get a confirmation, two-phase commit is not applicable here, it will lock the resources for this long. In this case more sophisticated techniques that involve multiple undo levels are used. The way you can undo the hotel booking by calling a desk and cancelling the reservation, a system can be designed to undo certain operations (unless they are irreversibly finished). In practice, long-lived distributed transactions are implemented in systems based on Web Services. Usually these transactions utilize principles of compensating transactions, Optimism and Isolation Without Locking. X/Open standard does not cover long-lived DTP. Several technologies, including Enterprise Java Beans (EJBs) and Microsoft Transaction Server (MTS) fully support distributed transaction standards.
Hypernym
Transaction
Is primary topic of
Distributed transaction
Label
enDistributed transaction
Link from a Wikipage to an external page
xml.sys-con.com/read/43755.htm
web.archive.org/web/20080511221610/http:/xml.sys-con.com/read/43755.htm
gsraj.tripod.com/misc/ejbmtscomp.html
comet.lehman.cuny.edu/cocchi/CIS256/StudentReading/TransactionProcessing.doc
Link from a Wikipage to another Wikipage
ACID
Algorithm
Category:Data management
Category:Transaction processing
Commit (data management)
Commitment ordering
Compensating transaction
Concurrency control
Correctness (computer science)
Database
Database transaction
Distributed computing
Distributed transaction processing
Enterprise Java Beans
Global serializability
Isolation (computer science)
Java Transaction API
Microsoft Transaction Server
Open XA
Serializability
Synchronization
Two-phase commit
Two phase locking
Web Services
X
SameAs
3kUtf
Distribuert transaksjon
Giao dịch phân tán
m.02x8y5
Q4053284
Transazione distribuita
Розподілена транзакція
分散トランザクション
분산 트랜잭션
Subject
Category:Data management
Category:Transaction processing
WasDerivedFrom
Distributed transaction?oldid=1111363225&ns=0
WikiPageLength
4292
Wikipage page ID
619053
Wikipage revision ID
1111363225
WikiPageUsesTemplate
Template:Cite web
Template:ISBN
Template:Reflist