Optimistic Methods for Concurrency Control

by H.T. Kung et al.

In this paper, the authors "hope" for optimistic settings and try to exploit them for concurrency control in the database management system. The contributions are as follows:

Innovatinve Contributions

  • Traditional concurrency control schemes use locking and unlocking of the objects techniques to enforce concurrency control in data base systems. This paper takes a significant and radical drift and argues for optimistic concurrency control relying on backup of the transactions. 

  • It optimistically hopes for conflict-free transactions and cashes on the same to increase concurrency and hardware utilization. 

  • The mechanism categorizes life cycle of a transaction into read, write phases. In read, any updates to the objects are done locally. They are made global in the write phase after a validation step. 

  • In the case of traditional techniques, the granularity of locking is a very critical problem which affects both efficiency of concurrency and performance of the database system. It is not an obvious problem. However, this problem completely disappears in optimistic concurrency control.

Scope for Improvement
  • However, the proposed mechanisms may result in starvation of transactions where as the locking techniques based counterparts may result in deadlocks in the transaction executions. 

  • To break the starvation problem, some naïve solution is proposed in the paper, however there is clear need for more efficient solutions, I guess. 

  • A detailed performance analysis of both the techniques is essential to appreciate the merits and pitfalls of each. The study should consider per se, the overhead caused by locking and unlocking steps, the improvement in the achieved concurrency because of optimistic control.

  • Overall, the optimistic approach is suitable for certain class of applications only especially that have rare transaction conflicts like a huge B-tree based database system. As a result, this study introduces yet another issue for the database designers. They should be able to “know” more about their database needs before deciding on which approach to take for concurrency control- pure lock-unlock based, or optimistic or hybrid approach. This paper opens up an interesting research area in this direction.