JavaScript-Hinweis: Du hast einen aktiven Popupblocker/Scriptblocker in Deinem Browser aktiviert! Bitte aktiviere JavaScript in Deinem Browser um alle Funktionen dieser Seite nutzen zu können. Du weißt nicht wie das geht? Hier erfährst Du mehr über Javascript und dessen Funktionen hier gibt es weitere Infos

Eventual Consistency

Geschrieben von Super User
Zugriffe: 2159

Was bedeutet "Eventual Consistency"?

Eventual Consistency ist eine abgeschwächte Variante der Konsistenz, die häufig bei verteilten Datenbanken zur Anwendung kommt. Dabei verzichtet man aus Performancegründen bei Schreiboperationen darauf, Daten sofort auf alle Server/Partitionen zu verteilen.

Stattdessen kommen Algorithmen zum Einsatz, die sicherstellen, dass nach Beendigung der Schreiboperationen die Daten konsistent gemacht werden, in der Regel ohne Aussage darüber, in welchem Zeitraum der Vorgang abgeschlossen sein wird. In der Zwischenzeit sind unterschiedliche Datenbestände auf den einzelnen Servern. Das kann dazu führen, dass identische, zeitgleiche Abfragen von mehreren Benutzern unterschiedliche Ergebnisse liefern können. Man kann lediglich darauf vertrauen, dass die Daten letztendlich konsistent sind, daher der Name diese Konzeptes.

 

Eventual Consistency ist eines jener Konzepte, die bei NoSQL Datenbanken eingesetzt werden, um hohe Performance und Skalierbarkeit zu erreichen, und es ist einer der Grundbegriffe von BASE. Diese Vorteile werden damit erkauft, dass das bei relationalen Datenbankmanagementsystemen übliche strengeren ACID Konsistenzkonzept nicht mehr gewährleistet ist.

Bei Eventual Consistency werden verschiedene Konsistenzmodelle verfolgt:

  • Monotonic Read Consistency: hat ein Client einmal ein Objekt x gelesen, wird er danach niemals eine ältere Version des Objektes lesen.
  • Monotonic Write Consistency: hat ein Client ein Attribut des Objektes x auf den Wert '1' gesetzt und danach auf '2' geändert, ist gewährleistet, dass in keiner Replika der Wert '2' durch '1' ersetzt wird.
  • Read Your Own Writes (manchmal mit RYOW abgekürzt): hat ein Client ein Objekt x geschrieben, wird er niemals eine ältere Version des Objektes lesen.

Es ist für die jeweilige Anwendung abzuwägen, welches der verschiedenen Konsistenzmodelle jeweils am besten geeignet ist.

Quelle: db-engines.com

You have no rights to post comments

Kategorie: