1 / 18

Distributed DBMS Model

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

norm
Télécharger la présentation

Distributed DBMS Model

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. DM TM TM T T …. …. TM T T T T …. DM DM Distributed DBMS Model data manager transactions network transaction manager physical database CS 5204 Spring 99

  2. Serialization T1: T2: T3 : concurrent execution DB log : CS 5204 Spring 99

  3. 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 Spring 99

  4. 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 Spring 99

  5. 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 Spring 99

  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) Serial Order: R2(Y) W2(X) R2(Z) ; R1(X)R1(Y)W1(Z) W1(X) CS 5204 Spring 99

  7. 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 Spring 99

  8. 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 Spring 99

  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 Spring 99

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

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

  12. Distributed Transaction Processing Transactions: X1 Y1 T1 : READ(X); WRITE(X); T2 : READ(Y); WRITE(Z); T3 : READ(Z); WRITE(X); DM1 Y2 Z2 DM2 Z3 X3 DM3 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 Spring 99

  13. Serialization of Distributed Logs Conflict: Pj(AX) and Qi(BY) conflict if (1) P and Q are not both READ, and (2) A = B (3) i  j (4) X = Y CS 5204 Spring 99

  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 (3) i  j (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 Spring 99

  15. 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 (3) i  j (4) X = Y Contradictory  No total order  Not serializable CS 5204 Spring 99

  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 => 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 • Pj Qi in a LOG only if Tj Ti Contradictory  No total order  Not serializable CS 5204 Spring 99

  17. 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 Spring 99

  18. 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 Spring 99

More Related