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:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.