Abstract
The Deuteronomy transactional key value store executes millions of serializable transactions/second by exploiting multi-version timestamp order concurrency control. However, it has not supported range operations, only individual record operations (e.g., create, read, update, delete). In this paper, we enhance our multi-version timestamp order technique to handle range concurrency and prevent phantoms. Importantly, we maintain high performance while respecting the clean separation of duties required by Deuteronomy, where a transaction component performs purely logical concurrency control (including range support), while a data component performs data storage and management duties. Like the rest of the Deuteronomy stack, our range technique manages concurrency information in a latch-free manner. With our range enhancement, Deuteronomy can reach scan speeds of nearly 250 million records/s (more than 27 GB/s) on modern hardware, while providing serializable isolation complete with phantom prevention.
- M. M. Astrahan et al. System R: Relational Approach To Database Management. ACM TODS 1(2): 97--137, 1976. Google ScholarDigital Library
- B. Becker, S. Gschwind, T. Ohler, B. Seeger, and P. Widmayer. An Asymptotically Optimal Multiversion B-Tree. VLDBJ 5(4): 264--275, 1996. Google ScholarDigital Library
- M. J. Cahill, U. Rohm, and A. D. Fekete. Serializable Isolation for Snapshot Databases. In Sigmod, 2008, pp. 729--738. Google ScholarDigital Library
- D. J. DeWitt, R. H. Katz, F. Olken, L. D. Shapiro, M. Stonebraker, D. A. Wood. Implementation Techniques for Main Memory Database Systems. SIGMOD, 1984, pp. 1--8 Google ScholarDigital Library
- C. Diaconu et al. Hekaton: SQL Server's Memory-Optimized OLTP Engine. In SIGMOD, 2013, pp. 1243--1254. Google ScholarDigital Library
- J. Gray, R. A. Lorie, G. R. Putzolu, I. L. Traiger. Granularity of Locks in a Shared Data Base. In VLDB, 1975, pp. 428--451. Google ScholarDigital Library
- C. S. Jensen and D. B. Lomet. Transaction Timestamping in (Temporal) Databases. In VLDB, 2001, pp. 441--450. Google ScholarDigital Library
- C. S. Jensen and R. T. Snodgrass. Temporal Data Management. TKDE 11(1): 36--44, 1999. Google ScholarDigital Library
- R. Johnson, I. Pandis, A. Ailamaki: Improving OLTP Scalability using Speculative Lock Inheritance. PVLDB 2(1): 479--489, 2009. Google ScholarDigital Library
- R. Johnson, I. Pandis, R. Stoica, M. Athanassoulis, A. Ailamaki. Scalability of Write-Ahead Logging on Multicore and Multisocket Hardware. VLDBJ 21(2): 239--263, 2012. Google ScholarDigital Library
- A. Kemper and T. Nuemann. HyPer: A Hybrid OLTP & OLAP Main Memory Database System Based on Virtual Memory Snapshots. In ICDE, 2011, pp. 195--206. Google ScholarDigital Library
- P-A Larson et al: High-Performance Concurrency Control Mechanisms for Main-Memory Databases. PVLDB 5(4): 298--309, 2011. Google ScholarDigital Library
- J. Levandoski, D. Lomet, M. Mokbel, and K. Zhao. Deuteronomy: Transaction Support for Cloud Data. In CIDR, 2011, pp. 123--133.Google Scholar
- J. Levandoski, D. Lomet, S. Sengupta. LLAMA: A Cache/Storage Subsystem for Modern Hardware. PVLDB 6(10): 877--888, 2013. Google ScholarDigital Library
- J. Levandoski, D. Lomet, and S. Sengupta. The Bw-Tree: A B-tree for New Hardware Platforms. In ICDE 2013: 302--313. Google ScholarDigital Library
- J. Levandoski, D. Lomet, S. Sengupta, R. Stutsman, and R. Wang. High Performance Transactions in Deuteronomy. In CIDR, 2015.Google Scholar
- D. B. Lomet and B. Salzberg. Access Methods for Multiversion Data. In SIGMOD, 1989. pp. 315--324. Google ScholarDigital Library
- D. B. Lomet and F Nawab. High Performance Temporal Indexing on Modern Hardware. To appear in ICDE, 2015.Google Scholar
- D. B. Lomet, R. S. Barga, M. F. Mokbel, G. Shegalov, R. Wang, and Y Zhu. Immortal DB: Transaction Time Support for SQL Server. In SIGMOD, 2005, pp. 939--941. Google ScholarDigital Library
- D. B. Lomet and M. F. Mokbel. Locking Key Ranges with Unbundled Transaction Services. PVLDB 2(1): 265--276, 2009. Google ScholarDigital Library
- D. B. Lomet. Key Range Locking Strategies of Improved Concurrency. In VLDB, 1993, pp. 655--664. Google ScholarDigital Library
- D. Lomet, A. Fekete, R. Wang, and P. Ward. Multi-Version Concurrency via Timestamp Range Conflict Management. In ICDE, 2012, pp. 714--725. Google ScholarDigital Library
- D. Lomet, A. Fekete, G. Weikum, M. Zwilling. Unbundling Transaction Services in the Cloud. In CIDR, 2009, 123--133.Google Scholar
- Y. Mao, E. Kohler, R. T. Morris. Cache Craftiness for Fast Multicore Key-Value Storage. In EuroSys, 2012, pp. 183--196. Google ScholarDigital Library
- E. McKenzie and R. Snodgrass. Extending the Relational Algebra to Support Transaction Time. In SIGMOD, 1987, pp. 467--478. Google ScholarDigital Library
- H. Muhe, S. Wolf, A. Kemper, and T. Neumann. An Evaluation of Strict Timestamp Ordering Concurrency Control for Main-Memory Database Systems. In IMDM Workshop, 2013, 74--85.Google Scholar
- C. Mohan. ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operation on B-Tree Indexes. In VLDB, 1990, pp. 392--405. Google ScholarDigital Library
- T. Neumann, T. Muhlbauer, A. Kemper. Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems. In SIGMOD, 2015, pp. 677--689. Google ScholarDigital Library
- D. P. Reed. Implementing Atomic Actions on Decentralized Data. ACM TOCS 1(1): 3--23, 1983. Google ScholarDigital Library
- K. Run et al. VLL: A Lock Manager Redesign for Main Memory Database Systems. VLDBJ: 1--25, 2015. Google ScholarDigital Library
- M. Stonebraker et al. The End of an Architectural Era: (It's Time for a Complete Rewrite). In VLDB, 2007, pp. 1150--1160. Google ScholarDigital Library
- M. Stonebraker and A. Weisberg. The VoltDB Main Memory DBMS. IEEE Data Eng. Bulletin 36(2): 21--27, 2013.Google Scholar
- A. Thomson et al. Calvin: Fast Distributed Transactions for Partitioned Database Systems. In SIGMOD, 2012, pp. 1--12. Google ScholarDigital Library
- S. Tu et al. Speedy Transactions in Multicore In-Memory Databases. In SOSP, 2013, pp. 18--32. Google ScholarDigital Library
- G. Weikum and G. Vossen. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, 2002. Google ScholarDigital Library
Index Terms
- Multi-version range concurrency control in Deuteronomy
Recommendations
Transaction Repair for Multi-Version Concurrency Control
SIGMOD '17: Proceedings of the 2017 ACM International Conference on Management of DataThe optimistic variants of Multi-Version Concurrency Control (MVCC) avoid blocking concurrent transactions at the cost of having a validation phase. Upon failure in the validation phase, the transaction is usually aborted and restarted from scratch. The ...
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 ...
Multi-version Concurrency via Timestamp Range Conflict Management
ICDE '12: Proceedings of the 2012 IEEE 28th International Conference on Data EngineeringA database supporting multiple versions of records may use the versions to support queries of the past or to increase concurrency by enabling reads and writes to be concurrent. We introduce a new concurrency control approach that enables all SQL ...
Comments