Title
Declarative programming over eventually consistent data stores
Abstract
User-facing online services utilize geo-distributed data stores to minimize latency and tolerate partial failures, with the intention of providing a fast, always-on experience. However, geo-distribution does not come for free; application developers have to contend with weak consistency behaviors, and the lack of abstractions to composably construct high-level replicated data types, necessitating the need for complex application logic and invariably exposing inconsistencies to the user. Some commercial distributed data stores and several academic proposals provide a lattice of consistency levels, with stronger consistency guarantees incurring increased latency and throughput costs. However, correctly assigning the right consistency level for an operation requires subtle reasoning and is often an error-prone task. In this paper, we present QUELEA, a declarative programming model for eventually consistent data stores (ECDS), equipped with a contract language, capable of specifying fine-grained application - level consistency properties. A contract enforcement system analyses contracts, and automatically generates the appropriate consistency protocol for the method protected by the contract. We describe an implementation of QUELEA on top of an off-the-shelf ECDS that provides support for coordination-free transactions. Several benchmarks including two large web applications, illustrate the effectiveness of our approach.
Year
DOI
Venue
2015
10.1145/2737924.2737981
PLDI
Keywords
Field
DocType
Availability,Axiomatic Contracts,CRDTs,Cassandra,Contract Classification,Decidable Logic,Distributed Transactions,Eventual Consistency,Haskell,Quelea,SMT solvers
Eventual consistency,Programming language,Computer science,Real-time computing,Data type,Haskell,Weak consistency,Consistency model,Web application,Declarative programming,Distributed transaction,Distributed computing
Conference
Volume
Issue
ISSN
50
6
0362-1340
Citations 
PageRank 
References 
28
0.87
26
Authors
3
Name
Order
Citations
PageRank
K. C. Sivaramakrishnan1689.12
Gowtham Kaki2383.70
Suresh Jagannathan3372.00