The Database State Machine Approach

Database replication protocols have historically been built on top of distributed database systems, and have consequently been designed and implemented using distributed transactional mechanisms, such as atomic commitment. We present the Database State Machine approach, a new way to deal with database replication in a cluster of servers. This approach relies on a powerful atomic broadcast primitive to propagate transactions between database servers, and alleviates the need for atomic commitment. Transaction commit is based on a certification test, and abort rate is reduced by the reordering certification test. The approach is evaluated using a detailed simulation model that shows the scalability of the system and the benefits of the reordering certification test.

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

[2]  Robert H. Thomas,et al.  A Majority consensus approach to concurrency control for multiple copy databases , 1979, ACM Trans. Database Syst..

[3]  Jo-Mei Chang,et al.  Reliable broadcast protocols , 1984, TOCS.

[4]  André Schiper,et al.  From group communication to transactions in distributed systems , 1996, CACM.

[5]  Hector Garcia-Molina,et al.  Ordered and reliable multicast communication , 1991, TOCS.

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

[7]  Michael Stonebraker,et al.  Readings in Database Systems , 1988 .

[8]  H. V. Jagadish,et al.  Scalable versioning in distributed databases with commuting updates , 1997, Proceedings 13th International Conference on Data Engineering.

[9]  Divyakant Agrawal,et al.  Efficient Execution of Read-Only Transactions in Replicated Multiversion Databases , 1993, IEEE Trans. Knowl. Data Eng..

[10]  Alexander Thomasian Distributed Optimistic Concurrency Control Methods for High-Performance Transaction Processing , 1998, IEEE Trans. Knowl. Data Eng..

[11]  Virgil D. Gligor,et al.  A fault-tolerant protocol for atomic broadcast , 1988, Proceedings [1988] Seventh Symposium on Reliable Distributed Systems.

[12]  Divyakant Agrawal,et al.  Epidemic algorithms in replicated databases (extended abstract) , 1997, PODS.

[13]  A. Fleischmann Distributed Systems , 1994, Springer Berlin Heidelberg.

[14]  Miron Livny,et al.  Concurrency control performance modeling: alternatives and implications , 1987, TODS.

[15]  Divyakant Agrawal,et al.  Epidemic Algorithms for Replicated Databases , 2003, IEEE Trans. Knowl. Data Eng..

[16]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[17]  Rachid Guerraoui,et al.  Transaction reordering in replicated databases , 1997, Proceedings of SRDS'97: 16th IEEE Symposium on Reliable Distributed Systems.

[18]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[19]  Raj Jain,et al.  The Art of Computer Systems Performance Analysis : Tech-niques for Experimental Design , 1991 .

[20]  Raj Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

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

[22]  André Schiper,et al.  A hierarchy of totally ordered multicasts , 1995, Proceedings. 14th Symposium on Reliable Distributed Systems.

[23]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[24]  Doug Stacey Replication: DB2, Oracle, or Sybase? , 1995, SGMD.

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

[26]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[27]  Scott Shenker,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

[28]  Rachid Guerraoui,et al.  Atomic Updates of Replicated Data , 1996, EDCC.

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

[30]  Louise E. Moser,et al.  Robust and Efficient Replication Using Group Communication , 1994 .

[31]  Louise E. Moser,et al.  Fast message ordering and membership using a logical token-passing ring , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[32]  Dale Skeen,et al.  Nonblocking commit protocols , 1981, SIGMOD '81.

[33]  Irving L. Traiger,et al.  Granularity of Locks and Degrees of Consistency in a Shared Data Base , 1998, IFIP Working Conference on Modelling in Data Base Management Systems.

[34]  Gustavo Alonso,et al.  Database replication techniques: a three parameter classification , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[35]  Idit Keidar,et al.  A Highly Available Paradigm for Consistent Object Replication , 1994 .

[36]  Rachid Guerraoui,et al.  Software-Based Replication for Fault Tolerance , 1997, Computer.

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

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

[39]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

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

[41]  Kevin Barraclough,et al.  I and i , 2001, BMJ : British Medical Journal.

[42]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.