Lightweight Locking for Main Memory Database Systems
Locking is widely used as a concurrency control mechanism in database systems. As more OLTP databases are stored mostly or entirely in memory, transactional throughput is less and less limited by disk IO, and lock managers increasingly become performance bottlenecks. In this paper, the authors introduce Very Lightweight Locking (VLL), an alternative approach to pessimistic concurrency control for main-memory database systems that avoids almost all overhead associated with traditional lock manager operations. They also propose a protocol called Selective Contention Analysis (SCA), which enables systems implementing VLL to achieve high transactional throughput under high contention workloads.