Quorum Consensus

Quorum Consensus

Das gewichtete Voting (engl. Quorum Consensus) ist ein Verfahren, das die Datenintegrität bei replizierten Datenbanken gewährleisten soll. In Systemen, die aus einer Vielzahl von Einheiten bestehen, muss ein Weg gefunden werden, um im fehlerbehafteten Umfeld Daten von ihnen zu lesen und zu schreiben. Dabei soll auch Toleranz für Ausfälle der Einheiten gewährleistet werden, ohne die Konsistenz der Daten zu gefährden.

Inhaltsverzeichnis

Verfahren

Gefordert wird Robustheit gegen Ausfälle von einzelnen Knoten (Netzwerkelement) und Konsistenz der Daten.

Das Quorum-Consensus-Verfahren kann dabei nicht nur mit dem Ausfall einzelner Knoten umgehen, sondern auch Konsistenz beim Zerfall des Netzwerkes in einzelne unabhängige Partitionen garantieren. Wichtig dabei ist, dass bei der Bildung mehrerer Partitionen des Netzwerkes, die durch Kommunikationsfehler entstehen können, nur eine Partition Änderungen an den Daten vornimmt.

Dazu wird mit einem Quorum gearbeitet. Knoten die zu einer Partition gehören dürfen nur operieren, wenn sie das Quorum besitzen. Dieses ist im einfachen Fall die Mehrheit (die Hälfte der Mitglieder + ein Knoten), kann aber auch über eine Gewichtung der einzelnen Mitglieder erreicht werden.

Schreibquorum (WT = 3) und Lesequorum (RT = 3) beim Zugriff auf ein Datenelement

Jeder Knoten des Systems erhält so ein Gewicht und besteht ein sogenanntes Lesequorum RT und ein Schreibquorum WT, das bei einem Zugriff erfüllt werden muss. Zusätzlich wird eine Versionsnummer eingeführt, die beim Schreiben aktualisiert und beim Lesen ebenfalls ausgelesen wird.

Für das Setzen von RT und WT muss gelten:

  • WT > \frac{\text{Summe aller Gewichte}}{2}, nur bei Mehrheit wird geschrieben
sowie
  • WT + RT > Summe aller Gewichte, so wird beim Lesen mindestens eine aktuelle Version gefunden

Beim Schreiben eines Datums muss die Summe der Gewichte der beschriebenen Knoten das Schreibequorum erreichen. So wird nur bei Mehrheit aktualisiert und nur eine Partition kann Änderungen vornehmen, die Konsistent der Datenbank bleibt erhalten. Die Knoten, die an dem Quorum teilnehmen werden aktualisiert, andere Knoten behalten ihren alten Wert.

Beim Lesen muss das Lesequorum erreicht werden, es werden also im Allgemeinen mehrere Knoten gelesen. Dabei können verschiedene Versionen gelesen werden, das Quorum garantiert allerdings, dass mindestens eine aktuelle Version darunter ist. Diese wird verwendet.

Eigenschaften

Die Wahl von RT und WT bietet Flexibilität. Hierdurch lässt sich in einem Datenbanksystem die Geschwindigkeit oder Priorität von Lesen und Schreiben einstellen (kleines RT für schnelles Lesen, kleines WT für schnelles Schreiben).

So kann durch WT = Summe aller Gewichte mit Gewicht 1 für jeden Knoten und RT = 1 das Aktualisieren aller Knoten beim Schreiben und das Lesen nur eines Knotens modelliert werden (ROWA).

Anders als bei anderen Verfahren zur verteilten Replikation ist hier bei dem Ausfall eines Knotens nachträglich keine Wiederherstellung (Recovery) nötig. Der ausgefallene Knoten kommt zurück in den Verbund und enthält möglicherweise veraltete Daten. Durch das Lesequorum ist aber sichergestellt, dass jeweils die aktuelle Version gefunden wird.

Beispiel

Gegeben seien 5 Knoten mit je einem Gewicht von 1. Setzt man RT = 1 und WT = 5, so bedeutet das, dass für eine Leseoperation nur ein Knoten zustimmen muss. Für einen Schreibzugriff muss man hingegen auf alle Ressourcen schreiben. Dieses System wäre allerdings nicht ausfallsicher.

