Recoverability-
Before you go through this article, make sure that you have gone through the previous article on Recoverability in DBMS.
We have discussed-
- Non-serial schedules which are not serializable are called as non-serializable schedules.
- Non-serializable schedules may be recoverable or irrecoverable.
Recoverable Schedules-
If in a schedule,
- A transaction performs a dirty read operation from an uncommitted transaction
- And its commit operation is delayed till the uncommitted transaction either commits or roll backs
then such a schedule is called as a Recoverable Schedule.
Types of Recoverable Schedules-
A recoverable schedule may be any one of these kinds-
- Cascading Schedule
- Cascadeless Schedule
- Strict Schedule
Cascading Schedule-
- If in a schedule, failure of one transaction causes several other dependent transactions to rollback or abort, then such a schedule is called as a Cascading Schedule or Cascading Rollback or Cascading Abort.
- It simply leads to the wastage of CPU time.
Example-
Here,
- Transaction T2 depends on transaction T1.
- Transaction T3 depends on transaction T2.
- Transaction T4 depends on transaction T3.
In this schedule,
- The failure of transaction T1 causes the transaction T2 to rollback.
- The rollback of transaction T2 causes the transaction T3 to rollback.
- The rollback of transaction T3 causes the transaction T4 to rollback.
Such a rollback is called as a Cascading Rollback.
NOTE-
If the transactions T2, T3 and T4 would have committed before the failure of transaction T1, then the schedule would have been irrecoverable.
Cascadeless Schedule-
If in a schedule, a transaction is not allowed to read a data item until the last transaction that has written it is committed or aborted, then such a schedule is called as a Cascadeless Schedule.
In other words,
- Cascadeless schedule allows only committed read operations.
- Therefore, it avoids cascading roll back and thus saves CPU time.
Example-
NOTE-
- Cascadeless schedule allows only committed read operations.
- However, it allows uncommitted write operations.
Example-
Strict Schedule-
If in a schedule, a transaction is neither allowed to read nor write a data item until the last transaction that has written it is committed or aborted, then such a schedule is called as a Strict Schedule.
In other words,
- Strict schedule allows only committed read and write operations.
- Clearly, strict schedule implements more restrictions than cascadeless schedule.
Example-
Remember-
- Strict schedules are more strict than cascadeless schedules.
- All strict schedules are cascadeless schedules.
- All cascadeless schedules are not strict schedules.
Next Article- Equivalence of Schedules
Get more notes and other study material of Database Management System (DBMS).
Watch video lectures by visiting our YouTube channel LearnVidFun.