One-copy serializability with snapshot isolation under the hood

This paper presents a method that allows a replicated database system to provide a global isolation level stronger than the isolation level provided on each individual database replica. We propose a new multi-version concurrency control algorithm called, serializable generalized snapshot isolation (SGSI), that targets middleware replicated database systems. Each replica runs snapshot isolation locally and the replication middleware guarantees global one-copy serializability. We introduce novel techniques to provide a stronger global isolation level, namely readset extraction and enhanced certification that prevents read-write and write-write conflicts in a replicated setting. We prove the correctness of the proposed algorithm, and build a prototype replicated database system to evaluate SGSI performance experimentally. Extensive experiments with an 8 replica database system under the TPC-W workload mixes demonstrate the practicality and low overhead of the algorithm.

[1]  Marcos K. Aguilera,et al.  Failure detection and consensus in the crash-recovery model , 1998, Distributed Computing.

[2]  Alan Fekete,et al.  The Cost of Serializability on Platforms That Use Snapshot Isolation , 2008, 2008 IEEE 24th International Conference on Data Engineering.

[3]  Patrick E. O'Neil,et al.  Generalized isolation level definitions , 2000, Proceedings of 16th International Conference on Data Engineering (Cat. No.00CB37073).

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

[5]  Gerhard Weikum,et al.  Federated Transaction Management with Snapshot Isolation , 1999, FMLDO.

[6]  Alan Fekete,et al.  Serializable isolation for snapshot databases , 2008, SIGMOD Conference.

[7]  Sameh Elnikety,et al.  Strongly consistent replication for a bargain , 2010, 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010).

[8]  Michael J. Cahill Serializable isolation for snapshot databases , 2009, TODS.

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

[10]  Alan Fekete,et al.  Allocating isolation levels to transactions , 2005, PODS '05.

[11]  Sameh Elnikety,et al.  Tashkent+: memory-aware load balancing and update filtering in replicated databases , 2007, EuroSys '07.

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

[13]  William E. Weihl,et al.  Local atomicity properties: modular concurrency control for abstract data types , 1989, TOPL.

[14]  Michael Stonebraker,et al.  The Design of the POSTGRES Storage System , 1988, VLDB.

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

[16]  Fernando Pedone,et al.  Tashkent: uniting durability with transaction ordering for high-performance scalable database replication , 2006, EuroSys.

[17]  Elisa Bertino,et al.  A theoretical formulation for degrees of isolation in databases , 1997, Inf. Softw. Technol..

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

[19]  Dennis Shasha,et al.  The dangers of replication and a solution , 1996, SIGMOD '96.

[20]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[21]  Gerhard Weikum,et al.  Integrating Snapshot Isolation into Transactional Federation , 2000, CoopIS.

[22]  Marc H. Scholl,et al.  Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery , 2001, SGMD.

[23]  Patrick Valduriez,et al.  Transaction chopping: algorithms and performance studies , 1995, TODS.

[24]  Gustavo Alonso,et al.  Ganymed: Scalable Replication for Transactional Web Applications , 2004, Middleware.

[25]  Gustavo Alonso,et al.  Don't Be Lazy, Be Consistent: Postgres-R, A New Way to Implement Database Replication , 2000, VLDB.

[26]  Fred B. Schneider,et al.  Replication management using the state-machine approach , 1993 .

[27]  Hiroshi Nakamura,et al.  Pangea: An Eager Database Replication Middleware guaranteeing Snapshot Isolation without Modification of Database Servers , 2009, Proc. VLDB Endow..

[28]  Sameh Elnikety,et al.  Predicting replicated database scalability from standalone database profiling , 2009, EuroSys '09.

[29]  Patrick E. O'Neil,et al.  A read-only transaction anomaly under snapshot isolation , 2004, SGMD.

[30]  Gottfried Vossen,et al.  Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery , 2002 .

[31]  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).

[32]  Christos H. Papadimitriou,et al.  The Theory of Database Concurrency Control , 1986 .

[33]  H SchollMarc,et al.  Transactional information systems , 2001 .