Allocating Isolation Levels to Transactions in a Multiversion Setting
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.
Authors
- Frank Neven (ORCID: https://orcid.org/0000-0002-7143-1903)
- Brecht Vandevoort (ORCID: https://orcid.org/0000-0001-7212-4625)
- Bas Ketsman (ORCID: https://orcid.org/0000-0002-4032-0709)
Institutions
- Vrije Universiteit Brussel (BE)
- Hasselt University (BE)
Publication Details
- Journal
- ACM Transactions on Database Systems
- Published
- 2025-04-08
- DOI
- https://doi.org/10.1145/3716374
- Primary Topic
- Distributed systems and fault tolerance
- Type
- article
- Field-Weighted Citation Impact
- 0.00