Eventuelle Konsistenz in einfachem Englisch
Ich höre oft über eventuelle Konsistenz in den verschiedenen reden über NoSQL, data grids, etc..
Es scheint, dass die definition von "eventual consistency" variiert in vielen Quellen (und vielleicht sogar, hängt von einer konkreten Datenspeicherung).
Kann jemand geben eine einfache Erklärung, was "Eventual Consistency" im Allgemeinen, nicht bezogen auf eine konkrete Datenspeicherung?
InformationsquelleAutor der Frage Roman | 2012-04-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eventual consistency:
Schließlich alle Server (du, ich, Ihr Nachbar) kennen die Wahrheit (dass es regnen morgen), aber in der Zwischenzeit den Kunden (seine Frau) kam Weg denken, es wird sonnig werden, auch wenn Sie fragte nach einem oder mehreren der Server (du und ich) hatten eine mehr up-to-date-Wert.
Im Gegensatz zu der Strengen Konsistenz - /SÄURE-compliance:
Kann zu keinem Zeitpunkt Ihr Guthaben spiegeln alles andere als die tatsächliche Summe aller Transaktionen auf Ihrem Konto zu diesem genauen moment.
Den Grundwarum so viele NoSQL-Systeme haben eventual consistency ist, dass fast alle von Ihnen sind entworfen, um verteilt werden, und mit vollständig verteilten Systemen gibt es noch einen super-linearer overhead zur Aufrechterhaltung der strengen Konsistenz (das heißt, Sie können nur die Skalierung so weit, bevor die Dinge beginnen zu verlangsamen, und wenn Sie es tun, müssen Sie werfen exponentiell mehr hardware auf das problem zu halten, Skalierung).
InformationsquelleAutor der Antwort Chris Shain
Eventual consistency:
Grundsätzlich, weil es Zeit braucht, um die Replikation von Daten über mehrere Server-Anfragen, um die Daten Lesen könnte, geh auf einen server mit einer neuen Kopie, und gehen Sie dann zu einem server mit einer alten Kopie. Der Begriff "eventual" bedeutet, dass letztendlich die Daten repliziert werden, um alle Server, und damit alle die up-to-date Kopie.
Eventuelle Konsistenz ist ein muss, wenn Sie wollen, low-latency liest, da der angesprochene server muss wieder seine eigene Kopie der Daten, und nicht die Zeit haben, konsultieren Sie andere Server und eine gegenseitige Vereinbarung über den Inhalt der Daten. Ich schrieb eine blog-post erklären diese im detail.
InformationsquelleAutor der Antwort Ezra Hoch
Denken, Sie haben eine Anwendung und seine Replik. Dann müssen Sie neue Daten hinzufügen, Element der Anwendung.
Dann Anwendung synchronisiert die Daten auf andere Replikat-Karte in der unten
Inzwischen neue client geht, um Daten von einem Replikat, die nicht update noch. In diesem Fall kann er nicht richtig up-date Daten. Da die synchronisation einige Zeit. In diesem Fall ist es noch nicht schließlich die Konsistenz
Problem ist, wie können wir schließlich die Konsistenz?
Für die, die wir verwenden, mediator Anwendung zu aktualisieren /erstellen /löschen von Daten, und verwenden Sie direkte Abfrage zum Lesen von Daten. beitragen schließlich die Konsistenz
InformationsquelleAutor der Antwort wthamira
Wenn eine Anwendung eine änderung an einem Datenelement auf eine Maschine, die sich ändern muss weitergegeben werden an die anderen Replikate. Seit der änderung Vermehrung nicht plötzlich, es gibt ein Zeitintervall an, während dessen einige der Kopien wird der jüngsten änderung, aber andere nicht. In anderen Worten, die kopiert werden gegenseitig inkonsistent. Jedoch, die änderung wird schließlich propagiert werden, um alle Kopien, und daher der Begriff "eventual consistency". Der Begriff "eventual consistency" ist einfach eine Bestätigung, dass es eine unbegrenzte Verzögerung bei der Propagierung einer änderung an einem Gerät auf alle anderen kopiert. Eventual consistency ist nicht aussagekräftig oder relevant in der zentrale (Kopie) - Systemen, da es keine Notwendigkeit für die Fortpflanzung.
Quelle: http://www.oracle.com/technetwork/products/nosqldb/documentation/consistency-explained-1659908.pdf
InformationsquelleAutor der Antwort Alice
Eventuelle Konsistenz ist mehr wie ein Spektrum. An einem Ende haben Sie starke Konsistenz und auf die andere Sie haben "eventual consistency". Dazwischen gibt es Ebenen wie Snapshot, read my schreibt, bounded staleness. Doug Terry hat eine schöne Erklärung in seine Abhandlung über "eventual consistency" thru baseball
.
Als pro mich eventual consistency ist im Grunde Toleranz auf zufällige Daten in zufälliger Reihenfolge jedes mal, wenn Sie Lesen aus einem datenspeicher. Alles, was besser als das ist es, eine stärkere Kohärenz-Modell. Zum Beispiel ein snapshot mit veralteten Daten aber geben dieselben Daten Lesen, wenn es wieder so vorhersehbar ist. Manchmal Anwendung tolerieren kann Daten, die veraltet ist, für eine gegebene Menge von Zeit, jenseits, die derer es erfordert konsistente Daten.
Wenn Sie einen Blick auf die Bedeutung der Konsistenz, es bezieht sich mehr auf die Gleichmäßigkeit oder das fehlen von Abweichungen. Also in nicht-computer-system Bezug auf es könnte bedeuten, dass Toleranz für unerwartete Variationen. Es könnte sehr gut erklärt-thru-ATM. Ein ATM könnte offline sein, daher abweichend von Kontostand von core-Systeme. Allerdings gibt es eine Duldung für zeigt verschiedene Salden, die für ein Fenster der Zeit. Sobald die ATM-online kommt, kann es die Synchronisierung mit core-Systeme und reflektieren-Bilanz gleich. So eine ATM könnte gesagt werden, dass "eventually consistent".
InformationsquelleAutor der Antwort Shripad
in sehr einfachen englischen Satz, den wir sagen können: Zwar kann Ihr system werden, in inkonsistente Zustände, das Ziel ist immer das erreichen der Konsistenz bei einem Punkt für jedes Stück von Daten.
InformationsquelleAutor der Antwort Alireza Rahmani