Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Apache Cassandra Grundkurs

Konsistenz beim Schreiben von Daten

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Sehen Sie in diesem Video, was unter dem Begriff "tunable Consistency" beim Schreiben von Daten in einen Cassandra-Cluster verstanden wird. Zusätzlich lernen Sie, wie die Datenbank mit Hilfe von "hinted Handoff" auch beim Ausfall von Nodes verfügbar bleibt.
03:45

Transkript

In einem verteilten System ist Datenkonsistenz schwieriger umzusetzen, als in einem ausschließlich lokal operierenden System. Trotzdem sind auch große Softwaresysteme darauf angewiesen, dass sie mit einer Datenbank konsistent Daten austauschen können. Sehen Sie in diesem Video, wie Cassandra die Konsistenz beim Schreiben gewährleistet, und wie Sie diesen Vorgang nach Ihren Bedürfnissen anpassen können. Zunächst ist zu erwähnen, dass jede Node im Cluster gleichberechtigt ist. Potentiell kann jede Node eine Anlaufstelle für Anfragen sein. Sobald eine Schreibanfrage an eine Node geht, wird diese als Coordinator Node im Kontext dieser Anfrage bezeichnet. Die eingehende Anfrage wird also von der Coordinator Node bearbeitet. Diese wird mithilfe ihres Wissens über die anderen Nodes und Cluster die Daten an die passenden Nodes weiterleiten, damit diese die Daten persistieren können. Dabei kann es auch passieren, dass eine Replika der Daten an die Coordinator Node selber gehen soll. Wie wird also die Konsistenz sichergestellt? Die Schreibkonsistenz ist in Cassandra konfigurierbar. Man spricht von Tunable Consistency. Jedes Mal, wenn eine Schreibanfrage bei der Coordinator Node eingeht, schickt diese die Daten an diejenigen Nodes weiter, welche die Daten persistieren sollen. Dabei wartet die Coordinator Node solange, bis die anderen Nodes das Persistieren der Daten bestätigen, also ein Acknoledgement gesendet haben. Erst wenn alle Replikas geantwortet haben, kann die Coordinator Node dem Client einen abgeschlossenen Schreibvorgang bestätigen. Das Konfigurierbare an diesem Vorgang ist, dass Sie festlegen können, wie viele Replikas das erfolgreiche Speichern der Daten bestätigen müssen. Sie können beispielsweise statisch definieren, dass genau eine, zwei oder drei Replikas antworten müssen. Sie können festlegen, dass alle Nodes antworten müssen. Mit alle sind hier nicht alle Nodes im Cluster gemeint, sondern höchstens so viele, wie im Replikationsfaktor für diesen Key Space definiert wurden. Man kann auch definieren, dass eine Mehrheit der Nodes antworten muss. Bei einem Replikationsfaktor von drei müssten also mindestens zwei Nodes antworten, bei einer fünffachen Replikation mindestens drei, und so weiter. Diese Mehrheit wird Quorum genannt. Wir können auch das Konsistenziveau ANY festlegen. Wie sich ANY von ONE unterscheidet, sehen wir in wenigen Sekunden. Was passiert, wenn eine Replika nicht verfügbar ist? An dieser Stelle setzt Cassandra eine Technik ein, die Hinted Handoff genannt wird. Um die Fehlertoleranz des Clusters zu erhöhen, merkt sich die Coordinator Node die zu schreibenden Daten in einem sogenannten Hint. Für die Replikas, die nicht geantwortet haben, wird der Hint solange vorgehalten, bis diese wieder verfügbar sind, und die Daten synchronisiert werden können. Ein solcher Hint zählt, was Konsistenz angeht, nicht als erfolgreiches Schreiben, außer für den Fall, dass ANY eingestellt ist. Wenn also für eine Schreibanfrage das Konsistenzniveau ONE vorgegeben ist, und alle Nodes einer Partition nicht verfügbar sind, genügt ein Hint nicht, um die fehlende Antwort einer Node auszugleichen. In solch einem Szenario wäre ein Hint jedoch ausreichend, um der Vorgabe ANY zu genügen. In diesem Video haben Sie gesehen, wie Cassandra Schreibanfragen entgegen nimmt, und in diesem Kontext Konsistenz versteht. Sie wissen nun, dass es beim Schreiben von Daten, verschiedene Konsistenzniveaus gibt, die konfigurierbar sind. Sie haben verstanden, dass Sie bei Wahl des Konsistenzniveaus die Balance zwischen Konsistenz und Performance finden müssen. Da bei stärkere Konsistenz auf mehrere Replikas bis zum Abschluss der Operation gewartet werden muss.

Apache Cassandra Grundkurs

Lernen Sie, wie Sie Apache Cassandra als hoch verfügbare und skalierbare Datenbank einsetzen können.

2 Std. 11 min (26 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:24.02.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!