Cassandra ArchiStruktur und Replikationsfaktor

Cassandra ist für den Umgang konzipiert Big Data. Cassandra’s main feature is to store data on multiple nodes with no single point of failure.

The reason for this kind of Cassandra architecture was that the hardware failure can occur at any time. Any node can be down. In case of failure data stored in another node can be used. Hence, Cassandra is designed with its distributed archiStruktur.

Cassandra stores data on different nodes with a peer to peer distributed fashion archiStruktur.

Alle Knoten tauschen Informationen untereinander aus Klatschprotokoll. Gossip is a protocol in Cassandra by which nodes can communicate with each other.

Komponenten von Cassandra Architektur

Es gibt folgendewing Komponenten in der Cassandra ArchiStruktur:

Cassandra Architektur
Cassandra ArchiStrukturdiagramm

Knoten

Node is the place where data is stored. It is the basic component of Cassandra.

Data Center

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

Gruppe

Der Cluster ist die Ansammlung vieler Rechenzentren.

Commit-Protokoll

Jeder Schreibvorgang wird in das Commit-Protokoll geschrieben. Das Commit-Protokoll wird für die 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 places replicas of data on different nodes based on these two factors.

  • 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 das erste Replikat auf dem vom Partitionierer ausgewählten Knoten. Danach werden die restlichen Replikate in die Uhr gelegtwise Richtung im Knotenring.

Hier ist die bildliche Darstellung der SimpleStrategy:

SimpleStrategy in Cassandra
SimpleStrategy in Cassandra

NetworkTopologyStrategy in Cassandra

NetworkTopologyStrategy wird verwendet, wenn Sie über mehr als zwei Rechenzentren verfügen. In NetworkTopologyStrategy werden Replikate für jedes Rechenzentrum separat festgelegt. NetworkTopologyStrategy platziert Replikate in der Uhrwise Richtung im Ring, bis der erste Knoten in einem anderen Rack erreicht ist. Bei dieser Strategie wird 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:

NetworkTopologyStrategy in Cassandra
NetworkTopologyStrategy in Cassandra

Write Operation in 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.

Suppose if remaining two replicas lose data due to node downs or some other problem, Cassandra will make the row consistent by the built-in repair mechanism in Cassandra.

Here it is explained, how write process occurs in Cassandra,

  1. Wenn eine Schreibanforderung beim Knoten eintrifft, wird dieser zunächst im Festschreibungsprotokoll protokolliert.
  2. Dann Cassandra writes the data in the mem-table. Data written in the mem-table on each write request also writes in commit log separately. Mem-table is a temporarily stored data in the memory while Commit log logs the transaction records for back up purposes.
  3. Wenn die Mem-Tabelle voll ist, werden die Daten in die SSTable-Datendatei geschrieben.
Write Operation in Cassandra
Write Operation in Cassandra

Read Operation in 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

  • This tutorial explains the Cassandra intern architecture, and how Cassandra replicates, write and read data at different stages.
  • Also, here it explains about how Cassandra maintains the consistency level throughout the process.
  • 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.