Zurück zur Übersicht

Begriff

Causal Consistency

Distributed Systems Theory S4
2 Quellen 0 Lernpfade 0 Backlinks 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.

Noch schwächer als Sequential, aber stärker als Eventual. Es respektiert Ursache und Wirkung. Beispiel Chat: Alice fragt: "Gehen wir essen?" (Nachricht A). Bob antwortet: "Ja, Burger!" (Nachricht B). Wenn Charlie Nachricht B ("Ja, Burger!") sieht, muss er davor schon A gesehen haben. Warum? Weil B eine Antwort auf A ist. B ist kausal abhängig von A. Wenn Charlie aber erst B sieht ("Ja, Burger!"), denkt er: "Hä? Worauf antwortet der?". Unabhängige Events (Dora postet: "Es regnet") dürfen in beliebiger Reihenfolge ankommen. Das ist das perfekte Modell für Chat-Apps, Kommentare und Social Media.

Merksatz: Ein Konsistenzmodell, das garantiert, dass kausal zusammenhängende Ereignisse (Ursache vor Wirkung) bei allen Teilnehmern in der gleichen Reihenfolge gesehen werden, während unabhängige Ereignisse unterschiedlich geordnet sein können.


Quick-Check

  1. Slow?
    Nein, sehr schnell. Keine globalen Locks. Man muss nur lokal prüfen: "Habe ich alle Dependencies?"
  2. Implementierung?
    Komplex. Man muss Abhängigkeiten im gesamten System mitschleppen ("Context"). Wenn man den Kontext verliert, fällt man auf Eventual Consistency zurück.
  3. WhatsApp?
    Nutzt implizit Causal Consistency für den Nachrichtenfluss innerhalb eines Chats (durch Sequence Numbers).