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 ...
Get Grundlagen der skalierbaren Systeme now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.