Download presentation
Presentation is loading. Please wait.
1
cs4432concurrency control1 CS4432: Database Systems II Lecture #21 Concurrency Control Professor Elke A. Rundensteiner
2
cs4432concurrency control2 Chapter 9Concurrency Control T1T2…Tn DB (consistency constraints)
3
cs4432concurrency control3 Example: T1:Read(A)T2:Read(A) A A+100A A 2Write(A)Read(B) B B+100B B 2Write(B) Constraint: A=B
4
cs4432concurrency control4 A schedule An ordering of operations inside one or more transactions over time Why interleave operations?
5
cs4432concurrency control5 Schedule A T1T2 Read(A); A A+100 Write(A); Read(B); B B+100; Write(B); Read(A);A A 2; Write(A); Read(B);B B 2; Write(B); AB25 125 250 250
6
cs4432concurrency control6 Schedule B T1T2 Read(A);A A 2; Write(A); Read(B);B B 2; Write(B); Read(A); A A+100 Write(A); Read(B); B B+100; Write(B); AB25 50 150 150
7
cs4432concurrency control7 Serial Schedules ! Any serial schedule is “good”.
8
cs4432concurrency control8 Interleave Transactions in a Schedule?
9
cs4432concurrency control9 Schedule C T1T2 Read(A); A A+100 Write(A); Read(A);A A 2; Write(A); Read(B); B B+100; Write(B); Read(B);B B 2; Write(B); AB25 125 250 125 250250
10
cs4432concurrency control10 Schedule D T1T2 Read(A); A A+100 Write(A); Read(A);A A 2; Write(A); Read(B);B B 2; Write(B); Read(B); B B+100; Write(B); AB25 125 250 50 150 250150
11
cs4432concurrency control11 Schedule E T1T2’ Read(A); A A+100 Write(A); Read(A);A A 1; Write(A); Read(B);B B 1; Write(B); Read(B); B B+100; Write(B); AB25 125 25 125125 Same as Schedule D but with new T2’
12
cs4432concurrency control12 What is a ‘good’ schedule?
13
cs4432concurrency control13 We want : –schedules that are “good” regardless of initial state and transaction semantics Hence we consider : –Only order of read and writes Example: Sc=r 1 (A)w 1 (A)r 2 (A)w 2 (A)r 1 (B)w 1 (B)r 2 (B)w 2 (B)
14
cs4432concurrency control14 Sc’=r 1 (A)w 1 (A) r 1 (B)w 1 (B)r 2 (A)w 2 (A)r 2 (B)w 2 (B) T 1 T 2 Example: Sc=r 1 (A)w 1 (A)r 2 (A)w 2 (A)r 1 (B)w 1 (B)r 2 (B)w 2 (B)
15
cs4432concurrency control15 Now for Sd: Sd=r 1 (A)w 1 (A)r 2 (A)w 2 (A) r 2 (B)w 2 (B)r 1 (B)w 1 (B) Sd=r 1 (A)w 1 (A) r 1 (B)w 1 (B)r 2 (A)w 2 (A)r 2 (B)w 2 (B)
16
cs4432concurrency control16 Or, let’s try for Sd: Sd=r 1 (A)w 1 (A)r 2 (A)w 2 (A) r 2 (B)w 2 (B)r 1 (B)w 1 (B) Sd=r 2 (A)w 2 (A)r 2 (B)w 2 (B) r 1 (A)w 1 (A)r 1 (B)w 1 (B)
17
cs4432concurrency control17 However, for Sd: Sd=r 1 (A)w 1 (A)r 2 (A)w 2 (A) r 2 (B)w 2 (B)r 1 (B)w 1 (B) as a matter of fact, there seems to be no save way to transform this Sd into an equivalent serial schedule?
18
cs4432concurrency control18 T 1 T 2 Sd cannot be rearranged into a serial schedule Sd is not “equivalent” to any serial schedule Sd is “bad” We note, T 2 T 1 Also, T 1 T 2
19
cs4432concurrency control19 Returning to Sc Sc=r 1 (A)w 1 (A)r 2 (A)w 2 (A)r 1 (B)w 1 (B)r 2 (B)w 2 (B) T 1 T 2 T 1 T 2 no cycles Sc is “equivalent” to a serial schedule, I.e., in this case (T 1,T 2 ).
20
cs4432concurrency control20 Idea: Swap non-conflicting operation pairs to see if you can go to a serial schedule.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.