Efficient State-based CRDTs by Delta-Mutation

Paulo Sérgio Almeida, Ali Shoker, Carlos Baquero
10/10/2014
cs.DCcs.DBcs.DS

Official code: CBaquero/delta-enabled-crdts (347 stars, Apache-2.0, last commit 2023-12-13).

Abstract

CRDTs are distributed data types that make eventual consistency of a distributed object possible and non ad-hoc. Specifically, state-based CRDTs ensure convergence through disseminating the en- tire state, that may be large, and merging it to other replicas; whereas operation-based CRDTs disseminate operations (i.e., small states) assuming an exactly-once reliable dissemination layer. We introduce Delta State Conflict-Free Replicated Datatypes (δ-CRDT) that can achieve the best of both worlds: small messages with an incremental nature, as in operation-based CRDTs, disseminated over unreliable communication channels, as in traditional state-based CRDTs. This is achieved by defining δ-mutators to return a delta-state, typically with a much smaller size than the full state, that is joined to both: local and remote states. We introduce the δ-CRDT framework, and we explain it through establishing a correspondence to current state-based CRDTs. In addition, we present an anti-entropy algorithm that ensures causal consistency, and we introduce two δ-CRDT specifications of well-known replicated datatypes.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

Reference implementations of state-based CRDTs that offer deltas for all mutations.

34737C++, MakefileJul 1, 20142 years agoApache-2.0

Similar Papers

Cite this paper

@article{almeida2014efficient,
  title  = {Efficient State-based CRDTs by Delta-Mutation},
  author = {Paulo Sérgio Almeida and Ali Shoker and Carlos Baquero},
  year   = {2014},
  eprint = {1410.2803},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1410.2803}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1410.2803.svg)](https://codeofpaper.com/paper/1410.2803)

Discussion