MIDDLE-R: Consistent database replication at the middleware level

The widespread use of clusters and Web farms has increased the importance of data replication. In this article, we show how to implement consistent and scalable data replication at the middleware level. We do this by combining transactional concurrency control with group communication primitives. The article presents different replication protocols, argues their correctness, describes their implementation as part of a generic middleware, Middle-R, and proves their feasibility with an extensive performance evaluation. The solution proposed is well suited for a variety of applications including Web farms and distributed object platforms.

[1]  Henry F. Korth,et al.  Replication and consistency: being lazy helps sometimes , 1997, PODS.

[2]  Avishai Wool,et al.  Quorum Systems in Replicated Databases: Science or Fiction? , 1998, IEEE Data Eng. Bull..

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

[4]  Louise E. Moser,et al.  Unification of transactions and replication in three-tier architectures based on CORBA , 2005, IEEE Transactions on Dependable and Secure Computing.

[5]  Louise E. Moser,et al.  The Totem multiple-ring ordering and topology maintenance protocol , 1998, TOCS.

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

[7]  Gerhard Weikum,et al.  CHAPTER FOUR – Concurrency Control Algorithms , 2002 .

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

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

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

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

[12]  Avishai Wool,et al.  Replication, consistency, and practicality: are these mutually exclusive? , 1998, SIGMOD '98.

[13]  Rachid Guerraoui,et al.  The Implementation of a CORBA Object Group Service , 1998, Theory Pract. Object Syst..

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

[15]  Miguel Castro,et al.  Using abstraction to improve fault tolerance , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[16]  Miguel Castro,et al.  BASE: using abstraction to improve fault tolerance , 2001, SOSP.

[17]  Esther Pacitti,et al.  Update propagation strategies to improve freshness in lazy master replicated databases , 2000, The VLDB Journal.

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

[19]  William H. Sanders,et al.  AQuA: an adaptive architecture that provides dependable distributed objects , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[20]  Ozalp Babaoglu,et al.  ACM Transactions on Computer Systems , 2007 .

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

[22]  Rachid Guerraoui,et al.  The Database State Machine Approach , 2003, Distributed and Parallel Databases.

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

[24]  Yair Amir,et al.  From total order to database replication , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[25]  Jean-Charles Fabre,et al.  A Metaobject Architecture for Fault-Tolerant Distributed Systems: The FRIENDS Approach , 1998, IEEE Trans. Computers.

[26]  Paul D. Ezhilchelvan,et al.  Design and implemantation of a CORBA fault-tolerant object group service , 1999, DAIS.

[27]  Louise E. Moser,et al.  Totem: a fault-tolerant multicast group communication system , 1996, CACM.

[28]  Miguel Castro,et al.  Practical byzantine fault tolerance and proactive recovery , 2002, TOCS.

[29]  Rajeev Rastogi,et al.  Update propagation protocols for replicated databates , 1999, SIGMOD '99.

[30]  Divyakant Agrawal,et al.  The performance of database replication with group multicast , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[31]  Gustavo Alonso,et al.  Are quorums an alternative for data replication? , 2003, TODS.

[32]  William H. Sanders,et al.  AQuA: An Adaptive Architecture that Provides Dependable Distributed Objects , 2003, IEEE Trans. Computers.

[33]  Pedro Vicente,et al.  Strong Replication in the GlobData Middleware , 2002 .

[34]  Roy Friedman,et al.  Strong and weak virtual synchrony in Horus , 1996, Proceedings 15th Symposium on Reliable Distributed Systems.

[35]  Luís E. T. Rodrigues,et al.  An indulgent uniform total order algorithm with optimistic delivery , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

[36]  FabreJean-Charles,et al.  A Metaobject Architecture for Fault-Tolerant Distributed Systems , 1998 .

[37]  Robbert van Renesse,et al.  COCA: a secure distributed online certification authority , 2002, Foundations of Intrusion Tolerant Systems, 2003 [Organically Assured and Survivable Information Systems].

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

[39]  Francisco Moura,et al.  Optimistic total order in wide area networks , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

[40]  Divyakant Agrawal,et al.  Using multicast communication to reduce deadlock in replicated databases , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[41]  Santosh K. Shrivastava,et al.  Component replication in distributed systems: a case study using Enterprise Java Beans , 2003, 22nd International Symposium on Reliable Distributed Systems, 2003. Proceedings..

[42]  Fernando Pedone,et al.  Pronto: a fast failover protocol for off-the-shelf commercial databases , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[43]  S. S. Ravi,et al.  Deferred updates and data placement in distributed databases , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[44]  Mark Garland Hayden,et al.  The Ensemble System , 1998 .

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

[46]  Gustavo Alonso,et al.  A Low-Latency Non-blocking Commit Service , 2001, DISC.

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

[48]  Gustavo Alonso,et al.  Non-intrusive, parallel recovery of replicated data , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

[49]  Silvano Maffeis,et al.  Adding Group Communication and Fault-Tolerance to CORBA , 1995, COOTS.

[50]  Divyakant Agrawal,et al.  Using broadcast primitives in replicated databases , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[51]  Philip A. Bernstein,et al.  Concurrency control in a system for distributed databases (SDD-1) , 1980, TODS.

[52]  Dale Skeen,et al.  Increasing availability in partitioned database systems , 1984, Adv. Comput. Res..

[53]  Ciprian Tutu,et al.  Practical Wide-Area Database Replication 1 , 2002 .

[54]  Aniruddha S. Gokhale,et al.  DOORS: towards high-performance fault tolerant CORBA , 2000, Proceedings DOA'00. International Symposium on Distributed Objects and Applications.

[55]  Alberto Bartoli,et al.  Online reconfiguration in replicated databases based on group communication , 2001, 2001 International Conference on Dependable Systems and Networks.

[56]  Fred B. Schneider,et al.  COCA: a secure distributed online certification authority , 2002 .

[57]  Priya Narasimhan,et al.  Eternal—a component‐based framework for transparent fault‐tolerant CORBA , 2002, Softw. Pract. Exp..