scispace - formally typeset
Search or ask a question
Topic

Multiversion concurrency control

About: Multiversion concurrency control is a research topic. Over the lifetime, 1605 publications have been published within this topic receiving 43880 citations. The topic is also known as: MVCC.


Papers
More filters
Proceedings ArticleDOI
16 Nov 1996
TL;DR: An improved version of an existing distributed algorithm for concurrency control that is based on operation transformations is presented and a set of necessary and sufficient conditions to be satisfied in order to ensure consistency in a replicated architecture is presented.
Abstract: Concurrency control and group undo are important issues in the design of groupware, especially for interactive group editors. We present an improved version of an existing distributed algorithm for concurrency control that is based on operation transformations. Since the usability of the algorithm relies on its formal correctness, we present a set of necessary and sufficient conditions to be satisfied in order to ensure consistency in a replicated architecture. We identify desirable properties of operation transformations and show how our approach can be employed to implement group undo. The approach has been applied to build a prototypical group editor for text; some experiences gained are presented.

300 citations

Journal ArticleDOI
01 Dec 2011
TL;DR: In this article, the authors introduce two concurrency control methods specifically designed for main-memory databases, which use multiversioning to isolate read-only transactions from updates but differ in how atomicity is ensured: one is optimistic and one is pessimistic.
Abstract: A database system optimized for in-memory storage can support much higher transaction rates than current systems. However, standard concurrency control methods used today do not scale to the high transaction rates achievable by such systems. In this paper we introduce two efficient concurrency control methods specifically designed for main-memory databases. Both use multiversioning to isolate read-only transactions from updates but differ in how atomicity is ensured: one is optimistic and one is pessimistic. To avoid expensive context switching, transactions never block during normal processing but they may have to wait before commit to ensure correct serialization ordering. We also implemented a main-memory optimized version of single-version locking. Experimental results show that while single-version locking works well when transactions are short and contention is low performance degrades under more demanding conditions. The multiversion schemes have higher overhead but are much less sensitive to hotspots and the presence of long-running transactions.

286 citations

Journal ArticleDOI
TL;DR: A modification to the concurrency control algorithm of a database management system that automatically detects and prevents snapshot isolation anomalies at runtime for arbitrary applications, thus providing serializable isolation.
Abstract: Many popular database management systems implement a multiversion concurrency control algorithm called snapshot isolation rather than providing full serializability based on locking. There are well-known anomalies permitted by snapshot isolation that can lead to violations of data consistency by interleaving transactions that would maintain consistency if run serially. Until now, the only way to prevent these anomalies was to modify the applications by introducing explicit locking or artificial update conflicts, following careful analysis of conflicts between all pairs of transactions.This article describes a modification to the concurrency control algorithm of a database management system that automatically detects and prevents snapshot isolation anomalies at runtime for arbitrary applications, thus providing serializable isolation. The new algorithm preserves the properties that make snapshot isolation attractive, including that readers do not block writers and vice versa. An implementation of the algorithm in a relational DBMS is described, along with a benchmark and performance study, showing that the throughput approaches that of snapshot isolation in most cases.

259 citations

Journal ArticleDOI
TL;DR: The concurrency control strategy of SDD-1 guarantees database consistency in the face of distribution and replication of portions of data distributed throughout a network.
Abstract: This paper presents the concurrency control strategy of SDD-1. SDD-1, a System for Distributed Databases, is a prototype distributed database system being developed by Computer Corporation of America. In SDD-1, portions of data distributed throughout a network may be replicated at multiple sites. The SDD-1 concurrency control guarantees database consistency in the face of such distribution and replication.This paper is one of a series of companion papers on SDD-1 [4, 10, 12, 21].

249 citations

Proceedings Article
Chandrasekaran Mohan1
13 Aug 1990
TL;DR: ARIESIKVL, by also using for key value locking the IX and SIX lock modes that were intended originally for table level locking, is able to better exploit the semantics of the operations to improve concurrency, compared to the System R index protocols.
Abstract: This paper presents a method, called ARIES/ KVL (Algorithm for Recovery and Isolation Exploiting Semantics using Key-Value Locking), for concurrency control in B-tree indexes. A transaction may perform any number of nonindex and index operations, including range scans. ARIES/KVL guarantees serializability and it supports very high concurrency during tree traversals, structure modifications, and other operations. Unlike in System R, when one transaction is waiting for a lock on a key value in a page, reads and modifications of that page by other transactions are allowed. Further, transactions that are rolling back will never get into deadlocks. ARIESIKVL, by also using for key value locking the IX and SIX lock modes that were intended originally for table level locking, is able to better exploit the semantics of the operations to improve concurrency, compared to the System R index protocols. These techniques are also applicable to the concurrency control of the classical links-based storage and access structures which are beginning to appear in modern systems also.

245 citations


Network Information
Related Topics (5)
Object (computer science)
106K papers, 1.3M citations
83% related
Cache
59.1K papers, 976.6K citations
82% related
Server
79.5K papers, 1.4M citations
82% related
Data structure
28.1K papers, 608.6K citations
81% related
Scalability
50.9K papers, 931.6K citations
81% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
20235
202212
20215
20207
20198
201810