Less optimism about optimistic concurrency control
Abstract
This paper attempts to document some of the shortcomings of the optimistic concurrency control (OCC) approach in supporting all the features expected in a full-function DBMS. Surprisingly, in spite of OCC having been around for a long time and its performance having been studied in various contexts, no complete system design, let alone a full-blown implementation, exists, as far as the author knows. The problems with OCC relate to support for access paths (indexes, hash-based storage), partial rollbacks, nested transactions, fine-granularity (e.g., record-level) conflict checking, different isolation levels, distributed transactions, and so on. The global of this paper is to increase awareness of the implementation aspects of OCC amongst researchers and to initiate a debate about the practical utility of OCC.