A formal analysis of database replication protocols with SI replicas and crash failures

This paper provides a formal specification and proof of correctness of a basic Generalized Snapshot Isolation certification-based data replication protocol for database middleware architectures. It has been modeled using a state transition system, as well as the main system components, allowing a perfect match with the usual deployment in a middleware system. The proof encompasses both safety and liveness properties, as it is commonly done for a distributed algorithm. Furthermore, a crash failure model has been assumed for the correctness proof, although recovery analysis is not the aim of this paper. This allows an easy extension toward a crash-recovery model support in future works. The liveness proof focuses in the uniform commit: if a site has committed a transaction, the rest of sites will either commit it or it would have crashed.

[1]  Francisco Castro-Company,et al.  MADIS: A Slim Middleware for Database Replication , 2005, Euro-Par.

[2]  Gustavo Alonso,et al.  Using Optimistic Atomic Broadcast in Transaction Processing Systems , 2003, IEEE Trans. Knowl. Data Eng..

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

[4]  Willy Zwaenepoel,et al.  C-JDBC: Flexible Database Clustering Middleware , 2004, USENIX Annual Technical Conference, FREENIX Track.

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

[6]  Gustavo Alonso,et al.  Extending DBMSs with satellite databases , 2008, The VLDB Journal.

[7]  Sam Toueg,et al.  A Modular Approach to Fault-Tolerant Broadcasts and Related Problems , 1994 .

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

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

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

[11]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[12]  Gustavo Alonso,et al.  Understanding replication in databases and distributed systems , 2000, Proceedings 20th IEEE International Conference on Distributed Computing Systems.

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

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

[15]  Alan L. Cox,et al.  Distributed Versioning: Consistent Replication for Scaling Back-End Databases of Dynamic Content Web Sites , 2003, Middleware.

[16]  Francesc D. Muñoz-Escoí,et al.  A Lock Based Algorithm for Concurrency Control and Recovery in a Middleware Replication Software Architecture , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

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

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

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

[20]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[21]  Philip A. Bernstein,et al.  Middleware: a model for distributed system services , 1996, CACM.

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

[23]  J. R. Garitagoitia,et al.  Non-blocking ROWA Protocols Implement GSI Using SI Replicas , 2007 .

[24]  Fernando Pedone,et al.  A Formal Analysis of the Deferred Update Technique , 2007, DISC.

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

[26]  Michael Stonebraker,et al.  Concurrency Control and Consistency of Multiple Copies of Data in Distributed Ingres , 1979, IEEE Transactions on Software Engineering.

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

[28]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[29]  Gustavo Alonso,et al.  MIDDLE-R: Consistent database replication at the middleware level , 2005, TOCS.

[30]  A. Udaya Shankar,et al.  An introduction to assertional reasoning for concurrent systems , 1993, CSUR.

[31]  AlonsoGustavo,et al.  A new approach to developing and implementing eager database replication protocols , 2000 .

[32]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

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

[34]  Bettina Kemme,et al.  Database replication for clusters of workstations , 2000 .

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

[36]  DéfagoXavier,et al.  Total order broadcast and multicast algorithms , 2004 .

[37]  Gustavo Alonso,et al.  Exploiting atomic broadcast in replicated databases , 1997 .

[38]  Idit Keidar,et al.  Group communication specifications: a comprehensive study , 2001, CSUR.

[39]  Miron Livny,et al.  Conflict detection tradeoffs for replicated data , 1991, TODS.

[40]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.