[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

When View- and Conflict-Robustness Coincide for Multiversion Concurrency Control

Published: 14 May 2024 Publication History

Abstract

A DBMS allows trading consistency for efficiency through the allocation of isolation levels that are strictly weaker than serializability. The robustness problem 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 safe. In the literature, safe is interpreted as conflict-serializable (to which we refer here as conflict-robustness). In this paper, we study the view-robustness problem, interpreting safe as view-serializable. View-serializability is a more permissive notion that allows for a greater number of schedules to be serializable and aligns more closely with the intuitive understanding of what it means for a database to be consistent. However, view-serializability is more complex to analyze (e.g., conflict-serializability can be decided in polynomial time whereas deciding view-serializability is NP-complete). While conflict-robustness implies view-robustness, the converse does not hold in general. In this paper, we provide a sufficient condition for isolation levels guaranteeing that conflict- and view-robustness coincide and show that this condition is satisfied by the isolation levels occurring in Postgres and Oracle: read committed (RC), snapshot isolation (SI) and serializable snapshot isolation (SSI). It hence follows that for these systems, widening from conflict- to view-serializability does not allow for more sets of transactions to become robust. Interestingly, the complexity of deciding serializability within these isolation levels is still quite different. Indeed, deciding conflict-serializability for schedules allowed under RC and SI remains in polynomial time, while we show that deciding view-serializability within these isolation levels remains NP-complete.

References

[1]
Atul Adya. 1999. Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. Ph.D. MIT, Cambridge, MA, USA.
[2]
Atul Adya, Barbara Liskov, and Patrick E. O'Neil. 2000. Generalized Isolation Level Definitions. In ICDE. 67--78.
[3]
Hal Berenson, Philip A. Bernstein, Jim Gray, Jim Melton, Elizabeth J. O'Neil, and Patrick E. O'Neil. 1995. A Critique of ANSI SQL Isolation Levels. In SIGMOD. 1--10.
[4]
Giovanni Bernardi and Alexey Gotsman. 2016. Robustness against Consistency Models with Atomic Visibility. In CONCUR. 7:1--7:15.
[5]
Philip A. Bernstein and Nathan Goodman. 1983. Multiversion Concurrency Control - Theory and Algorithms. ACM Trans. Database Syst., Vol. 8, 4 (1983), 465--483.
[6]
Ranadeep Biswas and Constantin Enea. 2019. On the complexity of checking transactional consistency. Proc. ACM Program. Lang., Vol. 3, OOPSLA (2019), 165:1--165:28.
[7]
Michael J. Cahill, Uwe Rö hm, and Alan D. Fekete. 2008. Serializable isolation for snapshot databases. In SIGMOD. 729--738.
[8]
Michael J. Cahill, Uwe Rö hm, and Alan D. Fekete. 2009. Serializable isolation for snapshot databases. ACM Trans. Database Syst., Vol. 34, 4 (2009), 20:1--20:42.
[9]
Andrea Cerone, Giovanni Bernardi, and Alexey Gotsman. 2015. A Framework for Transactional Consistency Models with Atomic Visibility. In CONCUR. 58--71.
[10]
Andrea Cerone and Alexey Gotsman. 2018. Analysing Snapshot Isolation. J.ACM, Vol. 65, 2 (2018), 1--41.
[11]
Andrea Cerone, Alexey Gotsman, and Hongseok Yang. 2017. Algebraic Laws for Weak Consistency. In CONCUR. 26:1--26:18.
[12]
Alan Fekete. 2005. Allocating isolation levels to transactions. In PODS. 206--215.
[13]
Alan Fekete, Dimitrios Liarokapis, Elizabeth J. O'Neil, Patrick E. O'Neil, and Dennis E. Shasha. 2005. Making snapshot isolation serializable. ACM Trans. Database Syst., Vol. 30, 2 (2005), 492--528.
[14]
Bas Ketsman, Christoph Koch, Frank Neven, and Brecht Vandevoort. 2020. Deciding Robustness for Lower SQL Isolation Levels. In PODS. 315--330.
[15]
Christos H. Papadimitriou. 1979. The serializability of concurrent database updates. J.ACM, Vol. 26, 4 (1979), 631--653.
[16]
Christos H. Papadimitriou. 1986. The Theory of Database Concurrency Control. Computer Science Press.
[17]
Christos H. Papadimitriou and Paris C. Kanellakis. 1984. On Concurrency Control by Multiple Versions. ACM Trans. Database Syst., Vol. 9, 1 (1984), 89--99.
[18]
Dan R. K. Ports and Kevin Grittner. 2012. Serializable Snapshot Isolation in PostgreSQL. PVLDB, Vol. 5, 12 (2012), 1850--1861.
[19]
TPC-C. [n.,d.]. On-Line Transaction Processing Benchmark. ( [n.,d.]). http://www.tpc.org/tpcc/.
[20]
Brecht Vandevoort, Bas Ketsman, Christoph Koch, and Frank Neven. 2021. Robustness against Read Committed for Transaction Templates. PVLDB, Vol. 14, 11 (2021), 2141--2153.
[21]
Brecht Vandevoort, Bas Ketsman, Christoph Koch, and Frank Neven. 2022. Robustness Against Read Committed for Transaction Templates with Functional Constraints. In ICDT. 16:1--16:17.
[22]
Brecht Vandevoort, Bas Ketsman, Christoph Koch, and Frank Neven. 2023 b. Detecting Robustness against MVRC for Transaction Programs with Predicate Reads. In EDBT. 565--577.
[23]
Brecht Vandevoort, Bas Ketsman, and Frank Neven. 2023 a. Allocating Isolation Levels to Transactions in a Multiversion Setting. In PODS. 69--78.
[24]
Brecht Vandevoort, Bas Ketsman, and Frank Neven. 2024. When View- and Conflict-Robustness Coincide for Multiversion Concurrency Control (full version). (2024). https://arxiv.org/abs/2403.17665.
[25]
Mihalis Yannakakis. 1984. Serializability by Locking. J.ACM, Vol. 31, 2 (1984), 227--244. n

Index Terms

  1. When View- and Conflict-Robustness Coincide for Multiversion Concurrency Control

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Proceedings of the ACM on Management of Data
    Proceedings of the ACM on Management of Data  Volume 2, Issue 2
    PODS
    May 2024
    852 pages
    EISSN:2836-6573
    DOI:10.1145/3665155
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 14 May 2024
    Published in PACMMOD Volume 2, Issue 2

    Permissions

    Request permissions for this article.

    Author Tags

    1. complexity
    2. concurrency control
    3. robustness

    Qualifiers

    • Research-article

    Funding Sources

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 54
      Total Downloads
    • Downloads (Last 12 months)54
    • Downloads (Last 6 weeks)6
    Reflects downloads up to 09 Jan 2025

    Other Metrics

    Citations

    View Options

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media