Cassandra Architecture et facteur de réplication

Cassandra est conçu pour gérer Big Data. CassandraLa principale fonctionnalité de est de stocker des données sur plusieurs nœuds sans point de défaillance unique.

La raison de ce genre de Cassandra's archiLa configuration était que la panne matérielle peut survenir à tout moment. N'importe quel nœud peut être en panne. En cas de panne, les données stockées dans un autre nœud peuvent être utilisées. Ainsi, Cassandra est conçu avec son distribué architecture.

Cassandra stocke les données sur différents nœuds de manière distribuée peer to peer architecture.

Tous les nœuds échangent des informations entre eux en utilisant Protocole de potins. Les potins sont un protocole dans Cassandra par lequel les nœuds peuvent communiquer entre eux.

Composants de Cassandra Architecture

Il y a des suiveurswing composants dans le Cassandra Archistructure :

Cassandra Architecture
Cassandra Archidiagramme de structure

Nœud

Le nœud est l'endroit où les données sont stockées. C'est l'élément de base de Cassandra.

Centre de données

Un ensemble de nœuds est appelé centre de données. De nombreux nœuds sont classés comme centre de données.

Grappe

Le cluster est un ensemble de nombreux centres de données.

Journal de validation

Chaque opération d'écriture est écrite dans le journal de validation. Le journal de validation est utilisé pour la récupération après incident.

Table mémoire

Une fois les données écrites dans le journal de validation, les données sont écrites dans la table Mem. Les données sont écrites temporairement dans la table Mem.

SSTable

Lorsque Mem-table atteint un certain seuil, les données sont vidées vers un fichier disque SSTable.

Réplication des données dans Cassandra

Comme un problème matériel peut survenir ou que la liaison peut être interrompue à tout moment pendant le traitement des données, une solution est nécessaire pour fournir une sauvegarde lorsque le problème survient. Ainsi, les données sont répliquées pour garantir l’absence de point de défaillance unique.

Cassandra place des répliques de données sur différents nœuds en fonction de ces deux facteurs.

  • L'endroit où placer la prochaine réplique est déterminé par le Stratégie de réplication.
  • Bien que le nombre total de répliques placées sur différents nœuds soit déterminé par le Facteur de réplication.

Un facteur de réplication signifie qu'il n'y a qu'une seule copie des données, tandis que trois facteurs de réplication signifient qu'il existe trois copies des données sur trois nœuds différents.

Pour garantir qu'il n'y a pas de point de défaillance unique, le facteur de réplication doit être de trois.

Il existe deux types de stratégies de réplication dans Cassandra.

Stratégie simple dans Cassandra

SimpleStratégie est utilisé lorsque vous n’avez qu’un seul centre de données. SimpleStrategy place la première réplique sur le nœud sélectionné par le partitionneur. Après cela, les répliques restantes sont placées dans l'horlogewise direction dans l’anneau Node.

Voici la représentation picturale de SimpleStrategy :

Stratégie simple dans Cassandra
Stratégie simple dans Cassandra

RéseauTopologieStratégie dans Cassandra

RéseauTopologieStratégie est utilisé lorsque vous disposez de plus de deux centres de données. Dans NetworkTopologyStrategy, les réplicas sont définis séparément pour chaque centre de données. NetworkTopologyStrategy place les répliques dans l'horlogewise direction dans l’anneau jusqu’à atteindre le premier nœud dans un autre rack. Cette stratégie tente de placer les répliques sur différents racks dans le même centre de données.

Cela est dû à la raison pour laquelle une panne ou un problème peut parfois survenir dans le rack. Les répliques sur d’autres nœuds peuvent alors fournir des données.

Voici la représentation picturale de la stratégie de topologie du réseau :

RéseauTopologieStratégie dans Cassandra
RéseauTopologieStratégie dans Cassandra

Opération d'écriture dans Cassandra

Le coordinateur envoie une demande d'écriture aux réplicas. Si toutes les répliques sont opérationnelles, elles recevront une demande d'écriture quel que soit leur niveau de cohérence.

Niveau de cohérence détermine combien de nœuds répondront avec l'accusé de réception du succès.

Le nœud répondra avec un accusé de réception de succès si les données sont écrites avec succès dans le journal de validation et memTable.

Par exemple, dans un seul centre de données avec un facteur de réplication égal à trois, trois réplicas recevront une demande d'écriture. Si le niveau de cohérence est un, une seule réplique répondra avec un accusé de réception de réussite et les deux autres resteront inactives.

Supposons que si les deux répliques restantes perdent des données en raison de pannes de nœuds ou d'un autre problème, Cassandra rendra la ligne cohérente grâce au mécanisme de réparation intégré dans Cassandra.

Ici, il est expliqué comment le processus d'écriture se déroule dans Cassandra,

  1. Lorsque la demande d'écriture parvient au nœud, il se connecte tout d'abord dans le journal de validation.
  2. Ensuite Cassandra écrit les données dans la table mémoire. Les données écrites dans la table mémoire à chaque demande d'écriture sont également écrites séparément dans le journal de validation. Mem-table est une donnée stockée temporairement dans la mémoire tandis que le journal Commit enregistre les enregistrements de transaction à des fins de sauvegarde.
  3. Lorsque la table mem est pleine, les données sont vidées vers le fichier de données SSTable.
Opération d'écriture dans Cassandra
Opération d'écriture dans Cassandra

Lire Opération dans Cassandra

Il existe trois types de demandes de lecture qu'un coordinateur envoie aux réplicas.

  1. Demande directe
  2. Demande de résumé
  3. Lire la demande de réparation

Le coordinateur envoie une demande directe à l'une des répliques. Après cela, le coordinateur envoie la demande de résumé au nombre de réplicas spécifié par le niveau de cohérence et vérifie si les données renvoyées sont des données mises à jour.

Après cela, le coordinateur envoie une demande de résumé à toutes les répliques restantes. Si un nœud donne une valeur obsolète, une demande de réparation en lecture en arrière-plan mettra à jour ces données. Ce processus est appelé mécanisme de réparation en lecture.

Résumé

  • Ce tutoriel explique le Cassandra interne architecture, et comment Cassandra réplique, écrit et lit des données à différentes étapes.
  • De plus, ici, il explique comment Cassandra maintient le niveau de cohérence tout au long du processus.
  • Composants de Cassandra Architecture : nœud, centre de données, cluster, journal de validation, table mémoire, SSTable
  • Un facteur de réplication signifie qu'il n'y a qu'une seule copie des données, tandis que trois facteurs de réplication signifient qu'il existe trois copies des données sur trois nœuds différents.
  • SimpleStrategy est utilisé lorsque vous ne disposez que d’un seul centre de données.
  • NetworkTopologyStrategy est utilisé lorsque vous disposez de plus de deux centres de données.