Writes Follow Reads (kurz WFR, deutsch etwa „Schreibvorgänge folgen dem Gelesenen“) ist eine der vier Session-Garantien aus der wegweisenden Arbeit von Douglas Terry und Kollegen über schwach konsistente replizierte Daten („Session Guarantees for Weakly Consistent Replicated Data“, PDIS 1994). Zusammen mit Read Your Writes, Monotonic Reads und Monotonic Writes bildet sie einen abgestuften Katalog, mit dem sich Anwendungen gezielt gegen die Artefakte schwacher Konsistenz absichern können.

Was garantiert WFR?

WFR erhält die natürliche Abhängigkeit Lesen → Schreiben: Liest eine Session einen Wert, der aus einem früheren Schreibvorgang w1 stammt, und führt sie später einen Schreibvorgang w2 aus, dann muss w2 auf jeder Replika erst sichtbar werden, nachdem w1 sichtbar ist. Die Read-abhängigkeit wird durch diese Garantie in eine Write-Reihenfolge übersetzt: In jeder Kopie der Datenbank sind die Writes der Session nach allen Writes geordnet, deren Effekte frühere Reads der Session gesehen haben.

Fachlich wird WFR daher auch Session-Kausalität (session causality) genannt: Die kausale Kette „sehen und darauf aufbauen“ bleibt innerhalb einer Sitzung erhalten, auch wenn das System dahinter nur eventual konsistent ist. Ein klassisches Beispiel: Ein Nutzer liest eine Konfiguration oder einen Bestand, ändert ihn lokal und speichert. Ohne WFR könnte der neue Schreibvorgang auf einer Replika landen, die den gelesenen Stand noch gar nicht kennt — das Ergebnis wäre ein verlorenes Update oder ein scheinbarer Rückschritt.

Wie wird WFR umgesetzt?

  • Versionen im Client: Die Session merkt sich die höchste Version beziehungsweise den höchsten Zeitstempel, den ihre Reads gesehen haben.
  • Replica-Auswahl: Der Write wird nur an Repliken geschickt (oder dort erst ausgeführt), die mindestens diese Version bereits kennen — etwa per Sticky Routing auf eine ausreichend aktuelle Replika.
  • Quorum-Überlappung: Bei Quorum-basierten Systemen sorgt die Bedingung R + W > N dafür, dass sich gelesenes und geschriebenes Quorum überschneiden und die Write-Seite den gelesenen Stand garantiert sieht.
  • Vorab-Warten: Die ausführende Replika wartet notfalls kurz, bis die gelesene Version über den Replikationspfad eingetroffen ist. Genau hier übernehmen in der Praxis oft Gossip-Protokolle die Verbreitung der Effekte.

Einordnung

WFR ist eine Vorstufe der kausalen Konsistenz: Es ordnet genau die Write-Paare, zwischen denen eine beobachtete Read-Abhängigkeit besteht. Systeme wie MongoDB bieten mit causally consistent sessions eine praktische Umsetzung der Session-Garantien an. Gegenüber Eventual Consistency erkauft WFR die Zusicherung mit geringem Mehraufwand — ganz ohne die Koordinationskosten starker Modelle aus dem CAP-Theorem-Spektrum.