[de] Hauptseite zuletzt geändert: Mai 2026

PadKompendium

Lexikon kollaborativer Schreib- und Editor-Werkzeuge.

Hauptseite > Lexikon-Begriff > CRDT (Conflict-free Replicated Data Type)

CRDT (Conflict-free Replicated Data Type)

aus dem PadKompendium. Kategorie: Lexikon-Begriff.

Ein CRDT ist eine Datenstruktur, die sich auf mehreren Knoten unabhängig verändern lässt und nach einem Austausch der lokalen Änderungen automatisch konvergiert. Im Editor-Bereich verdrängt CRDT zunehmend Operational Transformation.

Ein CRDT — Conflict-free Replicated Data Type — ist eine Datenstruktur, deren Operationen so definiert sind, dass jede mögliche Anwendungsreihenfolge denselben Endzustand erzeugt. Mathematisch werden CRDTs als kommutativer Monoid oder Verband modelliert; daraus folgt automatisch, dass parallel verarbeitete Edits ohne Konflikt zusammengeführt werden können.

Familien

Es gibt zwei Hauptfamilien:

  • State-based CRDTs (CvRDT) synchronisieren komplette Zustände und nutzen eine Merge-Funktion, die kommutativ, assoziativ und idempotent ist.
  • Operation-based CRDTs (CmRDT) synchronisieren Operationen, ähnlich wie OT — verlangen aber, dass die Operationen selbst kommutativ sind, was zusätzliche Metadaten (Lamport-Zeitstempel, Knoten-IDs) erfordert.

Vorteile gegenüber OT

CRDTs benötigen keine zentrale Server-Instanz, die eine kanonische Reihenfolge festlegt. Knoten können beliebig getrennt sein, lokal arbeiten und ihre Edits später austauschen — sie konvergieren trotzdem. Das macht CRDTs zur natürlichen Wahl für Peer-to-Peer-Editoren, lokale Offline-Notizen-Apps und föderierte Systeme.

Nachteile

Die Metadaten für CRDTs wachsen mit der Anzahl der Operationen; ohne Garbage-Collection oder Komprimierung können Dokumente nach Jahren der Bearbeitung unhandlich werden. Moderne Implementierungen wie Yjs und Diamond Types haben diesen Punkt mit binär-kompakten Protokollen und Run-Length-Encoding adressiert.

Praxis

Aktuelle Editoren, die auf CRDT setzen, sind unter anderem die Live-Edit-Funktion in Obsidian Sync, das Co-Editing in Logseq, das Live-Cursor-System in Tldraw und die jüngere Synchronisations-Schicht von HedgeDoc. Auch viele neue Notiz- und Whiteboard-Apps bauen auf Yjs auf.

Siehe auch