This paper examines the topic of concurrency control in DataBase Management Systems (DBMS) from an optimistic point of view, in which it is basically assumed that read-write conflicts among transactions are rare events. This approach is analogous to garbage collector algorithms where space is allocated as if it were an infinite resource with the hope that it will be deallocated prior to running out. Just as in garbage collection, where the overhead of continually allocating and returning space is eliminated, the optimistic concurrency control algorithms get rid of the overhead of acquiring and releasing locks that is present in standard two-phase locking protocols. In the optimistic approach the DBMS validates the fact that no conflict has occurred prior to committing a transaction.
Two approaches, the backward oriented optimistic concurrency control (which checks for read-write conflicts at validation phase by examining the read set of transaction Tj with any write concurrently executed other transactions Ti which have finished their read phase before Tj), and the forward oriented optimistic concurrency control (which during the validation phase for transaction Tj checks whether its write set intersects with any of the read sets of all transactions which haven’t finished their read phase), are examined. These concurrency controls are compared to each other. Implementation problems are examined in detail along with the implications of these schemes or DBMS processing. Properties of their schemes are derived and examined. At the conclusion, the optimistic concurrency controls are compared to the two phase locking approach.