Knowledge (XXG)

Distributed transaction

Source 📝

118:
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
119:
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).
188: 56:
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
35:
creates and manages a global transaction that encompasses all operations against such resources. Distributed transactions, as any other
235: 255: 104: 138: 77: 196: 168: 130:, Optimism and Isolation Without Locking. The X/Open standard does not cover long-lived distributed transactions. 250: 127: 112: 228:
Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery
85: 213:"A Detailed Comparison of Enterprise JavaBeans (EJB) & The Microsoft Transaction Server (MTS) Models" 43:
properties, where atomicity guarantees all-or-nothing outcomes for the unit of work (operations bundle).
134: 73: 80:
property (the I of ACID) poses a special challenge for multi database transactions, since the (global)
150: 57: 36: 24: 93: 53:(X/Open XA), which became a de facto standard for the behavior of transaction model components. 231: 89: 108: 81: 61: 46: 96:, which ensures global serializability, if all the participating databases employ it. 244: 122:
In practice, long-lived distributed transactions are implemented in systems based on
115:
in a short period of time, ranging from couple of milliseconds to couple of minutes.
123: 212: 100: 50: 155: 69: 172: 84:
property could be violated, even if each database provides it (see also
27:
in which two or more network hosts are involved. Usually, hosts provide
65: 40: 111:(2PC). This algorithm is usually applied for updates able to 156:
Enduro/X open-source X/Open XA and XATMI implementation
88:). In practice most commercial database systems use 41:
ACID (atomicity, consistency, isolation, durability)
126:. Usually these transactions utilize principles of 141:fully support distributed transaction standards. 16:Database transaction between two or more networks 107:completion of a distributed transaction is the 51:X/Open Distributed Transaction Processing Model 8: 189:"Nuts And Bolts Of Transaction Processing" 68:properties) among multiple participating 76:among different physical locations. The 90:strong strict two phase locking (SS2PL) 7: 193:Article about Transaction Management 49:, a vendor consortium, proposed the 226:Gerhard Weikum, Gottfried Vossen, 14: 133:Several technologies, including 1: 139:Microsoft Transaction Server 169:"Web-Services Transactions" 272: 230:, Morgan Kaufmann, 2002, 128:compensating transactions 135:Jakarta Enterprise Beans 29:transactional resources 21:distributed transaction 256:Transaction processing 86:global serializability 39:, must have all four 151:Java Transaction API 58:database transaction 25:database transaction 94:concurrency control 33:transaction manager 263: 216: 208: 206: 204: 199:on July 13, 2018 195:. Archived from 184: 182: 180: 171:. Archived from 109:two-phase commit 271: 270: 266: 265: 264: 262: 261: 260: 251:Data management 241: 240: 223: 221:Further reading 211: 202: 200: 187: 178: 176: 175:on May 11, 2008 167: 164: 147: 82:serializability 17: 12: 11: 5: 269: 267: 259: 258: 253: 243: 242: 239: 238: 222: 219: 218: 217: 209: 185: 163: 160: 159: 158: 153: 146: 143: 47:The Open Group 15: 13: 10: 9: 6: 4: 3: 2: 268: 257: 254: 252: 249: 248: 246: 237: 236:1-55860-508-8 233: 229: 225: 224: 220: 214: 210: 198: 194: 190: 186: 174: 170: 166: 165: 161: 157: 154: 152: 149: 148: 144: 142: 140: 136: 131: 129: 125: 120: 116: 114: 110: 106: 103:for ensuring 102: 97: 95: 91: 87: 83: 79: 75: 71: 67: 63: 60:that must be 59: 54: 52: 48: 44: 42: 38: 34: 30: 26: 22: 227: 201:. Retrieved 197:the original 192: 177:. Retrieved 173:the original 132: 124:web services 121: 117: 98: 64:(or provide 62:synchronized 55: 45: 37:transactions 32: 28: 20: 18: 74:distributed 245:Categories 162:References 72:which are 31:, while a 101:algorithm 99:A common 78:isolation 70:databases 145:See also 105:correct 234:  203:May 3, 179:May 2, 113:commit 23:is a 232:ISBN 205:2005 181:2005 137:and 92:for 66:ACID 247:: 191:. 19:A 215:. 207:. 183:.

Index

database transaction
transactions
ACID (atomicity, consistency, isolation, durability)
The Open Group
X/Open Distributed Transaction Processing Model
database transaction
synchronized
ACID
databases
distributed
isolation
serializability
global serializability
strong strict two phase locking (SS2PL)
concurrency control
algorithm
correct
two-phase commit
commit
web services
compensating transactions
Jakarta Enterprise Beans
Microsoft Transaction Server
Java Transaction API
Enduro/X open-source X/Open XA and XATMI implementation
"Web-Services Transactions"
the original
"Nuts And Bolts Of Transaction Processing"
the original
"A Detailed Comparison of Enterprise JavaBeans (EJB) & The Microsoft Transaction Server (MTS) Models"

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.