Cassandra ArchiStruktur und Replikationsfaktor

Cassandra ist für den Umgang konzipiert Big Data. CassandraDas Hauptmerkmal von ist die Speicherung von Daten auf mehreren Knoten ohne Single Point of Failure.

Der Grund für diese Art von CassandraDie Architektur von war so, dass der Hardwarefehler jederzeit auftreten kann. Jeder Knoten kann ausfallen. Im Fehlerfall können Daten verwendet werden, die in einem anderen Knoten gespeichert sind. Daher Cassandra ist mit seiner verteilten Architektur konzipiert.

Cassandra speichert Daten auf verschiedenen Knoten mit einer Peer-to-Peer-Architektur im verteilten Stil.

Alle Knoten tauschen Informationen untereinander aus Klatschprotokoll. Klatsch ist ein Protokoll in Cassandra über die Knoten miteinander kommunizieren können.

Komponenten von Cassandra Architektur

Es gibt folgende Komponenten in der Cassandra ArchiStruktur:

Cassandra Architektur
Cassandra ArchiStrukturdiagramm

Knoten

Knoten ist der Ort, an dem Daten gespeichert werden. Es ist die Grundkomponente von Cassandra.

Rechenzentrum

Eine Ansammlung von Knoten wird als Rechenzentrum bezeichnet. Viele Knoten werden als Rechenzentren kategorisiert.

Cluster

Der Cluster ist die Ansammlung vieler Rechenzentren.

Commit-Protokoll

Jeder Schreibvorgang wird in das Commit-Protokoll geschrieben. Das Commit-Protokoll wird zur Wiederherstellung nach einem Absturz verwendet.

Mem-Tisch

Nachdem die Daten in das Commit-Protokoll geschrieben wurden, werden die Daten in die Mem-Tabelle geschrieben. Die Daten werden vorübergehend in die Mem-Tabelle geschrieben.

SSTable

Wenn die Mem-Tabelle einen bestimmten Schwellenwert erreicht, werden die Daten in eine SSTable-Festplattendatei geschrieben.

Datenreplikation in Cassandra

Da während der Datenverarbeitung jederzeit ein Hardwareproblem auftreten oder die Verbindung ausfallen kann, ist eine Lösung erforderlich, um ein Backup bereitzustellen, wenn das Problem auftritt. Daher werden die Daten repliziert, um sicherzustellen, dass es keinen Single Point of Failure gibt.

Cassandra platziert auf der Grundlage dieser beiden Faktoren Replikate von Daten auf verschiedenen Knoten.

  • Wo das nächste Replikat platziert werden soll, wird durch die bestimmt Replikationsstrategie.
  • Während die Gesamtzahl der Replikate, die auf verschiedenen Knoten platziert werden, durch die bestimmt wird Replikationsfaktor.

Ein Replikationsfaktor bedeutet, dass es nur eine einzige Kopie der Daten gibt, während drei Replikationsfaktoren bedeuten, dass es drei Kopien der Daten auf drei verschiedenen Knoten gibt.

Um sicherzustellen, dass es keinen Single Point of Failure gibt, Der Replikationsfaktor muss drei sein.

Es gibt zwei Arten von Replikationsstrategien Cassandra.

SimpleStrategy in Cassandra

Einfache Strategie wird verwendet, wenn Sie nur ein Rechenzentrum haben. SimpleStrategy platziert die erste Replik auf dem vom Partitionierer ausgewählten Knoten. Danach werden die verbleibenden Replikate im Uhrzeigersinn im Knotenring platziert.

Hier ist die bildliche Darstellung der SimpleStrategy:

SimpleStrategy in Cassandra
SimpleStrategy in Cassandra

NetzwerkTopologieStrategie in Cassandra

NetworkTopologyStrategy wird verwendet, wenn Sie mehr als zwei Rechenzentren haben. In NetworkTopologyStrategy werden Replikate für jedes Rechenzentrum separat festgelegt. NetworkTopologyStrategy platziert Replikate im Uhrzeigersinn im Ring, bis der erste Knoten in einem anderen Rack erreicht ist. Diese Strategie versucht, Replikate auf verschiedenen Racks im selben Rechenzentrum zu platzieren.

