Two-Phase Locking Protocol

Two Phase Locking

A transaction is said to follow Two Phase Locking protocol if Locking and Unlocking can be done in two phases.

  1. Growing Phase: New locks on data items may be acquired but none can be released.
  2. Shrinking Phase: Existing locks may be released but no new locks can be acquired.

Note If lock conversion is allowed, then upgrading of lock( from S(a) to X(a) ) is allowed in Growing Phase and downgrading of lock (from X(a) to S(a)) must be done in shrinking phase.

Following are the types of two – phase locking protocol:

1. Strict Two – Phase Locking Protocol 
2. Rigorous Two – Phase Locking Protocol
3. Conservative Two – Phase Locking Protocol

1. Strict Two-Phase Locking Protocol

  • Strict Two-Phase Locking Protocol avoids cascaded rollbacks.
  • This protocol not only requires two-phase locking but also all exclusive-locks should be held until the transaction commits or aborts.
  • It is not deadlock free.
  • It ensures that if data is being modified by one transaction, then other transaction cannot read it until first transaction commits.
  • Most of the database systems implement rigorous two – phase locking protocol.

2. Rigorous Two-Phase Locking

  • Rigorous Two – Phase Locking Protocol avoids cascading rollbacks.
  • This protocol requires that all the share and exclusive locks to be held until the transaction commits.

3. Conservative Two-Phase Locking Protocol

  • Conservative Two – Phase Locking Protocol is also called as Static Two – Phase Locking Protocol.
  • This protocol is almost free from deadlocks as all required items are listed in advanced.
  • It requires locking of all data items to access before the transaction starts.

error: Content is protected !!