Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems

被引:119
|
作者
Neumann, Thomas [1 ]
Muehlbauer, Tobias [1 ]
Kemper, Alfons [1 ]
机构
[1] Tech Univ Munich, Munich, Germany
关键词
Multi-Version Concurrency Control; MVCC; Serializability;
D O I
10.1145/2723372.2749436
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Multi-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 serializability. Adding serializability guarantees to existing SI implementations tends to be prohibitively expensive. We present a novel MVCC implementation for main-memory database systems that has very little overhead compared to serial execution with single-version concurrency control, even when maintaining serializability guarantees. Updating data in-place and storing versions as before-image deltas in undo buffers not only allows us to retain the high scan performance of single-version systems but also forms the basis of our cheap and fine-grained serializability validation mechanism. The novel idea is based on an adaptation of precision locking and verifies that the (extensional) writes of recently committed transactions do not intersect with the (intensional) read predicate space of a committing transaction. We experimentally show that our MVCC model allows very fast processing of transactions with point accesses as well as read-heavy transactions and that there is little need to prefer SI over full serializability any longer.
引用
收藏
页码:677 / 689
页数:13
相关论文
共 50 条
  • [1] Memory-Optimized Multi-Version Concurrency Control for Disk-Based Database Systems
    Freitag, Michael
    Kemper, Alfons
    Neumann, Thomas
    [J]. PROCEEDINGS OF THE VLDB ENDOWMENT, 2022, 15 (11): : 2797 - 2810
  • [2] A real-time concurrency control protocol for main-memory database systems
    Ulusoy, O
    Buchmann, A
    [J]. INFORMATION SYSTEMS, 1998, 23 (02) : 109 - 125
  • [3] An Evaluation of Strict Timestamp Ordering Concurrency Control for Main-Memory Database Systems
    Wolf, Stephan
    Muehe, Henrik
    Kemper, Alfons
    Neumann, Thomas
    [J]. IN MEMORY DATA MANAGEMENT AND ANALYSIS, 2015, 8921 : 82 - 93
  • [4] MULTI-VERSION CONCURRENCY-CONTROL SCHEME FOR A DATABASE SYSTEM
    MURO, S
    KAMEDA, T
    MINOURA, T
    [J]. JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1984, 29 (02) : 207 - 224
  • [5] An Empirical Evaluation of In-Memory Multi-Version Concurrency Control
    Wu, Yingjun
    Arulraj, Joy
    Lin, Jiexi
    Xian, Ran
    Pavlo, Andrew
    [J]. PROCEEDINGS OF THE VLDB ENDOWMENT, 2017, 10 (07): : 781 - 792
  • [6] Concurrency control in a main-memory DBMS
    Kim, SW
    [J]. COMPUTER SYSTEMS SCIENCE AND ENGINEERING, 2004, 19 (04): : 263 - 272
  • [7] Main-Memory Database Systems
    Kemper, Alfons
    Neumann, Thomas
    [J]. 2014 IEEE 30TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE), 2014, : 1310 - 1310
  • [8] Multi-Version Range Concurrency Control in Deuteronomy
    Levandoski, Justin
    Lomet, David
    Sengupta, Sudipta
    Stutsman, Ryan
    Wang, Rui
    [J]. PROCEEDINGS OF THE VLDB ENDOWMENT, 2015, 8 (13): : 2146 - 2157
  • [9] A Performance Model of Multi-Version Concurrency Control
    Di Sanzo, Pierangelo
    Ciciani, Bruno
    Quaglia, Francesco
    Sapienza, P.
    Romano, Paolo
    [J]. 2008 IEEE INTERNATIONAL SYMPOSIUM ON MODELING, ANALYSIS & SIMULATION OF COMPUTER AND TELECOMMUNICATION SYSTEMS (MASCOTS), 2008, : 75 - +
  • [10] Transaction Repair for Multi-Version Concurrency Control
    Dashti, Mohammad
    John, Sachin Basil
    Shaikhha, Amir
    Koch, Christoph
    [J]. SIGMOD'17: PROCEEDINGS OF THE 2017 ACM INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2017, : 235 - 250