Man könnte hingegen auch WT = 4 setzen und RT = 2; hier wäre Schreiben beim Ausfall eines Knotens noch möglich.

Nachteile des Verfahrens

Das Quorum-Consensus-Verfahren generiert eine hohe Last beim Lesen von Daten, da mehrere Knoten gelesen werden müssen, um das Lesequorum zu erreichen.

Ebenso sind eine große Menge von Replikationen nötig um den Ausfall weniger Komponenten zu verkraften (z.B. 3 Knoten um den Ausfall eines Knotens zu überstehen).

Verbesserung

Durch den Missing-Writes-Algorithmus kann eine ROWA-Strategie verwendet werden, solange es zu keinen Ausfällen kommt. So wird jeder Knoten bei einer Änderung aktualisiert. Damit kann schnelles Lesen (nur von einem Knoten) erreicht werden. Erst bei einem Ausfall wird auf Quorum Consensus umgestellt um die ausgefallenen Knoten zu kompensieren.

Weblinks

  • Mehrrechner-Datenbanksysteme – Elektronisches Buch auf der Internetseite der Abteilung Datenbanken am Institut für Informatik (Universität Leipzig)

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Quorum — Unter Quorum (lateinisch für „von denen“, Plural „Quoren“) versteht man die Zahl der Stimmberechtigten, die sich an einer Abstimmung beteiligen müssen, damit diese gültig bzw. erfolgreich ist, siehe Quorum (Politik) eine Komponente der… …   Deutsch Wikipedia

  • Consensus (disambiguation) — For the Wikipedia policy, see Wikipedia:Consensus. The word consensus may mean: 1992 Consensus Consensual nonconsent Consensus (computer science) achieving coherence, or quorum, among nodes of a distributed computer system. Consensus (medical)… …   Wikipedia

  • Gewichtetes Votieren — Das gewichtete Voting (lat. Quorum Consensus) ist ein Verfahren, das die Datenintegrität bei replizierten Datenbanken gewährleisten soll. In Systemen, die aus einer Vielzahl von Einheiten bestehen, muss ein Weg gefunden werden, um im… …   Deutsch Wikipedia

  • List of important publications in computer science — This is a list of important publications in computer science, organized by field. Some reasons why a particular publication might be regarded as important: Topic creator – A publication that created a new topic Breakthrough – A publication that… …   Wikipedia

  • ROWA — Das Read One Write All Verfahren (engl. lies eins, beschreibe alle) oder ROWA Verfahren ist ein einfaches Verfahren zur Synchronisation replizierter Daten. Das Prinzip beruht darauf, dass Änderungen an einem Datenobjekt immer synchron auf allen… …   Deutsch Wikipedia

  • ROWA-Verfahren — Das Read One Write All Verfahren (engl. lies eins, beschreibe alle) oder ROWA Verfahren ist ein einfaches Verfahren zur Synchronisation replizierter Daten. Das Prinzip beruht darauf, dass Änderungen an einem Datenobjekt immer synchron auf allen… …   Deutsch Wikipedia

  • Rowaa — Das Read One Write All Verfahren (engl. lies eins, beschreibe alle) oder ROWA Verfahren ist ein einfaches Verfahren zur Synchronisation replizierter Daten. Das Prinzip beruht darauf, dass Änderungen an einem Datenobjekt immer synchron auf allen… …   Deutsch Wikipedia

  • Paxos algorithm — Paxos is a family of protocols for solving consensus in a network of unreliable processors.Consensus is the process of agreeing on one result among a group of participants. This problem becomes difficult when the participants or their… …   Wikipedia

  • United States — a republic in the N Western Hemisphere comprising 48 conterminous states, the District of Columbia, and Alaska in North America, and Hawaii in the N Pacific. 267,954,767; conterminous United States, 3,022,387 sq. mi. (7,827,982 sq. km); with… …   Universalium

  • One-China policy — The One China policy (simplified Chinese: 一个中国; traditional Chinese: 一個中國 政策 ; pinyin: yī gè Zhōngguó) refers to the policy or view that there is only one state called China , despite the existence of two governments that claim to be China …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”