Kapitel 12. Starke Kohärenz
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Wie ich in Kapitel 11 beschrieben habe, sind konsistente Datenbanken so konzipiert, dass sie skalieren, indem sie die Partitionierung und Replizierung von Datensätzen auf mehreren Rechnern ermöglichen. Die Skalierbarkeit wird auf Kosten der Datenkonsistenz zwischen den Replikaten und der Möglichkeit von Schreibkonflikten erreicht.
Diese Kompromisse haben zweierlei Konsequenzen. Erstens können nach der Aktualisierung eines Datenobjekts verschiedene Clients entweder den alten oder den neuen Wert des Objekts sehen, bis alle Replikate auf den neuesten Wert konvergieren. Zweitens: Wenn mehrere Clients ein Objekt gleichzeitig aktualisieren, ist die Anwendung dafür verantwortlich, dass keine Daten verloren gehen und der endgültige Objektstatus die Absicht der gleichzeitigen Aktualisierungsvorgänge widerspiegelt. Je nach den Anforderungen deines Systems kann der Umgang mit Inkonsistenzen und Konflikten einfach sein oder den Anwendungscode sehr komplex machen.
Eine andere Klasse von verteilten Datenbanken bietet ein alternatives Modell, nämlich stark konsistente Datensysteme. Stark konsistente Systeme, die auch als NewSQL oder neuerdings als verteiltes SQL bekannt sind, versuchen sicherzustellen, dass alle Clients den gleichen, konsistenten Wert eines Datenobjekts sehen, sobald es aktualisiert wurde. Sie bieten außerdem die bekannten ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access