2018/01/19 by Marc Shapiro, Annette Bieniusa, Shapiro, Marc +7 · 1 voice · 6 citations
Computer Science · Mathematics · #Advanced Data Storage Technologies #Asynchronous communication #Bounded function #Causal consistency #Cloud Computing and Resource Management #Computer network #Computer science #Consistency (knowledge bases) #Consistency model #Correctness #Data consistency #Databases (cs.DB) #Distributed #Distributed computing #Distributed database #Distributed systems and fault tolerance #Eventual consistency #FOS: Computer and information sciences #Linearizability #Mathematics #Parallel #Partition (number theory) #Programming language #Sequential consistency #Strong consistency #Theoretical computer science #Weak consistency #and Cluster Computing (cs.DC) #cs.DB #cs.DC
paper · pdf · doi:10.48550/arxiv.1801.06340
published in arXiv (Cornell University) (Cornell University)
arxiv created 2018/01/19 · openalex publication_date 2018/01/19 · arxiv published 2018/01/19 · arxiv updated 2018/01/22 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
By the CAP Theorem, a distributed data storage system can ensure either Consistency under Partition (CP) or Availability under Partition (AP), but not both. This has led to a split between CP databases, in which updates are synchronous, and AP databases, where they are asynchronous. However, there is no inherent reason to treat all updates identically: simply, the system should be as available as possible, and synchronised just enough for the application to be correct. We offer a principled Just-Right Consistency approach to designing such applications, reconciling correctness with availability and performance, based on the following insights:(i) The Conflict-Free Replicated Data Type (CRDTs) data model supports asynchronous updates in an intuitive and principled way.(ii) Invariants involving joint or mutually-ordered updates are compatible with AP and can be guaranteed by Transactional Causal Consistency, the strongest consistency model that does not compromise availability. Regarding the remaining, "CAP-sensitive" invariants:(iii) For the common pattern of Bounded Counters, we provide encapsulated data type that is proven correct and is efficient; (iv) in the general case, static analysis can identify when synchronisation is not necessary for correctness.Our Antidote cloud database system supports CRDTs, Transactional Causal Consistency and the Bounded Counter data type. Support tools help design applications by static analysis and proof of CAP-sensitive invariants. This system supports industrial-grade applications and has been tested experimentally with hundreds of servers across several geo-distributed data centres.