Supporting Linearizable Semantics in Replicated Databases

This paper proposes a novel database replication algorithm that offers strong consistency (linearizable semantics) and allows reads and non-conflicting writes to execute in parallel in multiple replicas. The proposed algorithm supports the use of quorums to trade the availability/efficiency of read and write operations, making a bridge between consensus-based and quorum based solutions for database replication. Furthermore, the algorithm offers better performance for linearizable read-only transactions with a negligible impact on write transactions.

[1]  Gustavo Alonso,et al.  A suite of database replication protocols based on group communication primitives , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

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

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

[4]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[5]  Philip A. Bernstein,et al.  Serializability Theory for Replicated Databases , 1985, J. Comput. Syst. Sci..

[6]  Kenneth P. Birman,et al.  Reliable Distributed Systems: Technologies, Web Services, and Applications , 2005 .

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

[8]  Sam Toueg,et al.  Fault-tolerant broadcasts and related problems , 1993 .

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

[10]  Dennis Shasha,et al.  The many faces of consensus in distributed systems , 1992, Computer.

[11]  Rachid Guerraoui,et al.  How fast can a distributed atomic read be? , 2004, PODC '04.

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

[13]  Hector Garcia-Molina,et al.  How to assign votes in a distributed system , 1985, JACM.

[14]  David K. Gifford,et al.  Weighted voting for replicated data , 1979, SOSP '79.

[15]  Luís E. T. Rodrigues,et al.  On the Use of a Reflective Architecture to Augment Database Management Systems , 2007, J. Univers. Comput. Sci..

[16]  Mostafa H. Ammar,et al.  The Grid Protocol: A High Performance Scheme for Maintaining Replicated Data , 1992, IEEE Trans. Knowl. Data Eng..

[17]  Divyakant Agrawal,et al.  An efficient and fault-tolerant solution for distributed mutual exclusion , 1991, TOCS.

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

[19]  Gustavo Alonso,et al.  Scalable Replication in Database Clusters , 2000, DISC.