Allocating Isolation Levels to Transactions in a Multiversion Setting
Saved in:
| 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 |
| 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 |
Nájsť tento článok vo Web of Science