Given a schedule D
& R(A) \\ & W(A)\\ & R(B) \\ & W(B) \\ & Com. \\R(B) & \\ W(B) & \\ Com. & \end{bmatrix}</math>
T2 could read a database object A, modified by T1 which hasn't committed. This is a dirty read.
T1 may write some value into A which makes the database inconsistent. It is possible that interleaved execution can expose this inconsistency and lead to inconsistent final database state, violating ACID rules.
Strict 2PL, overcomes this inconsistency by locking T2 out from A. Unfortunately, deadlocks is something Strict 2PL does not overcome as well.
Search Encyclopedia
|
Featured Article
|