Soft State

Einen Bestandteil von BASE darstellend, sind Soft States für Robustheit in der Fehlerbehandlung sinnvoll, da bestimmte Datenmengen nur periodisch in den eigentlichen Endzustand gespeichert werden.

Im Kontext von Apache CouchDB bedeutet dies bspw., dass sich Dokumente auf einem Cluster-Node zunächst in einem sogenannten Soft State befinden, da nur nach und nach auf andere Cluster-Nodes repliziert wird, somit erst nach einiger Zeit ein "Hard State" des Dokuments im gesamten DBS(-Cluster) vorliegt. Durch MVCC kann zudem bereits beim Speichern in den Soft State auf einem anderen Cluster-Node eine aktuellere Revision eines Dokuments vorliegen.

Damit dient das Prinzip des Soft States vor allem auch der Availability, um blockierte Commits zu vermeiden. [vgl. 1] MVCC unterstützt diese bspw. durch Revisionen bei Apache CouchDB. Aus Sicht des Entwicklers sind Eventual Consistency und Soft States Mittel, die Availability zu erhöhen, wobei jedoch der User ein auf solchen Techniken basierendes System (und seine Daten) sehr wohl als konsistent und akzeptabel nutzbar wahrnehmen kann, da wiederum aus dessen Sicht Verzögerungen oder kurzzeitig nicht-deterministisches Verhalten meist nicht bemerkbar sind. [vgl. 2]

Literatur:

Kategorie: Neue DB-Entwicklungen, Grundlagen, NoSQL, S