Professional Documents
Culture Documents
Lesson11 Transactions PDF
Lesson11 Transactions PDF
Concurrency Control
Contents
Query processing
Cost of selection
Cost of Join
Transaction Concept, Transaction State
Concurrent Executions
Serializability, Recoverability
Concurrency Control
Levels of Consistency
Lock-Based Concurrency Control Protocols
Two-Phase Locking Protocol
Graph-Based Locking Protocols
Deadlock Handling & Recovery
Snapshot Isolation
Failed Aborted
Schedule S4
T1 T2
read(A)
A := A 50
read(A)
tmp := A*0.1
A := A tmp
write(A)
read(B)
write(A)
read(B)
B := B + 50
write(B)
B := B + tmp
write(B)
r1(B) w2(A)
T1 T2
Schedule S11
T8 T9
read(A)
write(A)
read(A)
read(B)
Time
Time
AE3B33OSD Lesson 11 / Page 47 Silberschatz, Korth, Sudarshan S. 2007
Lock Conversions
Two-phase locking with lock conversions:
First Phase:
can acquire a lock-S on item
can acquire a lock-X on item
can convert a lock-S to a lock-X (upgrade)
Second Phase:
can release a lock-S
can release a lock-X
can convert a lock-X to a lock-S (downgrade)
This protocol assures serializability. But still relies on the
programmer to insert the locking instructions.
B C
D E F
G H I
DB
A1 A2
Fa Fb Fc
Questions?