@inproceedings{2dbda111655c4b759b43029c14ca7606,
title = "Fast serializable multi-version concurrency control for main-memory database systems",
abstract = "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.",
keywords = "MVCC, Multi-version concurrency control, Serializability",
author = "Thomas Neumann and Tobias M{\"u}hlbauer and Alfons Kemper",
year = "2015",
month = may,
day = "27",
doi = "10.1145/2723372.2749436",
language = "English",
series = "Proceedings of the ACM SIGMOD International Conference on Management of Data",
publisher = "Association for Computing Machinery",
pages = "677--689",
booktitle = "SIGMOD 2015 - Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data",
note = "ACM SIGMOD International Conference on Management of Data, SIGMOD 2015 ; Conference date: 31-05-2015 Through 04-06-2015",
}