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 CassandraL'architecture de 's était telle qu'une panne matérielle pouvait survenir à tout moment. N'importe quel nœud pouvait être en panne. En cas de panne, les données stockées dans un autre nœud pouvaient être utilisées. Par conséquent, Cassandra est conçu avec son architecture distribuée.
Cassandra stocke les données sur différents nœuds avec une architecture de mode distribuée peer to peer.
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 les composants suivants dans le Cassandra Archistructure :
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.
Cluster
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 le sens des aiguilles d’une montre dans l’anneau Node.
Voici la représentation picturale de SimpleStrategy :
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éplicas dans le sens des aiguilles d'une montre dans l'anneau jusqu'à atteindre le premier nœud d'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 :
Écrire Operation 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,
- Lorsque la demande d'écriture parvient au nœud, il se connecte tout d'abord dans le journal de validation.
- 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.
- Lorsque la table mem est pleine, les données sont vidées vers le fichier de données SSTable.
Lire Operation dans Cassandra
Il existe trois types de demandes de lecture qu'un coordinateur envoie aux réplicas.
- Demande directe
- Demande de résumé
- 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 architecture interne 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.