Seeing is Believing: A Client-Centric Specification of Database Isolation

This paper introduces the first state-based formalization of isolation guarantees. Our approach is premised on a simple observation: applications view storage systems as black-boxes that transition through a series of states, a subset of which are observed by applications. Defining isolation guarantees in terms of these states frees definitions from implementation-specific assumptions. It makes immediately clear what anomalies, if any, applications can expect to observe, thus bridging the gap that exists today between how isolation guarantees are defined and how they are perceived. The clarity that results from definitions based on client-observable states brings forth several benefits. First, it allows us to easily compare the guarantees of distinct, but semantically close, isolation guarantees. We find that several well-known guarantees, previously thought to be distinct, are in fact equivalent, and that many previously incomparable flavors of snapshot isolation can be organized in a clean hierarchy. Second, freeing definitions from implementation-specific artefacts can suggest more efficient implementations of the same isolation guarantee. We show how a client-centric implementation of parallel snapshot isolation can be more resilient to slowdown cascades, a common phenomenon in large-scale datacenters.

[1]  Ali Ghodsi,et al.  Highly Available Transactions: Virtues and Limitations , 2013, Proc. VLDB Endow..

[2]  Arvind Krishnamurthy,et al.  Building consistent transactions with inconsistent replication , 2015, SOSP.

[3]  Marvin Theimer,et al.  Session guarantees for weakly consistent replicated data , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[4]  Philip A. Bernstein,et al.  Categories and Subject Descriptors: H.2.4 [Database Management]: Systems. , 2022 .

[5]  Daniel J. Abadi,et al.  High Performance Transactions via Early Write Visibility , 2017, Proc. VLDB Endow..

[6]  Sherif Talaat Azure SQL Database , 2015 .

[7]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.

[8]  Kenneth Salem,et al.  Lazy database replication with snapshot isolation , 2006, VLDB.

[9]  Jerzy Brzezinski,et al.  From session causality to causal consistency , 2004, 12th Euromicro Conference on Parallel, Distributed and Network-Based Processing, 2004. Proceedings..

[10]  Faith Ellen,et al.  Limitations of Highly-Available Eventually-Consistent Data Stores , 2015, IEEE Transactions on Parallel and Distributed Systems.

[11]  Jason Flinn,et al.  Rethink the sync , 2006, OSDI '06.

[12]  Chao Xie,et al.  High-performance ACID via modular concurrency control , 2015, SOSP.

[13]  Ali Ghodsi,et al.  Feral Concurrency Control: An Empirical Investigation of Modern Application Integrity , 2015, SIGMOD Conference.

[14]  Gil Neiger,et al.  Causal memory: definitions, implementation, and programming , 1995, Distributed Computing.

[15]  Saul A. Kripke,et al.  Semantical Considerations on Modal Logic , 2012 .

[16]  Chao Xie,et al.  Bringing Modular Concurrency Control to the Next Level , 2017, SIGMOD Conference.

[17]  Lorenzo Alvisi,et al.  TARDiS: A Branch-and-Merge Approach To Weak Consistency , 2016, SIGMOD Conference.

[18]  Fernando Pedone,et al.  Database replication using generalized snapshot isolation , 2005, 24th IEEE Symposium on Reliable Distributed Systems (SRDS'05).

[19]  Alexey Gotsman,et al.  Analysing Snapshot Isolation , 2018, J. ACM.

[20]  Asim Kadav,et al.  Blizzard: Fast, Cloud-scale Block Storage for Cloud-oblivious Applications , 2014, NSDI.

[21]  Jialin Li,et al.  Designing Distributed Systems Using Approximate Synchrony in Data Center Networks , 2015, NSDI.

[22]  Barbara Liskov,et al.  Lazy consistency using loosely synchronized clocks , 1997, PODC '97.

[23]  Rachid Guerraoui,et al.  On the correctness of transactional memory , 2008, PPoPP.

[24]  Dennis Shasha,et al.  Making snapshot isolation serializable , 2005, TODS.

[25]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[26]  Yang Zhang,et al.  Extracting More Concurrency from Distributed Transactions , 2014, OSDI.

[27]  Joseph M. Hellerstein,et al.  Consistency without borders , 2013, SoCC.

[28]  Lorenzo Alvisi,et al.  I Can't Believe It's Not Causal! Scalable Causal Consistency with No Slowdown Cascades , 2017, NSDI.

[29]  Alexey Gotsman,et al.  A Framework for Transactional Consistency Models with Atomic Visibility , 2015, CONCUR.

[30]  Gerhard Weikum,et al.  Principles and realization strategies of multilevel transaction management , 1991, TODS.

[31]  Michel Raynal,et al.  Virtual world consistency: A condition for STM systems (with a versatile protocol with invisible read operations) , 2012, Theor. Comput. Sci..

[32]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[33]  Ramakrishna Kotla,et al.  Zyzzyva , 2007, SOSP.

[34]  Sanjeev Kumar,et al.  Challenges to Adopting Stronger Consistency at Scale , 2015, HotOS.

[35]  Marc Shapiro,et al.  Consistency in 3D , 2016, CONCUR.

[36]  Ali Ghodsi,et al.  Scalable atomic visibility with RAMP transactions , 2014, SIGMOD Conference.

[37]  Peter Bailis,et al.  ACIDRain: Concurrency-Related Attacks on Database-Backed Web Applications , 2017, SIGMOD Conference.

[38]  Tim Kraska,et al.  MDCC: multi-data center consistency , 2012, EuroSys '13.

[39]  Barbara Liskov,et al.  Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions , 1999 .

[40]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[41]  Hongseok Yang,et al.  Transaction Chopping for Parallel Snapshot Isolation , 2015, DISC.

[42]  Emin Gün Sirer,et al.  Warp: Lightweight Multi-Key Transactions for Key-Value Stores , 2015, ArXiv.

[43]  Marc Shapiro,et al.  Non-monotonic Snapshot Isolation: Scalable and Strong Consistency for Geo-replicated Transactional Systems , 2013, 2013 IEEE 32nd International Symposium on Reliable Distributed Systems.

[44]  Marcos K. Aguilera,et al.  Transactional storage for geo-replicated systems , 2011, SOSP.

[45]  Marko Vukolic,et al.  Consistency in Non-Transactional Distributed Storage Systems , 2015, ACM Comput. Surv..