Strict Two-phase Locking

In computer science, strict two-phase locking (Strict 2PL) is a locking method used in database management systems. The two rules of Strict 2PL are:
  1. If a transaction T wants to read/write an object, it must request a shared/exclusive lock on the object.
  2. All locks held by transaction T are released when T commits (and not before).
Here is an example of Strict 2PL in action with interleaved actions.
D = \begin{bmatrix}
T1 & T2 \\ S(A) & \\ R(A) & \\
   & S(A)  \\  & R(A) \\  & X(B)\\  & R(B) \\  & W(B)\\ 
  & Com. \\ 
X(C) & \\ R(C) & \\ W(C) & \\ Com. &\end{bmatrix} or in text form: T1: S(A), R(A); T2: S(A), R(A), X(B), R(B), W(B), Commit; T1: X(C), R(C), W(C), Commit where
  • S() is a shared lock action on an object
  • X() is an exclusive lock action on an object
  • R() is a read action on an object
  • W() is a write action on an object
Strict 2PL prevents transactions reading uncommitted data, overwriting uncommitted data, and unrepeatable reads. It does not guarantee that deadlocks cannot occur, which can be important in real time systems, and may additionally be difficult to enforce in distributed data bases, or fault tolerant systems with multiple redundancy. A deadlocked schedule supposedly allowed in Strict 2PL:
G = \begin{bmatrix}
T1 & T2\\ X(A) & \\
   & X(B) &  \\ 
X(B) & \\
  & X(A) \end{bmatrix} 
Text: T1: X(A) T2:X(B) T1:X(B) T2: X(A) T1 is waiting for T2's lock on B to be released, while T2 is waiting for T1's lock on A to be released. These transactions cannot proceed and both are deadlocked. If a user wishes to guarantee that no deadlocks occur, non-strict 2PL would be one option. Assigning timestamps would be another.

 

<< PreviousWord BrowserNext >>
ian mosley
ottoman interregnum
mark kelly
carl schurz
physical education
fugazi (album)
johannes rudbeckius
plutonian ode
valentinus
clutching at straws
polish contribution to the 2003 invasion of iraq
thomas write rule
restrepia
mark fuhrman
afghanistan timeline august 2001
stelis
timestamp based concurrency control
alfred brehm
non lock concurrency control
masdevallia
concurrency control
pleurothallidinae
pedro caldern de la barca
misplaced childhood
antonio garca gutirrez
dracula (orchid)
brave (album)
montgomery burns
folkpartiet. the liberals
hortensio flix paravicino
left party
christian democrats (sweden)
centre party (sweden)
snowdon mountain railway
environment party the greens (sweden)
non strict two phase locking
tirso de molina
juan eugenio hartzenbusch
chalcid wasp
juan ruiz de alarcn
gall
melancholia i
mite
executable