Abstract
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, we 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. We also propose a protocol called selective contention analysis (SCA), which enables systems implementing VLL to achieve high transactional throughput under high contention workloads. We implement these protocols both in a traditional single-machine multi-core database server setting and in a distributed database where data is partitioned across many commodity machines in a shared-nothing cluster. Our experiments show that VLL dramatically reduces locking overhead and thereby increases transactional throughput in both settings.
- D. Agrawal and S. Sengupta. Modular synchronization in distributed, multiversion databases: Version control and concurrency control. IEEE TKDE, 5, 1993. Google Scholar
- R. Agrawal and M. J. C. M. Livny. Concurrency control performance modeling: Alternatives and implications. volume 12, pages 609-654, 1987. Google Scholar
- P. A. Bernstein and N. Goodman. Concurrency control in distributed database systems. ACM Comput. Surv., 13(2):185-221, 1981. Google Scholar
- P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987. Google Scholar
- V. Gottemukkala and T. Lehman. Locking and latching in a memory-resident database system. VLDB, 1992. Google Scholar
- J. Gray. Notes on database operating systems. Operating System, An Advanced Course. Springer-Verlag, Berlin, 1979. Google Scholar
- J. Gray and Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, New York, 1993. Google Scholar
- S. Harizopoulos, D. J. Abadi, S. R. Madden, and M. Stonebraker. OLTP through the looking glass, and what we found there. In SIGMOD, 2008. Google Scholar
- R. Johnson, I. Pandis, and A. Ailamaki. Improving oltp scalability using speculative lock inheritance. PVLDB, 2(1):479-489, 2009. Google Scholar
- E. P. C. Jones, D. J. Abadi, and S. R. Madden. Concurrency control for partitioned databases. In SIGMOD, 2010. Google Scholar
- A. Joshi. Adaptive locking strategies in a multi-node data sharing environment. VLDB, 1991. Google Scholar
- H. Kimura, G. Graefe, and H. Kuno. Efficient locking techniques for databases on modern hardware. In Workshop on Accelerating Data Management Systems Using Modern Processor and Storage Architectures, 2012.Google Scholar
- H. T. Kung and J. T. Robinson. On optimistic methods for concurrency control. TODS, 6(2), 1981. Google Scholar
- P. Larson, S. Blanas, C. Diaconu, C. Freedman, J. Patel, and M. Zwilling. High-performance concurrency control mechanisms for main-memory database. PVLDB, 5(4):298-309, 2011. Google Scholar
- T. Lehman. Design and Performance Evaluation of a Main Memory Relational Database System. PhD thesis, University of Wisconsin-Madison, 1986. Google Scholar
- T. J. Lehman and V. Gottemukkala. The Design and Performance Evaluation of a Lock Manager for a Memory-Resident Database System. Performance of Concurrency Control Mechanisms in Centralised Database System, Addison-Wesley, 1996. Google Scholar
- C. Mohan and I. Narang. Recovery and coherency-control protocols for fast inter-system page transfer and fine-granularity locking in shared disks transaction environment. VLDB, 1991. Google Scholar
- I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-oriented transaction execution. PVLDB, 3(1):928-939, 2010. Google Scholar
- M. Stonebraker, S. R. Madden, D. J. Abadi, S. Harizopoulos, N. Hachem, and P. Helland. The end of an architectural era (it's time for a complete rewrite). In VLDB, Vienna, Austria, 2007. Google Scholar
- A. Thomasian. Two-phase locking performance and its thrashing behavior. TODS, 18(4):579-625, 1993. Google Scholar
- A. Thomson and D. J. Abadi. The case for determinism in database systems. VLDB, 2010. Google Scholar
- A. Thomson, T. Diamond, P. Shao, K. Ren, S.-C. Weng, and D. J. Abadi. Calvin: Fast distributed transactions for partitioned database systems. In SIGMOD, 2012. Google Scholar
- A. Whitney, D. Shasha, and S. Apter. High volume transaction processing without concurrency control, two phase commit, SQL or C++. In HPTS, 1997.Google Scholar
Index Terms
- Lightweight locking for main memory database systems
Recommendations
Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems
SIGMOD '15: Proceedings of the 2015 ACM SIGMOD International Conference on Management of DataMulti-Version Concurrency Control (MVCC) is a widely employed concurrency control mechanism, as it allows for execution modes where readers never block writers. However, most systems implement only snapshot isolation (SI) instead of full ...
Design and implementation of a real-time static locking protocol for main-memory database systems
ADVIS'04: Proceedings of the Third international conference on Advances in Information SystemsMain-memory database systems reside whole databases into main memory thus they process transactions in very short time. These high-speed main-memory database transactions incur low probability of lock conflict. If the traditional two-phase locking (2PL) ...
Pre-analysis locking: a safe and deadlock free locking policy
VLDB '85: Proceedings of the 11th international conference on Very Large Data Bases - Volume 11A safe and deadlock free lock policy is introduced, called pre-analysis locking. Pre-analysis locking is based on an efficient geometric algorithm which inserts lock and unlock operations into the transactions. Pre-analysis locking is the first safe and ...
Comments