Sunday, 15 April 2018

Why do we need a recoverable schedule

Why do we need a recoverable schedule?


Why do we need a recoverable schedule?
Unrecoverable schedules lead to inconsistent database state. Hence, we need only recoverable schedules to safeguard consistency in concurrent execution of transactions.
T1
T2
R(x)
W(x)


R(y)
W(y)


R(x)
W(x)



To explain this, let us use the example schedule given above. Let us assume that the transaction T2 commits before T1 commits. Also assume that, the transaction T1 has failed due to some reasons. In that case, T1 has to be aborted. If T1 has to be aborted then the transactions that have consumed data that was written by T1 must also be aborted. In our example, we need T2 must also be aborted (cascading abort). As T2 has already committed, aborting T2 is not possible. Now, this schedule is unrecoverable. This leads to inconsistent database state. Hence we need recoverable schedules.


**********










Why recoverable schedules?
what is the purpose of recoverable schedules?
dirty reads in concurrent schedules
what is unrecoverable schedule

No comments:

Post a Comment

Important properties of two phase locking protocol and its variants

Important properties of two phase locking protocol and its variants Properties of     2PL Serializability  2PL ensures co...