Dies liegt daran, dass manchmal Fehler oder Probleme im Rack auftreten können. Dann können Replikate auf anderen Knoten Daten bereitstellen.

Hier ist die bildliche Darstellung der Netzwerktopologiestrategie:

NetzwerkTopologieStrategie in Cassandra
NetzwerkTopologieStrategie in Cassandra

Schreiben Operain Cassandra

Der Koordinator sendet eine Schreibanforderung an Replikate. Wenn alle Replikate aktiv sind, erhalten sie unabhängig von ihrer Konsistenzstufe eine Schreibanforderung.

Konsistenzgrad bestimmt, wie viele Knoten mit der Erfolgsbestätigung antworten.

Der Knoten antwortet mit einer Erfolgsbestätigung, wenn die Daten erfolgreich in das Festschreibungsprotokoll geschrieben wurden memTable.

Beispielsweise erhalten in einem einzelnen Rechenzentrum mit einem Replikationsfaktor von drei drei Replikate Schreibanforderungen. Wenn die Konsistenzstufe eins ist, antwortet nur ein Replikat mit der Erfolgsbestätigung und die verbleibenden zwei bleiben inaktiv.

Angenommen, die verbleibenden zwei Replikate verlieren aufgrund von Knotenausfällen oder einem anderen Problem Daten. Cassandra macht die Zeile durch den eingebauten Reparaturmechanismus in konsistent Cassandra.

Hier wird erklärt, wie der Schreibvorgang abläuft Cassandra,

  1. Wenn eine Schreibanforderung beim Knoten eintrifft, wird dieser zunächst im Festschreibungsprotokoll protokolliert.
  2. Dann Cassandra schreibt die Daten in die Mem-Tabelle. Daten, die bei jeder Schreibanforderung in die Mem-Tabelle geschrieben werden, werden auch separat in das Festschreibungsprotokoll geschrieben. Bei der Mem-Tabelle handelt es sich um vorübergehend im Speicher gespeicherte Daten, während das Commit-Protokoll die Transaktionsdatensätze zu Sicherungszwecken protokolliert.
  3. Wenn die Mem-Tabelle voll ist, werden die Daten in die SSTable-Datendatei geschrieben.
Schreiben Operain Cassandra
Schreiben Operain Cassandra

Lesen Sie mehr Operain Cassandra

Es gibt drei Arten von Leseanforderungen, die ein Koordinator an Replikate sendet.

  1. Direkte Anfrage
  2. Digest-Anfrage
  3. Reparaturanfrage lesen

Der Koordinator sendet eine direkte Anfrage an eines der Replikate. Danach sendet der Koordinator die Digest-Anfrage an die durch die Konsistenzebene angegebene Anzahl von Replikaten und prüft, ob es sich bei den zurückgegebenen Daten um aktualisierte Daten handelt.

Danach sendet der Koordinator eine Digest-Anfrage an alle verbleibenden Replikate. Wenn ein Knoten einen veralteten Wert ausgibt, werden diese Daten durch eine Anforderung zur Reparatur im Hintergrund aktualisiert. Dieser Vorgang wird als Lesereparaturmechanismus bezeichnet.

Zusammenfassung

  • Dieses Tutorial erklärt das Cassandra interne Architektur und wie Cassandra repliziert, schreibt und liest Daten in verschiedenen Phasen.
  • Außerdem wird hier erklärt, wie Cassandra behält das Konsistenzniveau während des gesamten Prozesses bei.
  • Komponenten von Cassandra ArchiStruktur: Knoten, Rechenzentrum, Cluster, Commit-Protokoll, Mem-Tabelle, SSTable
  • Ein Replikationsfaktor bedeutet, dass es nur eine einzige Kopie der Daten gibt, während drei Replikationsfaktoren bedeuten, dass es drei Kopien der Daten auf drei verschiedenen Knoten gibt.
  • SimpleStrategy wird verwendet, wenn Sie nur ein Rechenzentrum haben.
  • NetworkTopologyStrategy wird verwendet, wenn Sie über mehr als zwei Rechenzentren verfügen.