Consistent replication in distributed multi-tier architectures

Replication is commonly used to address the scalability and availability requirements of collaborative web applications in domains such as computer supported cooperative work, social networking, e-commerce and e-banking. While providing substantial benefits, replication also introduces the overhead of maintaining data consistent among the replicated servers. In this work we study the performance of common replication approaches with various consistency guarantees and argue for the feasibility of strong consistency. We propose an efficient, distributed, strong consistency protocol and reveal experimentally that its overhead is not prohibitive. We have implemented a replication middleware that offers different consistency protocols, including our strong consistency protocol. We use the TPC-W transactional web commerce benchmark to provide a comprehensive performance comparison of the different replication approaches under a variety of workload mixes.

[1]  LynchNancy,et al.  Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services , 2002 .

[2]  Ricardo Jiménez-Peris,et al.  Consistent and Scalable Cache Replication for Multi-tier J2EE Applications , 2007, Middleware.

[3]  Ciprian Tutu,et al.  On the Performance of Consistent Wide-Area Database Replication , 2003 .

[4]  Robert Gruber,et al.  Efficient optimistic concurrency control using loosely synchronized clocks , 1995, SIGMOD '95.

[5]  Robbert van Renesse,et al.  Tempest: Soft state replication in the service tier , 2008, 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN).

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

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

[8]  M. Tamer Özsu,et al.  Alternative Architectures and Protocols for Providing Strong Consistency in Dynamic Web Applications , 2006, World Wide Web.

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

[10]  Lei Gao,et al.  Improving Availability and Performance with Application-Specific Data Replication , 2004 .

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

[12]  Cristiana Amza,et al.  Scaling and Continuous Availability in Database Server Clusters through Multiversion Replication , 2007, 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN'07).

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

[14]  Gustavo Alonso,et al.  DBFarm: A Scalable Cluster for Multiple Databases , 2006, Middleware.

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

[16]  GaoLei,et al.  Improving Availability and Performance with Application-Specific Data Replication , 2005 .

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

[18]  M. Tamer Özsu,et al.  Evaluation of Strong Consistency Web Caching Techniques , 2002, World Wide Web.

[19]  Ningfang Mi Performance impacts of autocorrelated flows in multi-tiered systems , 2007, PERV.

[20]  Amin Vahdat,et al.  The costs and limits of availability for replicated services , 2001, TOCS.

[21]  Eric A. Brewer,et al.  Lessons from Giant-Scale Services , 2001, IEEE Internet Comput..

[22]  Marvin Theimer,et al.  Flexible update propagation for weakly consistent replication , 1997, SOSP.

[23]  Gustavo Alonso,et al.  Analysis of Caching and Replication Strategies for Web Applications , 2007, IEEE Internet Computing.

[24]  Amin Vahdat,et al.  Active Names: flexible location and transport of wide-area resources , 1999, Proceedings DARPA Active Networks Conference and Exposition.

[25]  Christian Plattner,et al.  Ganymed: Scalable Replication for Transactional Web Applications , 2004, International Middleware Conference.

[26]  Mikko H. Lipasti,et al.  Characterizing a Java Implementation of TPC-W , 1996 .

[27]  Yi Lin,et al.  Enhancing Edge Computing with Database Replication , 2007, 2007 26th IEEE International Symposium on Reliable Distributed Systems (SRDS 2007).

[28]  Harpreet Kaur,et al.  Concurrency Control in Distributed Database System , 2013 .

[29]  George Candea,et al.  Middleware-based database replication: the gaps between theory and practice , 2007, SIGMOD Conference.

[30]  VahdatAmin,et al.  The costs and limits of availability for replicated services , 2006 .

[31]  Ashok K. Agrawala,et al.  An optimal algorithm for mutual exclusion in computer networks , 1981, CACM.