Intro to DBMS

Types Of Recoverable Schedules

The following diagram shows the types of recoverable schedules.

  • Cascading Schedule
  • Cascadeless Schedule
  • Strict Schedule

Cascading Schedule

Casecadless Schedule Strict Schedule
Cascading allows READ or WRITE operation for dependent Transaction (T2) before to T1 is committed or aborted.

Casecadless Doesn’t allow READ to dependent Transaction (T2) until T1 is committed or aborted.

But it allows WRITE operation for dependent Transaction (T2) before to T1 committed.

Strict doesn’t allow READ or WRITE operation to dependent Transaction (T2) until T1 committed or aborted.

Note: The rollback of one Transaction leads to the rollback of all other dependent Transactions 

Note: This case is problematic.

Note: This case is also problematic.

Note: This case is 100% safe.

1. Cascading Schedule (Recoverable)

  • In a schedule, If failure of one transaction (say T1), then several other dependent transactions (i.e. T2, T3, T4) have to be rolled back or aborted.
  • such schedules are called a Cascading Scheduleor Cascading Rollback, or Cascading Abort.
  • It is also called a recoverable schedule
  • This case leads to the wastage of CPU time.

Example:

Here,

  • T2 reads from transaction T1.
  • T3 reads from transaction T2.
  • T4 reads from transaction T3.
  • T5 reads from transaction T
  • And so on.

In this schedule

  • If transaction T1 is fail then the other dependent transactions (T2,T3,T4) has to
  • Note: If any  transactions from T2, T3, T4 or T5 are committed before the failure of transaction T1, then the schedule will not  be

2. Cascadeless Schedule

In a cascadeless schedule, a transaction is never allowed to perform a read operation until the last transaction is committed or aborted.

  • It is also problematic in some cases, which is overcome through a third type (strict schedule)

Example

Problem with Cascadeless Schedule

It allows the dependent transaction (T2) to perform a Write Operation after the Write operation of the Transaction (T1). As given below

  • IF T1 is committed, then T2 has a dirty Write value
  • And if T1 aborts, then rollback of T2 has to be performed, which causes CPU time wastage

A schedule will be a strict schedule if

“A transaction (Say T2) is neither allowed to read nor write operation until the last transaction (Say T1) that has written it is committed or aborted.

Example

Remember

All serial schedules are strict, cascading, cascadeless, and recoverable schedules but not vice versa.

  • All cascadeless schedules may or may not be strict schedules, but all cascadeless schedules are always cascading or recoverable.

The descriptive diagram is given below.