Revising 1-Copy Equivalence in Replicated Databases with Snapshot Isolation

Multiple database replication protocols have used replicas supporting the snapshot isolation level. They have provided some kind of one-copy equivalence, but such concept was initially conceived for serializable databases. In the snapshot isolation case, due to its reliance on multi-versioned concurrency control that never blocks read accesses, such one-copy equivalence admits two different variants. The first one consists in relying on sequential replica consistency, but it does not guarantee that the snapshot used by each transaction holds the updates of the last committed transactions in the whole replicated system, but only those of the last locally committed transaction. Thus, a single user might see inconsistent results when two of her transactions have been served by different delegate replicas: the updates of the first one might not be in the snapshot of the second. The second variant avoids such problem, but demands atomic replica consistency, blocking the start (i.e., in many cases, read accesses) of new transactions. Several protocols of each kind exist nowadays, and most of them have given different names to their intended correctness criterion. We survey such previous works and propose uniform names to these criteria, justifying some of their properties.

[1]  Sarita V. Adve,et al.  Shared Memory Consistency Models: A Tutorial , 1996, Computer.

[2]  Hector Garcia-Molina,et al.  Overview of multidatabase transaction management , 1992, The VLDB Journal.

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

[4]  Gustavo Alonso,et al.  Ganymed: Scalable and Flexible Replication , 2004, IEEE Data Eng. Bull..

[5]  José M. Bernabéu-Aubán,et al.  Relationships between memory models , 2004, Inf. Process. Lett..

[6]  Gustavo Alonso,et al.  Exploiting Atomic Broadcast in Replicated Databases (Extended Abstract) , 1997, Euro-Par.

[7]  Luis Irún-Briz,et al.  Managing Multiple Isolation Levels in Middleware Database Replication Protocols , 2006, ISPA.

[8]  Fernando Pedone,et al.  Revisiting the Database State Machine Approach , 2005 .

[9]  Ricardo Jiménez-Peris,et al.  Middleware based data replication providing snapshot isolation , 2005, SIGMOD '05.

[10]  André Schiper,et al.  Comparison of database replication techniques based on total order broadcast , 2005, IEEE Transactions on Knowledge and Data Engineering.

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

[12]  Fernando Pedone,et al.  Correctness Criteria for Database Replication: Theoretical and Practical Aspects , 2008, OTM Conferences.

[13]  Bettina Kemme,et al.  Postgres-R(SI): combining replica control with concurrency control based on snapshot isolation , 2005, 21st International Conference on Data Engineering (ICDE'05).

[14]  Rachid Guerraoui,et al.  Exploiting Atomic Broadcast in Replicated Databases , 1998, Euro-Par.

[15]  Dean Jacobs,et al.  Principles for Inconsistency , 2009, CIDR.

[16]  Luís E. T. Rodrigues,et al.  Supporting Linearizable Semantics in Replicated Databases , 2008, 2008 Seventh IEEE International Symposium on Network Computing and Applications.

[17]  Fernando Pedone The database state machine and group communication issues , 1999 .

[18]  Pat Helland,et al.  Building on Quicksand , 2009, CIDR.

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

[20]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[21]  José Pereira,et al.  Revisiting 1-copy equivalence in clustered databases , 2006, SAC '06.

[22]  James R. Goodman,et al.  Cache Consistency and Sequential Consistency , 1991 .

[23]  Luis Irún-Briz,et al.  Managing Transaction Conflicts in Middleware-based Database Replication Architectures , 2006, 2006 25th IEEE Symposium on Reliable Distributed Systems (SRDS'06).

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

[25]  K. Gharachodoo,et al.  Memory consistency models for shared memory multiprocessors , 1996 .

[26]  Luís E. T. Rodrigues,et al.  The GlobData Fault-Tolerant Replicated Distributed Object Database , 2002, EurAsia-ICT.

[27]  Francesc D. Muñoz-Escoí,et al.  A Performance Evaluation of g-Bound with a Consistency Protocol Supporting Multiple Isolation Levels , 2008, OTM Workshops.

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

[29]  Hagit Attiya,et al.  Sequential consistency versus linearizability , 1994, TOCS.

[30]  Gustavo Alonso,et al.  A new approach to developing and implementing eager database replication protocols , 2000, TODS.

[31]  D. Mosberger Memory Consistency Models 1 , 1993 .

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

[33]  Rachid Guerraoui,et al.  The GARF library of DSM consistency models , 1994, EW 6.

[34]  Francesc D. Muñoz-Escoí,et al.  A Weak Voting Database Replication Protocol Providing Different Isolation Levels , 2007 .