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
01 Nov 2000
TL;DR: This paper proposes a serialization checking method (SCM) for concurrency control between read-only mobile transactions and update transactions based on the framework of an earlier algorithm, Update First with Ordering (UFO), but improves on that algorithm by reducing re-broadcast overhead when the probability of data conflict between updates and data broadcast is high.
Abstract: Although data broadcast has been shown to be an efficient method for disseminating data items in mobile computing systems with large number of clients, the issue on how to ensure data consistency observed by mobile transactions has been largely ignored by researchers in the area. While data items are being broadcast, update transactions may install new values for the data items. If the executions of update transactions and broadcast of data items are interleaved without any control, the mobile transactions, which are generated by mobile clients, may observe inconsistent data values. In this paper, we propose a serialization checking method (SCM) for concurrency control between read-only mobile transactions and update transactions. SCM is based on the framework of an earlier algorithm, Update First with Ordering (UFO), but improves on that algorithm by reducing re-broadcast overhead when the probability of data conflict between updates and data broadcast is high.
01 Jan 2010
TL;DR: This paper has proposed the strategies for concurrency control of global transactions in heterogeneous distributed database systems and focused on the issues of consistency, local autonomy and performance.
Abstract: In this paper, we have proposed the strategies for concurrency control of global transactions in heterogeneous distributed database systems. We have focused on the issues of consistency, local autonomy and performance. A technique to prevent and resolve inconsistency, classified into one of the two basic approaches: optimistic or pessimistic. The previous research intends to provide a high degree of concurrency among global transactions, while the later is concerned with aborts of global transactions. The strengths and weaknesses of the two approaches are discussed.
Book ChapterDOI
Xiyan Xu1, Jiwu Shu1
23 Aug 2021
TL;DR: Bucket Logging (BKL) as discussed by the authors uses the per-transaction log structure (i.e., bucket) to store logs internally and ensures efficient writing of metadata and logs.
Abstract: Logging is widely used to provide atomicity and durability for transactions in database management systems (DBMSs). For decades, the traditional logging protocol for disk-oriented database storage engines focuses on making a trade-off between data persistence and performance loss due to the large performance gap and access granularity mismatch between dynamic random-access memory (DRAM) and disks. With the development of persistent memory (PM) especially the release of the commercial Optane DC Persistent Memory Module (Optane DCPMM), a new class of storage engine which employs PM as its primary storage has emerged. The disk-based logging protocol is not suitable for these PM-aware storage engines, since PM provides data persistence and has low-latency comparable to DRAM. In this paper, we design and implement an efficient logging protocol for PM-aware storage engines: Bucket Logging (BKL). BKL uses the per-transaction log structure (i.e., bucket) to store logs internally and ensures efficient writing of metadata and logs. Benefit from multi version concurrency control, BKL only records small fixed-size log entries to implement fast logging and crash recovery. Moreover, we optimize our design based on our basic performance evaluation of Optane DCPMM. We implement a micro storage engine in MariaDB and using YCSB to evaluate BKL's performance on Optane DCPMM. The results show that the storage engine with BKL has 1.5 × −7.1 × higher throughput compared to InnoDB under write-heavy workloads. Compared with other logging protocol, BKL achieves higher throughput and better scalability and reduces the system performance recovery time by 1.4 ×−11.8 ×.
Proceedings Article
01 Jan 1977
TL;DR: In this article, a dynamic index, called an interval hierarchy, is described, which supports several important retrieval operations on files of simple conjunctive predicates, and search and maintenance algorithms for interval hierarchies are given.
Abstract: Predicates are used extensively in modern database systems for purposes ranging from user specification of associative accesses to data, to user-invisible system control functions such as concurrency control and data distribution. Collections of predicates, or predicate files, must be maintained and accessed efficiently. This paper describes a dynamic index, called an interval hierarchy, which supports several important retrieval operations on files of simple conjunctive predicates. Search and maintenance algorithms for interval hierarchies are given. For a file of n predicates, typical of the kind expected in practice, these algorithms require time equal to &Ogr;(log n).
Proceedings ArticleDOI
Ole Madsen1
27 Oct 2013
TL;DR: The approach to concurrency in SIMULA 67, the very first object-oriented language and the further development of this in the Beta language are described and development of language mechanisms that make it possible to retain the flexibility of defining a wide class of safe high-level concurrency abstractions from low-level primitives are presented.
Abstract: In this talk, we will describe the approach to concurrency in SIMULA 67, the very first object-oriented language and the further development of this in the Beta language. Active objects in the form of coroutines are an integral part of the design of SIMULA and Beta and provide a strong basis for defining high-level concurrency abstractions including schedulers for concurrent objects. In this sense, SIMULA was ahead of most concurrent object-oriented languages.Like Java, SIMULA and Beta have a serious weakness with respect to concurrency since it is not possible to check that concurrent processes access disjoint sets of variables only and do not interfere with each other in time-dependent ways.We present work on development of language mechanisms that make it possible to retain the flexibility of defining a wide class of safe high-level concurrency abstractions from low-level primitives.

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