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

Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems
复制标题

DOI:
10.1145/2723372.2749436
复制
发表时间:
2015-05
期刊:
Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data
影响因子:
--
通讯作者:
Thomas Neumann;Tobias Mühlbauer;A. Kemper
Thomas Neumann;Tobias Mühlbauer;A. Kemper
中科院分区:
其他
文献类型:
--
作者:
Thomas Neumann;Tobias Mühlbauer;A. Kemper

文献摘要

被引文献

相似文献

多版本并发控制(MVCC)是一种广泛使用的并发控制机制,因为它允许在执行模式中读取器不会阻止写入器。但是,大多数系统只实现快照隔离(SI),而不是完全可串行化。向现有SI实现添加可串行化保证往往代价高昂。我们提出了一种新的MVCC实现主存数据库系统,具有很小的开销相比,串行执行单版本并发控制,即使在维护可串行化的保证。就地更新数据并将版本作为前映像增量存储在撤消缓冲区中,不仅可以保留单版本系统的高扫描性能,而且还可以形成我们廉价且细粒度的可串行化验证机制的基础。新的想法是基于一个适应的精度锁定和验证最近提交的事务的(扩展)写不相交的(内涵)读谓词空间的提交事务。我们的实验表明,我们的MVCC模型允许非常快速的处理事务与点访问,以及读取繁重的事务,并没有什么需要更喜欢SI完全串行化任何更长。
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.