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
Si nous voulons jeter un oeil à la documentation de connectivité pour Cassandre Avec les différents langages de programmation, nous pouvons descendre dans la page et voir ce dont nous avons besoin pour le même. Après le téléchargement, nous installons comme n'importe quelle application Windows. Où il est important de mentionner qu'après cette installation, Cassandre il créera un cluster de tests par défaut.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
Dans cette interface, nous pouvons créer un nouveau cluster, pour cela, nous allons dans la partie supérieure droite et appuyez sur Nouveau cluster, ce qui ouvrira l'écran suivant :Nous entrons les données demandées et cliquons sur construire un cluster, en plus de cela, nous pouvons ajouter des nœuds également dans la liste déroulante de Actions de cluster, en haut à droite. Dans la rubrique Ne donnes pas, on peut voir les nœuds et centres de données disponibles, ainsi que certains paramètres comme la santé, la taille des données et même les alertes générées :
AGRANDIR
Dans la rubrique Activités On peut voir une liste des activités réalisées dans le cluster, ainsi qu'un journal des événements, quelque chose d'assez utile quand on est les administrateurs du Base de données:AGRANDIR
Ensuite, nous avons la section la plus importante de notre interface Web, et c'est Données, nous pouvons définir ici nos conteneurs d'informations mieux connus sous le nom espaces clés et les "tableaux" ou familles de colonnes.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.
Nous avons économisé et nous aurions déjà créé notre espace clé, car nous nous souvenons que ces conteneurs ont une fonction clé dans Cassandre y est de définir le facteur de réplication. Avec notre conteneur défini, nous allons ajouter un famille de colonnes, pour cela, nous entrons dans l'espace de clés et sélectionnons l'option Ajouter. Ici, nous entrons le nom, le type de colonne et le type de comparateur.
Avec cela, nous avons déjà créé notre famille de colonnesComme on peut le voir, c'est extrêmement simple, cependant cette interface nous limite dans beaucoup de choses et n'est qu'un bon point de départ pour les utilisateurs novices qui veulent comprendre comment la structure de Cassandre et comment gère-t-il le clusters, nœuds, espaces de clés et familles de colonnes.
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.