1 / 24

Distributed Transactions

Distributed Transactions. data manager. transactions. DM. TM. network. TM. T. T. …. …. TM. T. T. T. T. …. DM. transaction manager. DM. physical database. Distributed DBMS Model. T 1 : T 2 : T 3 :. concurrent execution. DB. log :. Serialization. Serialization. T 1 :

leal
Download Presentation

Distributed Transactions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Transactions CS5204 – Operating Systems

  2. data manager transactions DM TM network TM T T …. …. TM T T T T …. DM transaction manager DM physical database Distributed DBMS Model CS 5204 – Operating Systems

  3. T1: T2: T3 : concurrent execution DB log : Serialization CS 5204 – Operating Systems

  4. Serialization T1 : T2 : T3 : concurrent execution DB log : OPERATIONS READ(X): read anyone copy of X R1 (X3) WRITE (Z): write all copies of Z W3(Z2) and W3 (Z3) CS 5204 – Operating Systems

  5. Serialization T1 : T2 : T3 : concurrent execution DB log : • DB is acceptable if it is guaranteed to have resulted from any one of: • T1T2T3 • T2T1T3 • T2T3T1 • T1T3T2 • T3T1T2 • T3T2T1 CS 5204 – Operating Systems

  6. Serialization Consider two concurrent transactions executed at only one DM LOG: R1(X)R2(Y)R1(Y)W1(Z) W1(X)W2(X) R2(Z) CS 5204 – Operating Systems

  7. Serialization Consider two concurrent transactions executed at only one DM LOG: R1(X)R2(Y)R1(Y)W1(Z) W1(X)W2(X) R2(Z) Serial Order: R2(Y) W2(X) R2(Z) ; R1(X)R1(Y)W1(Z) W1(X) CS 5204 – Operating Systems

  8. Serialization Consider two concurrent transactions executed at only one DM 2 LOG: R1(X)R2(Y)R1(Y)W1(Z) W1(X)W2(X) R2(Z) 1 2 Serial Order: R2(Y) W2(X) R2(Z) ; R1(X)R1(Y)W1(Z) W1(X) last write conflict 1 read source conflict 2 CS 5204 – Operating Systems

  9. Serialization Consider two concurrent transactions executed at only one DM LOG: R1(X)R2(Y)R1(Y)W1(Z) W1(X)W2(X) R2(Z) Serial Order: R1(X)R1(Y)W1(Z) W1(X); R2(Y) W2(X) R2(Z) CS 5204 – Operating Systems

  10. Serialization Consider two concurrent transactions executed at only one DM LOG: R1(X)R2(Y)R1(Y)W1(Z) W1(X)W2(X) R2(Z) Serial Order: R1(X)R1(Y)W1(Z) W1(X); R2(Y) W2(X) R2(Z) CS 5204 – Operating Systems

  11. Transactions: X1 Y1 T1 : READ(X); WRITE(Y); T2 : READ(Y); WRITE(Z); T3 : READ(Z); WRITE(X); DM1 Y2 Z2 DM2 Z3 X3 DM3 Distributed Transaction Processing CS 5204 – Operating Systems

  12. Transactions: X1 Y1 T1 : READ(X); WRITE(Y); T2 : READ(Y); WRITE(Z); T3 : READ(Z); WRITE(X); DM1 Y2 Z2 DM2 Z3 X3 DM3 Distributed Transaction Processing LOGS: L1 : R2(Y1) R1(X1) W1(Y1) W3(X1) L2 : R3(Z2) W2(Z2) W1(Y2) L3 : W3(X3) W2(Z3) CS 5204 – Operating Systems

  13. Transactions: X1 Y1 T1 : READ(X); WRITE(Y); T2 : READ(Y); WRITE(Z); T3 : READ(Z); WRITE(X); DM1 Y2 Z2 DM2 Z3 X3 DM3 Distributed Transaction Processing LOGS:L1 : R2(Y1) R1(X1) W1(Y1) W3(X1) L2 : R3(Z2) W2(Z2) W1(Y2) L3 : W3(X3) W2(Z3) Question: Are these logs equivalent to some serial execution of the transactions? CS 5204 – Operating Systems

  14. Serialization of Distributed Logs Conflict: Pj(AX) and Qi(BY) conflict if (1) P and Q are not both READ, and (2) A = B (same data item), and (3) i  j (different transactions), and (4) X = Y (same data manager/log) CS 5204 – Operating Systems

  15. Serialization of Distributed Logs Conflict: Pj(AX) and Qi(BY) conflict if (1) P and Q are not both READ, and (2) A = B, and (3) i  j, and (4) X = Y LOGS:L1 : R2(Y1) R1(X1) W1(Y1) W3(X1) L2 : R3(Z2) W2(Z2) W1(Y2) L3 : W3(X3) W2(Z3) CS 5204 – Operating Systems

  16. LOGS: L1 : R2(Y1) R1(X1) W1(Y1) W3(X1) L2 : R3(Z2) W2(Z2) W1(Y2) L3 : W3(X3) W2(Z3) 2 1 3 Serialization of Distributed Logs Conflict: Pj(AX) and Qi(BY) conflict if (1) P and Q are not both READ, and (2) A = B, and (3) i  j, and (4) X = Y CS 5204 – Operating Systems

  17. LOGS: L1 : R2(Y1) R1(X1) W1(Y1) W3(X1) L2 : R3(Z2) W2(Z2) W1(Y2) L3 : W3(X3) W2(Z3) 2 1 3 => T1 T3 => T2 T1 => T3 T2 1 2 3 Serialization of Distributed Logs Conflict: Pj(AX) and Qi(BY) conflict if (1) P and Q are not both READ, and (2) A = B, and (3) i  j, and (4) X = Y Contradictory  No total order  Not serializable CS 5204 – Operating Systems

  18. LOGS: L1 : R2(Y1) R1(X1) W1(Y1) W3(X1) L2 : R3(Z2) W2(Z2) W1(Y2) L3 : W3(X3) W2(Z3) 2 1 3 => T1 T3 => T2 T1 => T3 T2 1 2 3 Serialization of Distributed Logs Theorem: Distributed logs are serializable if there exists a total ordering of the transactions such that for conflicting operations Pj and Qi a log shows Pj Qi only if Tj Ti Contradictory  No total order  Not serializable CS 5204 – Operating Systems

  19. current lock state lock request not locked READ locked WRITE locked READ OK OK DENY WRITE OK DENY DENY Locking • transactions must use Two Phase Locking (2PL) locking phase release phase Ti time no locks released no new locks requested • only the following lock requests are granted CS 5204 – Operating Systems

  20. Locking Ti lock(X) Ri(X) lock(Y) release(X,Y) concurrency controller Wi(Y) • request lock before accessing a data item • release all locks at the end of transaction • This guarantees serializability [ESWAREN] CS 5204 – Operating Systems

  21. Effects of Locking L1 : R2(Y1) L2 : R3(Z2) L3 : W3(X3) Suppose the transactions have executed to this point: The locks are then: Only T3 is able to execute; it will complete its write and release its locks, leading to … CS 5204 – Operating Systems

  22. Effects of Locking L1 : R2(Y1), W3(X1) L2 : R3(Z2) L3 : W3(X3) …these logs, and… …this lock state: Both T1 and T2 can acquire the locks needed to execute their next actions, resulting in… CS 5204 – Operating Systems

  23. Effects of Locking L1 : R2(Y1), W3(X1), R1(X1) L2 : R3(Z2), W2(Z2) L3 : W3(X3), W2(Z3) …these logs, and… …this lock state: Transaction T2 completes, releases its lock - resulting in… CS 5204 – Operating Systems

  24. Effects of Locking …this lock state: At this point, T1 can acquire the write-lock on Y, perform its write operations and complete, leading to the final serializable logs: L1 : R2(Y1), W3(X1), R1(X1), W1(Y1) L2 : R3(Z2), W2(Z2), W1(Y2) L3 : W3(X3), W2(Z3) CS 5204 – Operating Systems

More Related