Skip to main content

Was ist eventuelle Konsistenz?

Eventuelle Konsistenz ist ein Programmiermodell, bei dem Programmierer davon ausgehen, dass die aktuelle Version eines bestimmten Programms über einen langen Zeitraum und ohne Änderungen an einem System letztendlich verteilt wird, bis jedes Nachbau des Programms konsistent ist.Das Konzept der eventuellen Konsistenz wird bei Programmiermethoden wie optimistischer Replikation, verteilter gemeinsamer Speicher und verteilten Transaktionen verwendet.In Bezug auf Datenbanken wird eine eventuelle Konsistenz durch einen dreistufigen Prozess erreicht.Zunächst werden die verteilten Informationen auf dem System zur Verfügung gestellt.Darauf folgt ein Softstaat, in dem verschiedene Benutzer möglicherweise noch mit verschiedenen Versionen der Daten arbeiten.Schließlich wird eine Konsistenz erreicht, und alle Computer haben Zugriff auf identische Daten.

Eine der sichtbarsten Möglichkeiten, die eventuelle Konsistenz angewendet werden, ist mit Software -Updates zu tun, die online verteilt sind.In den ersten Sekunden nach Veröffentlichung eines Update wird es niemand haben.Nicht genug Zeit wurde für Benutzer der Software übergeben, um das Update herunterzuladen und zu installieren.Dies ist der verfügbare Zustand;Das Update existiert, muss aber noch verteilt werden.Im Laufe der Zeit haben einige, da Benutzer das Update herunterladen, einige und einige nicht.Nachdem genügend Zeit vergangen ist, hat jeder, der die Software verwendet, auf die neueste Version aktualisiert.Dies ist die Prämisse hinter dem Zustand der eventuellen Konsistenz: Bei genügend Zeit wird jedes Update im gesamten System vollständig ausbreitet.

Wenn das System auf eventuelle Konsistenz wirkt, sind Konflikte unvermeidlich.Diese treten auf, wenn die Programmversion oder Informationen, die derzeit auf dem Computer aktuell sind, nicht mit der Modellversion des Programms übereinstimmen.Programme werden in der Regel so eingerichtet, dass sie solche Konflikte erkennen und diese verwalten.Wenn die Dateien auf einem bestimmten Computer älter sind als die neueste Modellversion der betreffenden Software oder Daten, fordert das System normalerweise den Benutzer auf, ein Update zu initiieren, um die Disparität zu beheben.

Es stehen drei mögliche Methoden zur Verfügung, um diese Auflösungen zu bewirken: Reparaturen, Reparaturen und asynchrone Reparaturen schreiben.Diese Methoden bringen alle die Version des Programms oder die Daten in Übereinstimmung mit dem konsistenten Modell.Der wichtigste Unterschied zwischen diesen hat mit der Art und Weise zu tun, wie das System den Reparaturbetrieb zahlt.Alle diese Vorgänge haben Vorteile und Nachteile.

In einer Schreibreparatur werden Änderungen des auf dem Computer gespeicherten Code während eines Schreibvorgangs vorgenommen, wenn der Computer bereits etwas an die Systemfestplatte schreibt.Dies repariert die Inkonsistenz und bringt das Programm oder die Daten im Einklang mit dem Modell, verlangsamt jedoch auch den ursprünglichen Schreibvorgang vorübergehend.Für eine Lesereparatur erfolgt der Korrekturbetrieb während eines Lesezyklus von der Festplatte.Dies verlangsamt wiederum den Lesevorgang.Bei asynchroner Reparaturen erfolgt die Reparatur, wenn weder ein Lese- noch ein Schreibvorgang auftreten, was zum Verbrauch von Leerlaufzyklen an der CPU führt.