Conflict-free replicated data type (CRDT)

Topic | v3 | updated by janarez |

In distributed computing, a conflict-free replicated data type (CRDT) is a data structure which can be replicated across multiple computers in a network, where the replicas can be updated independently and concurrently without coordination between the replicas, and where it is always mathematically possible to resolve inconsistencies that might come up.The CRDT concept was formally defined in 2011 by Marc Shapiro, Nuno Preguiça, Carlos Baquero and Marek Zawirski. Development was initially motivated by collaborative text editing and mobile computing. CRDTs have also been used in online chat systems, online gambling, and in the SoundCloud audio distribution platform. The NoSQL distributed databases Redis, Riak and Cosmos DB have CRDT data types.


a subtopic of Computer programming

Computer programming is the process of designing and building an executable computer program to accom...

relates to Operational transformation

Operational transformation (OT) is a technology for supporting a range of collaboration functionaliti...

uses Yjs

Yjs is a CRDT implementation that exposes its internal data structure as shared types. Shared types a...

uses Hybrid logical clock

Hybrid logical clock, HLC, combines the best of logical clocks and physical clocks. HLC captures the...

a tool for Local first software

“Local-first software”: a set of principles for software that enables both collaboration and ownershi...

uses Automerge

A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged...

uses Lamport timestamp

The Lamport timestamp algorithm is a simple logical clock algorithm used to determine the order of ev...

Edit topic New topic


is assesed in How Figma’s multiplayer technology works

10.0 rating 1.0 level 10.0 clarity 3.0 background – 1 rating

This is the post we wished we could have read when we were first starting our research. It's one thin...

is treated in CRDTs: Part 1

10.0 rating 2.0 level 10.0 clarity 2.0 background – 1 rating

This is a series about Conflict-Free Replicated Data Types, or CRDTs for short. Their purpose is to a...

is treated in @adlrocha - What if we had Local-First Software?

9.5 rating 2.5 level 9.5 clarity 1.5 background – 2 ratings

The path to an offline SaaS model

is compared in I was wrong. CRDTs are the future

9.5 rating 1.5 level 9.0 clarity 3.5 background – 2 ratings

I saw Martin Kleppmann’s talk a few weeks ago about his approach to realtime editing with CRDTs, and...

is compared in Building real-time collaboration applications: OT vs CRDT

9.0 rating 2.0 level 9.0 clarity 4.0 background – 1 rating

What do OT (Operational Transformation) and CRDT (Conflict-free Replicated Data Type) really mean? An...

is assesed in OT and CRDT trade-offs for Real-Time collaboration | Hacker News

9.0 rating 2.0 level 5.0 clarity 3.0 background – 1 rating

is applicable to CRDTs for Mortals - James Long at dotJS 2019

9.0 rating 4.0 level 7.0 clarity 3.0 background – 1 rating

What do CRDTs and frontends have to do with each other? James talks about how CRDTs finally deliver...

is assesed in Are CRDTs suitable for shared editing?

9.0 rating 4.0 level 9.0 clarity 3.0 background – 1 rating

Performance analysis of the Yjs CRDT in practice and in the worst case scenario.

is treated in Conflict-free Replicated Data Types: An Overview

6.0 rating 7.0 level 6.0 clarity 3.0 background – 1 rating

Internet-scale distributed systems often replicate data at multiple geographic locations to provide l...

is treated in Composing and decomposing op-based CRDTs with semidirect products

Operation-based Conflict-free Replicated Data Types (CRDTs) are eventually consistent replicated data...

is treated in A comprehensive study of Convergent and Commutative Replicated Data Types

Eventual consistency aims to ensure that replicas of some mutable shared object converge without fore...

is treated in About CRDTs • Conflict-free Replicated Data Types

Resources and community around CRDT technology — papers, blog posts, code and more.

is treated in CRDT: Conflict-free Replicated Data Types

How to count hits? What about how to store “likes” of popular users? In this article we wi...

is treated in CRDTs: The Hard Parts — Martin Kleppmann’s talks

A talk on the latest research on CRDTs, originally given at the Hydra distributed computing conferenc...