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.
**********
Go to What is recoverable schedule page
Go to Transaction management in DBMS page
Go to Important keywords in DBMS page
Go to Why do we need recoverable schedules page
Why recoverable schedules?
what is the purpose of recoverable schedules?
dirty reads in concurrent schedules
what is unrecoverable schedule
No comments:
Post a Comment