Heim > häufiges Problem > Hauptteil

Was ist Datenkonsistenz?

青灯夜游
Freigeben: 2020-10-13 10:11:00
Original
31157 Leute haben es durchsucht

Was ist Datenkonsistenz?

Datenkonsistenz bezieht sich normalerweise darauf, ob die logische Beziehung zwischen zugehörigen Daten korrekt und vollständig ist, während das Konsistenzmodell der Datenspeicherung dies kann gilt als Vereinbarung zwischen dem Speichersystem und dem Datennutzer. Wenn der Nutzer dieser Vereinbarung folgt, kann er oder sie die vom System versprochenen Zugriffsergebnisse erhalten.

Häufig verwendete Konsistenzmodelle sind:

Strikte Konsistenz:

Lesen Sie die Daten Ausgabe sind immer die zuletzt geschriebenen Daten. Diese Konsistenz ist nur möglich, wenn eine globale Uhr vorhanden ist, und ist in einer verteilten Netzwerkumgebung nicht zu erreichen.

b. Sequentielle Konsistenz:

Alle Benutzer sehen Vorgänge für dieselben Daten in derselben Reihenfolge, aber die Reihenfolge erfolgt nicht unbedingt in Echtzeit.

Causale Konsistenz:

Nur ​​Schreibvorgänge mit Kausalzusammenhängen erfordern, dass alle Benutzer sie in derselben Reihenfolge sehen. Bei Schreibvorgängen ohne Kausalzusammenhänge wird dies ausgeführt parallel und es gibt keine Bestellgarantie. Kausale Konsistenz kann als Optimierung der sequentiellen Konsistenzleistung angesehen werden, es ist jedoch ziemlich schwierig, während der Implementierung ein kausales Abhängigkeitsdiagramm zu erstellen und aufrechtzuerhalten.

d. Pipeline-Konsistenz:

schwächt das kausale Konsistenzmodell weiter und erfordert, dass von einem Benutzer abgeschlossene Schreibvorgänge von allen anderen Benutzern verwendet werden können , und die Schreibvorgänge verschiedener Benutzer müssen die Reihenfolge nicht garantieren, genau wie eine Pipe nach der anderen. Es ist relativ einfach umzusetzen.

e. Schwache Konsistenz:

Erfordert nur Zugriff auf gemeinsam genutzte Datenstrukturen, um sequentielle Konsistenz sicherzustellen. Operationen auf Synchronisationsvariablen haben sequentielle Konsistenz, sind global sichtbar und können nur ausgeführt werden, wenn keine Schreiboperationen auf die Verarbeitung warten, um den sequentiellen Zugriff auf kritische Bereiche sicherzustellen. Zum Zeitpunkt der Synchronisierung können alle Benutzer dieselben Daten sehen.

f. Release-Konsistenz:

Eine schwache Konsistenz kann nicht unterscheiden, ob der Benutzer den kritischen Abschnitt betreten oder verlassen möchte. Die Release-Konsistenz verwendet zwei verschiedene Operationsanweisungen ausgezeichnet. Wenn ein Schreibvorgang erforderlich ist, erwirbt der Benutzer das Objekt und gibt es nach dem Schreiben frei. Zwischen dem Erwerb und der Freigabe wird ein kritischer Abschnitt gebildet. Die Gewährleistung der Freigabekonsistenz bedeutet, dass alle Benutzer den Vorgang sehen können, wenn der Freigabevorgang stattfindet.

g, letztendliche Konsistenz:

Wenn keine neuen Updates vorhanden sind, werden die Updates schließlich an alle Replikatpunkte über das Netzwerk weitergegeben, und alle Replikatpunkte werden dies schließlich tun Mit anderen Worten: Benutzer können nicht garantieren, dass sie neu geschriebene Daten im Zwischenprozess vor dem endgültigen Zeitpunkt sehen. Es gibt eine wichtige Voraussetzung für die Einführung eines letztendlich konsistenten Modells: Es ist zulässig, veraltete Daten auszulesen.

h, inkrementelle Konsistenz:

Das System erreicht die Konsistenz innerhalb der Delta-Zeit. Während dieses Zeitraums wird es ein inkonsistentes Fenster geben, das möglicherweise durch den Protokollversandprozess verursacht wird.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonWas ist Datenkonsistenz?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!