- Only exclusive locks are allowed
- The first lock by Ti may be on any data item. Subsequently a data item Q can be locked by Ti only if the parent of Q is currently locked by Ti
- Data items may be unlocked at any time.
- A data item that has been locked and unlocked by Ti cannot subsequently be relocked by Ti
- The tree protocol ensures conflict serializability as well as freedom from deadlock( does not ensure recoverability).
- Unlocking may occur earlier in the tree locking protocol than in the two phase locking protocol
+ (plus) points
- Shorter waiting times, and increases in concurrency.
- Protocol is deadlock free, no rollbacks are required.
- Freedom from deadlocks
- Protocol does not guarantee recoverability or cascade freedom ( need to introduce commit dependiencies to ensure recoverability)
- In tree-locking protocol, a transaction that needs to access data item A and J in the database graph, must lock not only A and J, but also data items B,D,H ,this additional locking results in increased locking overhead and the possibility of additional waiting time and potential decrease in concurrency.