Flexible Integration of Eventually Consistent Distributed Storage with Strongly Consistent Databases

In order to design distributed business applications or services, the common practice consists in setting up a multi-tier architecture on top of a relational database. Due to the recent evolution of the needs in terms of scalability and availability in cloud environments, the design of the data access layer got significantly more complicated because of the trade-off decisions between consistency, scalability and availability that have to be taken into account in accordance with the CAP theorem. An interesting compromise in this context consists in offering some flexibility at the consistency level, in order to allow multi-tier architectures to support partition tolerance flexibility while guaranteeing availability. This paper introduces a flexible data layer that guarantees availability and gives the ability to the developers to easily select the required execution context, by integrating eventually consistent storage with strongly consistent databases. A given query can either be executed in an eventually consistent but very scalable context or in a strongly consistent context with limited scalability. The benefits of the proposed framework are validated in a real-world use case.

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

[2]  Pat Helland Data on the outside versus data on the inside , 2005, CIDR.

[3]  Dan Pritchett,et al.  BASE: An Acid Alternative , 2008, ACM Queue.

[4]  Joseph M. Hellerstein,et al.  Consistency Analysis in Bloom: a CALM and Collected Approach , 2011, CIDR.

[5]  Ricardo Jiménez-Peris,et al.  A System of Architectural Patterns for Scalable, Consistent and Highly Available Multi-Tier Service-Oriented Infrastructures , 2008, WADS.

[6]  Michael Stonebraker,et al.  The End of an Architectural Era (It's Time for a Complete Rewrite) , 2007, VLDB.

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

[8]  Sten F. Andler,et al.  Self-stabilization and eventual consistency in replicated real-time databases , 2002, WOSS '02.

[9]  Kevin Lee,et al.  Data Consistency Properties and the Trade-offs in Commercial Cloud Storage: the Consumers' Perspective , 2011, CIDR.

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

[11]  G. Pierre,et al.  Consistent Join Queries in Cloud Data Stores , 2011 .

[12]  F. Junqueira,et al.  Weak consistency as a last resort , 2010, LADIS '10.

[13]  Surajit Chaudhuri,et al.  Maintenance of Materialized Views: Problems, Techniques, and Applications. , 1995 .

[14]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[15]  Bettina Kemme,et al.  Understanding and Evaluating Replication in Service Oriented Multi-tier Architectures , 2008, ICSOFT.

[16]  Neal Leavitt,et al.  Will NoSQL Databases Live Up to Their Promise? , 2010, Computer.

[17]  Shyam Antony,et al.  Data Management Challenges in Cloud Computing Infrastructures , 2010, DNIS.

[18]  Vana Kalogeraki,et al.  Consistent replication in distributed multi-tier architectures , 2011, 7th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom).

[19]  Inderpal Singh Mumick,et al.  The Stanford Data Warehousing Project , 1995 .

[20]  Eric A. Brewer,et al.  Towards robust distributed systems (abstract) , 2000, PODC '00.