Table des matières
Cassandre est une base de données NoSQL puissant et évolutif. Il est open source et son architecture est conçue comme un système distribué dans lequel tous les nœuds sont identiques, permettant ainsi aux données d'être distribuées sur tous les nœuds du cluster.Stockage dans Cassandre est défini comme valeur clé où une clé peut correspondre à une ou plusieurs valeurs. C'est une Base de données orienté vers les enregistrements de ligne, où chaque ligne est identifiée par sa clé et la particularité de ce système est qu'une ligne peut être stockée dans plusieurs nœuds.
Avant de procéder à l'installation de Cassandre dans notre système, nous devons connaître un peu l'architecture de ce Base de données, de cette façon, nous saurons ce que nous avons et ce que nous pouvons réaliser.
Lorsque nous parlons de réplication d'informations, l'une des premières questions que nous nous posons est : de combien de copies avons-nous besoin ? Ceci dans Cassandra n'est pas une question facile à répondre, mais ce que nous devons garder à l'esprit, c'est que ce facteur indique le nombre de nœuds qui sont stockés dans la même ligne.
Par exemple, un facteur de réplication de 2 garantit qu'il y aura deux copies des informations des nœuds du cluster. Choisir la valeur deux pour le facteur de réplication est bon pour couvrir les défaillances d'un nœud dans l'environnement de développement et peut être le minimum pour les environnements de production, car si un nœud tombe en panne, l'autre gérera toutes les demandes, c'est donc quelque chose que nous devons penser soigneusement avant de le mettre en œuvre.
Espace cléCassandre nous permet de regrouper les informations en quelque chose appelé espaces clés, où peut-on dire que ces espaces clés ce sont des conteneurs pour les informations d'application. Un cluster a un espace de clé par application, cependant Cassandre Utilisez ceux-ci espaces clés pour gérer la réplication.
Famille de colonnesAprès avoir défini notre espace clé, à l'intérieur, nous avons quelque chose appelé famille de colonnes, ce sont des conteneurs identiques, mais pour une collection de lignes. Chaque ligne est une collection ordonnée de colonnes et nous pouvons faire une analogie avec les bases de données relationnelles, où le famille de colonnes ils ressemblent un peu aux tableaux.
Stratégie de réplicationDans Cassandre Il existe deux stratégies pour la réplication de l'information, l'une d'entre elles et celle que nous avons déjà abordée est la stratégie simple ou SimpleStratégie qui est chargé de copier les informations vers le nœud suivant jusqu'à ce que le facteur de réplication défini soit atteint. La deuxième stratégie s'appelle RéseauTopologieStratégie, où c'est la meilleure option si nous voulons distribuer les informations sur plusieurs centres de données.
Le protocole utilisé par Cassandre pour partager l'emplacement des nœuds et les informations de ceux-ci dans le cluster s'appelle Potins. Où ces nœuds « marmonnent » constamment et échangent des informations avec jusqu'à 3 nœuds dans le cluster.
Ce protocole, comme d'autres, a ses règles pour envoyer des requêtes à d'autres nœuds, où nous pouvons voir trois étapes pour lui, et chaque nœud répète toujours ces étapes :
1- Murmur à un nœud actif aléatoire.
2- Initier un murmure vers un nœud descendant aléatoire.
3- Cette étape est facultative et définit que si le nœud sélectionné à l'étape 1 n'est pas un nœud d'amorçage, murmurer à un autre nœud d'amorçage aléatoire.
Mais pour déplacer les informations et effectuer la communication entre les nœuds Cassandre utiliser un composant appelé MouchardVoyons ce que vous voulez dire.
Fondamentalement, ce composant est responsable de la gestion du mouvement des informations entre les nœuds en prenant d'autres nœuds pour les requêtes et la réplication en fonction de diverses métriques. Cette configuration est la même pour tous les nœuds du cluster, mais son type peut varier, voyons ceux dont nous disposons :
SimpleSnitchUtilisé dans les déploiements de centre de données simples, et un mouchard configuré de cette manière n'utilise aucune information du centre de données. Son comportement est simple, et il s'agit de trouver le nœud suivant.
Snitching dynamiqueCette configuration surveille les performances des répliques et sélectionne la meilleure sur la base d'une métrique simple qui pénalise les longs temps de réponse et évite les nœuds qui compressent vos informations.
RackInférantVifCette configuration utilise l'adresse IP pour déterminer l'emplacement des nœuds, où la dernière partie de l'IP identifie le nœud, la seconde les racks et la troisième les centres de données.
PropertyFileSnitchCela permet la définition de la topologie du cluster dans un fichier de propriétés, généralement cette configuration est utilisée si RackInférantVif non applicable.
PotinsPropriétéFichierSnitchIl utilise un fichier de propriétés pour la configuration initiale et continue avec le murmure pour envoyer des informations à d'autres nœuds.
L'installation de Cassandre Nous le ferons en équipe avec Windows 8, dans lequel nous devons répondre à certaines exigences auparavant, voyons ce dont nous avons besoin :
1- Nous devons avoir au moins Java 7 installé dans notre système, si nous ne l'avons pas, nous pouvons télécharger la version la plus récente dans le lien suivant.
2- Nous avons en plus besoin Package redistribuable Microsoft Visual C++ 2008 (x86).
3- Enfin une connexion Internet pour télécharger le package Taxe de données.
Une fois nos exigences passées en revue, nous allons aller sur la page du projet et rechercher la version 32 ou 64 bits qui convient à notre système :
AGRANDIR
Avec l'installation, plusieurs outils sont installés dans notre système, l'un d'eux est l'interface Web de Cassandre appel Centre des opérations, à laquelle nous pouvons entrer si nous mettons dans notre navigateur l'adresse suivante :
http://localhost:8888/opscenter/index.htmlCette interface nous permet de faire plusieurs choses intéressantes, cependant ce n'est pas la plus optimale pour travailler avec Cassandre, mais pour les besoins de ce tutoriel il est important de la connaître, voir ce qu'elle nous propose et ainsi avoir un point de départ pour commencer à connaître la structure de la Base de données.
La première chose que nous trouvons en entrant dans cette interface est la section de Tableau de bord, où nous pouvons visualiser diverses métriques de performances telles que la santé des nœuds, la capacité de stockage ou les demandes d'écriture :
AGRANDIR
AGRANDIR
AGRANDIR
Créer un espace clé, nous devons d'abord aller à la section Données et là, sélectionnez l'option Ajouter, nous entrons le nom, la stratégie de réplication, dont nous expliquons qu'il peut s'agir d'une topologie simple ou de réseau, et le facteur de réplication.
Avec cela, nous avons terminé ce tutoriel, où nous avons pu voir ce que l'architecture de Cassandre, son protocole, ses composants et son installation. Nous avons appris la structure via l'interface Web mais avec cela nous n'avons touché que la pointe de l'iceberg, dans les futurs tutoriels nous entrerons pleinement avec CQL et comment travailler professionnellement avec Cassandre.