Zurück zur Übersicht

Begriff

CRDT (Conflict-free Replicated Data Type)

Distributed Systems Database S3
2 Quellen 0 Lernpfade 1 Backlink enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Wenn zwei Leute gleichzeitig im gleichen Google Doc tippen: Wie verhindert man Chaos? Ansatz A: Sperren (Locking). Einer muss warten. (Nervig). Ansatz B: CRDTs. CRDTs sind Datenstrukturen (Listen, Counter, Maps), die man immer mergen kann. Mathematisch garantiert konfliktfrei. Egal in welcher Reihenfolge Updates ankommen. Egal ob du offline warst. Das Ergebnis ist immer gleich (Strong Eventual Consistency). Magie? Nein. Monotonie. Ein "Grow-Only Set" kann nur wachsen. Wenn ich {A} habe und du {B}, dann ist das Merge immer {A, B}. Nichts wird je gelöscht (nur als "tombstone" markiert).

Merksatz: Eine Klasse von Datenstrukturen für verteilte Systeme, die parallele Änderungen ohne Koordination zulassen und mathematisch garantieren, dass alle Replikate nach dem Austausch der Änderungen denselben Zustand erreichen (Konvergenz).


Quick-Check

  1. Unterschied zu Operational Transformation (OT)?
    OT (altes Google Docs) braucht einen Server, der Konflikte löst ("Transformation"). CRDT braucht keinen Server (P2P möglich), ist aber speicherintensiver.
  2. Last Writer Wins?
    Das ist ein primitiver CRDT (LWW-Register). Aber oft "verliert" man Daten dabei. Echte CRDTs (wie RGA für Text) erhalten beide Änderungen intelligent.
  3. Zukunft?
    Riesig. Für "Offline-First" Web-Apps der Standard.