Checking causal consistency of distributed databases

  • Rachid Zennou
  • , Ranadeep Biswas
  • , Ahmed Bouajjani
  • , Constantin Enea
  • , Mohammed Erradi

Research output: Contribution to journalArticlepeer-review

Abstract

The CAP Theorem shows that (strong) consistency, availability, and partition tolerance are impossible to be ensured together. Causal consistency is one of the weak consistency models that can be implemented to ensure availability and partition tolerance in distributed systems. In this work, we propose a tool to check automatically the conformance of distributed/concurrent systems executions to causal consistency models. Our approach consists in reducing the problem of checking if an execution is causally consistent to solving datalog queries. The reduction is based on complete characterizations of the executions violating causal consistency in terms of the existence of cycles in suitably defined relations between the operations occurring in these executions. We have implemented the reduction in a testing tool for distributed databases, and carried out several experiments on real case studies, showing the efficiency of the suggested approach.

Original languageEnglish
Pages (from-to)2181-2201
Number of pages21
JournalComputing
Volume104
Issue number10
DOIs
Publication statusPublished - 1 Oct 2022
Externally publishedYes

Keywords

  • Causal consistency
  • Causal convergence
  • Causal memory
  • Distributed databases
  • Formal verification
  • Testing

Fingerprint

Dive into the research topics of 'Checking causal consistency of distributed databases'. Together they form a unique fingerprint.

Cite this