Reducing database locking contention through multi-version concurrency
Mohammad Sadoghi,Mustafa Canim,Bishwaranjan Bhattacharjee,Fabian Nagel,Kenneth A. Ross +4 more
- Vol. 7, Iss: 13, pp 1331-1342
Reads0
Chats0
TLDR
A novel kV-Indirection structure is described to enable efficient (parallelizable) optimistic and pessimistic multi-version concurrency control by utilizing the old versions of records to provide direct access to the recent changes of records without the need of temporal indexes.Abstract:
In multi-version databases, updates and deletions of records by transactions require appending a new record to tables rather than performing in-place updates. This mechanism incurs non-negligible performance overhead in the presence of multiple indexes on a table, where changes need to be propagated to all indexes. Additionally, an uncommitted record update will block other active transactions from using the index to fetch the most recently committed values for the updated record. In general, in order to support snapshot isolation and/or multi-version concurrency, either each active transaction is forced to search a database temporary area (e.g., roll-back segments) to fetch old values of desired records, or each transaction is forced to scan the entire table to find the older versions of the record in a multi-version database (in the absence of specialized temporal indexes).In this work, we describe a novel kV-Indirection structure to enable efficient (parallelizable) optimistic and pessimistic multi-version concurrency control by utilizing the old versions of records (at most two versions of each record) to provide direct access to the recent changes of records without the need of temporal indexes. As a result, our technique results in higher degree of concurrency by reducing the clashes between readers and writers of data and avoiding extended lock delays. We have a working prototype of our concurrency model and kV-Indirection structure in a commercial database and conducted an extensive evaluation to demonstrate the benefits of our multi-version concurrency control, and we obtained orders of magnitude speed up over the single-version concurrency control.read more
Citations
More filters
Proceedings ArticleDOI
Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems
TL;DR: This work presents a novel MVCC implementation for main-memory database systems that has very little overhead compared to serial execution with single-version concurrency control and verifies that the (extensional) writes of recently committed transactions do not intersect with the (intensional) read predicate space of a committing transaction.
Proceedings Article
EasyCommit: A Non-blocking Two-phase Commit Protocol.
Suyash Gupta,Mohammad Sadoghi +1 more
TL;DR: This work presents the design of the Easy Commit protocol and proves that it guarantees both safety and liveness, and a detailed evaluation of EC protocol, and shows that it is nearly as efficient as the 2PC protocol.
Proceedings ArticleDOI
QueCC: A Queue-oriented, Control-free Concurrency Architecture
Thamir M. Qadah,Mohammad Sadoghi +1 more
TL;DR: This work proposes a queue-oriented, control-free concurrency architecture, referred to as QueCC, that exhibits minimal contention among concurrent threads by eliminating the overhead of concurrency control from the critical path of the transaction.
Journal ArticleDOI
Analyzing the impact of system architecture on the scalability of OLTP engines for high-contention workloads
TL;DR: An extensive experimental study is presented to understand the impact of each system architecture on overall scalability, the interaction between system architecture and concurrency control protocols, and the pros and cons of new architectures that have been proposed recently to explicitly deal with high-contention workloads.
Journal ArticleDOI
Efficient and non-blocking agreement protocols
Suyash Gupta,Mohammad Sadoghi +1 more
TL;DR: The design of the EasyCommit protocol is presented and it is proved that it guarantees both safety and liveness and a topology-aware agreement protocol is designed that is non-blocking, safe, live and outperforms 3PC protocol.
References
More filters
Book
Concurrency Control and Recovery in Database Systems
TL;DR: In this article, the design and implementation of concurrency control and recovery mechanisms for transaction management in centralized and distributed database systems is described. But this can lead to interference between queries and updates.
Book
Database Systems: The Complete Book
TL;DR: This introduction to database systems offers a readable comprehensive approach with engaging, real-world examples, and users will learn how to successfully plan a database application before building it.
Journal ArticleDOI
H-store: a high-performance, distributed main memory transaction processing system
Robert Kallman,Hideaki Kimura,Jonathan Natkins,Andrew Pavlo,Alexander Rasin,Stanley B. Zdonik,Evan P. C. Jones,Samuel Madden,Michael Stonebraker,Yang Zhang,John Hugg,Daniel J. Abadi +11 more
TL;DR: The demonstration presented here provides insight on the development of a distributed main memory OLTP database and allows for the further study of the challenges inherent in this operating environment.
Proceedings ArticleDOI
Calvin: fast distributed transactions for partitioned database systems
TL;DR: Calvin is a practical transaction scheduling and data replication layer that uses a deterministic ordering guarantee to significantly reduce the normally prohibitive contention costs associated with distributed transactions.
Proceedings ArticleDOI
Speedy transactions in multicore in-memory databases
TL;DR: A commit protocol based on optimistic concurrency control that provides serializability while avoiding all shared-memory writes for records that were only read, which achieves excellent performance and scalability on modern multicore machines.