When is it safe to run a transactional workload under Read Committed?

Brecht Vandevoort, Bas Ketsman, Christoph Koch, Frank Neven

Onderzoeksoutput: Articlepeer review


The popular isolation level multiversion Read Committed (RC) exchanges some of the strong guarantees of serializability for increased transaction throughput. Nevertheless, transaction workloads can sometimes be executed under RC while still guaranteeing serializability at a reduced cost. Such workloads are said to be robust against RC. This paper provides a high level overview of deciding robustness against RC. In particular, we discuss how a sound and complete test can be obtained through the formalization of transaction templates. We then increase the modeling power of transaction templates by extending them with functional constraints which are useful for capturing data dependencies like foreign keys. We show that the incorporation of functional constraints can identify more workloads as robust than would otherwise be the case. Even though the robustness problem becomes undecidable in its most general form, we establish that various restrictions on functional constraints lead to decidable and even tractable results that can be used to model and test for robustness against RC for practical scenarios.

Originele taal-2English
Pagina's (van-tot)36-43
Aantal pagina's8
TijdschriftSIGMOD Record
Nummer van het tijdschrift1
StatusPublished - 8 jun 2023

Bibliografische nota

Publisher Copyright:
© 2023 Copyright is held by the owner/author(s).


Duik in de onderzoeksthema's van 'When is it safe to run a transactional workload under Read Committed?'. Samen vormen ze een unieke vingerafdruk.

Citeer dit