Zurück zur Übersicht

Begriff

Linearizability

Distributed Systems Theory S5
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.

Stell dir eine Variable x vor. In einem System mit Linearizability verhält sich x so, als gäbe es nur eine einzige Kopie davon. Egal ob du 100 Server hast (Replikas). Wenn Client A x=5 schreibt und "OK" bekommt. Dann muss Client B (der eine Nanosekunde später liest) 5 sehen. Es darf niemals passieren, dass Client B noch 0 sieht (Stale Read). Das ist die stärkste Form der Konsistenz. Es gibt keine "Zeitparadoxien". Der Preis: Wenn das Netzwerk langsam ist, muss das System stehenbleiben (CP im CAP-Theorem).

Merksatz: Das stärkste Konsistenzmodell für verteilte Systeme, das garantiert, dass jede Operation atomar zu einem einzigen Zeitpunkt zwischen Aufruf und Antwort stattfindet, sodass sich das System verhält, als gäbe es nur eine einzige Kopie der Daten.


Quick-Check

  1. Teuer?
    Extrem. Jeder Read/Write braucht Kommunikation mit dem Quorum (Raft Leader). Das erhöht die Latenz massiv ("Speed of Light" Limit).
  2. Unterschied zu Serializability?
    Serializability gilt für Transaktionen (mehrere Ops). Linearizability gilt für eine einzelne Operation (Read/Write) auf einem Objekt. "Strict Serializability" ist beides zusammen (Spanner).
  3. Verifikation?
    Schwer zu testen. Tools wie Jepsen (Kyle Kingsbury) foltern Datenbanken, um zu zeigen, dass sie Linearizability verletzen (obwohl sie es versprechen).