Allocating Isolation Levels to Transactions in a Multiversion Setting

Saved in:
Bibliographic Details
Title: Allocating Isolation Levels to Transactions in a Multiversion Setting
Authors: Brecht Vandevoort, Bas Ketsman, Frank Neven
Contributors: FORMER_Software Languages Lab, Informatics and Applied Informatics, Software Languages Lab, VANDEVOORT, Brecht, KETSMAN, Bas, NEVEN, Frank
Source: Proceedings of the 42nd ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems. :69-78
Publisher Information: ACM, 2023.
Publication Year: 2023
Subject Terms: concurrency control, 0202 electrical engineering, electronic engineering, information engineering, robustness, 0102 computer and information sciences, 02 engineering and technology, complexity, 01 natural sciences
Description: A serializable concurrency control mechanism ensures consistency for OLTP systems at the expense of a reduced transaction throughput. A DBMS, therefore usually offers the possibility to allocate lower isolation levels for some transactions when it is safe to do so. However, such trading of consistency for efficiency does not come with any safety guarantees. In this article, we study the mixed robustness problem which asks whether, for a given set of transactions and a given allocation of isolation levels, every possible interleaved execution of those transactions that is allowed under the provided allocation is always serializable. That is, whether the given allocation is indeed safe. While robustness has already been studied in the literature for the homogeneous setting where all transactions are allocated the same isolation level, the heterogeneous setting that we consider in this article, despite its practical relevance, has largely been ignored. We focus on multiversion concurrency control and consider the isolation levels that are available in PostgreSQL and Oracle: read committed (RC), snapshot isolation (SI), and serializable snapshot isolation (SSI). We show that the mixed robustness problem can be decided in polynomial time. In addition, we provide a polynomial time algorithm for computing the optimal robust allocation for a given set of transactions, prioritizing lower over higher isolation levels. The present results therefore establish the groundwork to automate isolation level allocation within existing databases supporting multiversion concurrency control.
Document Type: Article
Conference object
File Description: application/pdf
DOI: 10.1145/3584372.3588672
DOI: 10.1145/3716374
DOI: 10.1145/3665252.3665257
Access URL: https://biblio.vub.ac.be/vubir/allocating-isolation-levels-to-transactions-in-a-multiversion-setting(d9459895-fa0b-456f-8e99-043e3a06a9a7).html
https://biblio.vub.ac.be/vubir/allocating-isolation-levels-to-transactions-in-a-multiversion-setting(60e27b91-5848-49c0-94af-f17ed2ebdd56).html
https://biblio.vub.ac.be/vubir/allocating-isolation-levels-to-transactions-in-a-multiversion-setting(d5b6ed8a-3700-437f-895c-c1da9d4d162d).html
http://hdl.handle.net/1942/45426
http://hdl.handle.net/1942/42231
Rights: URL: https://www.acm.org/publications/policies/copyright_policy#Background
Accession Number: edsair.doi.dedup.....0debb4de50e04e0a0f3660622211eaba
Database: OpenAIRE
Description
Abstract:A serializable concurrency control mechanism ensures consistency for OLTP systems at the expense of a reduced transaction throughput. A DBMS, therefore usually offers the possibility to allocate lower isolation levels for some transactions when it is safe to do so. However, such trading of consistency for efficiency does not come with any safety guarantees. In this article, we study the mixed robustness problem which asks whether, for a given set of transactions and a given allocation of isolation levels, every possible interleaved execution of those transactions that is allowed under the provided allocation is always serializable. That is, whether the given allocation is indeed safe. While robustness has already been studied in the literature for the homogeneous setting where all transactions are allocated the same isolation level, the heterogeneous setting that we consider in this article, despite its practical relevance, has largely been ignored. We focus on multiversion concurrency control and consider the isolation levels that are available in PostgreSQL and Oracle: read committed (RC), snapshot isolation (SI), and serializable snapshot isolation (SSI). We show that the mixed robustness problem can be decided in polynomial time. In addition, we provide a polynomial time algorithm for computing the optimal robust allocation for a given set of transactions, prioritizing lower over higher isolation levels. The present results therefore establish the groundwork to automate isolation level allocation within existing databases supporting multiversion concurrency control.
DOI:10.1145/3584372.3588672