Table of contents

CRDTs vs Operational Transformations

%3 cluster_93df4a52_db95_4d5a_b8b8_03d8627bc49e CRDTs vs Operational Transformations _57327086_c317_4d39_8df0_4f1be59192de From Yjs _1e7507a6_1e21_4b81_9888_53d55e98502d For a long time OTs require a central server _c97d95cc_d787_4951_8beb_aa9d5279f6e9 CRDT: Conflict-free Replicated Data Type _dfc6c787_8803_4a50_84ba_5c8fe0d46ded Operational transformations _dfc6c787_8803_4a50_84ba_5c8fe0d46ded->_c97d95cc_d787_4951_8beb_aa9d5279f6e9 __0:cluster_93df4a52_db95_4d5a_b8b8_03d8627bc49e->_c97d95cc_d787_4951_8beb_aa9d5279f6e9 __1:cluster_93df4a52_db95_4d5a_b8b8_03d8627bc49e->_dfc6c787_8803_4a50_84ba_5c8fe0d46ded

From Yjs

*Conflict-free replicated data types* (CRDT) for collaborative editing are an alternative approach to *operational transformation* (OT).

A very simple differenciation between the two approaches is that OT attempts to
transform index positions to ensure convergence (all clients end up with the
same content), while CRDTs use mathematical models that usually do not involve
index transformations, like linked lists.

OT is currently the de-facto standard for shared editing on text. OT approaches
that support shared editing without a central source of truth (a central server)
require too much bookkeeping to be viable in practice.

CRDTs are better suited for distributed systems, provide additional guarantees
that the document can be synced with remote clients, and do not require a
central source of truth.