Advertisement
  1. Code
  2. NoSQL
Code

Mise en route de Cassandra: Utilisation de CQL API et CQLSH

by
Length:ShortLanguages:

French (Français) translation by New Lune (you can also view the original English article)

Apache Cassandra est l'un des systèmes de base de données distribués open-source les plus populaires disponibles. Il a été conçu dans le but de gérer de grandes quantités de données stockées dans de nombreux serveurs répartis entre les régions géographiques tout en offrant une grande évolutivité et une disponibilité sans seul point d'échec. Les systèmes Cassandra peuvent couvrir plusieurs centres de données, ce qui permet une faible latence pour tous les clients connectés.

Il s'agit d'une série de tutoriels en trois parties où je vais commencer par les bases de Cassandra, en utilisant CQLSH pour créer des tables et des enregistrements. Ensuite, je vais expliquer les différents types de données pris en charge par Cassandra, puis nous allons utiliser une bibliothèque client Go pour gérer les opérations de Cassandra par programme.

Dans cette première partie, je vais aborder comment le modèle de données de Cassandra est présenté en bref et effectuer des opérations de base en utilisant CQLSH.

Pour cette série de tutoriels, je suppose que les lecteurs pourraient installer Cassandra par eux-mêmes sur leurs machines respectives selon le système d'exploitation.

Le modèle de données Cassandra

Le modèle de données de Cassandra suit l'approche de la famille de colonnes, qui peut facilement être comprise comme étant analogue à une structure de table relationnelle mais de manière NoSQL. La description ci-dessous devrait le rendre plus clair:

Espace clé

Un espace clé peut être considéré comme le conteneur le plus externe pour les données de Cassandra. Toutes les données de Cassandra devraient vivre dans un espace de touches. Il peut être considéré comme une base de données dans le RDBMS, qui est une collection de tableaux. Dans le cas de Cassandra, un espace clé est une collection de familles de colonnes.

Famille de la colonne

Une famille de colonnes peut être considérée comme une collection de lignes, et chaque ligne est une collection de colonnes. Il est analogue à une table dans le RDBMS mais a des différences. Les familles des colonnes sont définies, mais il n'est pas nécessaire pour chaque ligne d'avoir toutes les colonnes, et les colonnes peuvent être ajoutées ou supprimées d'une rangée au besoin.

Colonne

La colonne est l'unité de base de données à Cassandra. Il a trois valeurs: le nom de la clé ou de la colonne, la valeur de la colonne et l'horodatage.

Super Colonne

Une super colonne est un type spécial de colonne qui stocke une carte d'autres sous-colonnes. Il permet de stocker des données complexes plus faciles et permet également de récupérer des données plus rapidement lorsque chaque famille de colonnes de Cassandra est stockée dans un seul fichier sur le système de fichiers.

Utilisation de Cassandra Console

CQLSH est le shell standard pour interagir avec Cassandra à travers CQL (Cassandra Query Language). CQL est très similaire à SQL (qui est principalement utilisé pour les SGBDR) et rend donc très facile pour les développeurs nouveaux à Cassandra de travailler rapidement avec cela. CQLSH est livré avec chaque paquet Cassandra et devrait déjà être installé sur votre machine lorsque vous avez installé Cassandra.

Créer un Keyspace

Comme nous l'avons vu dans le modèle de données décrit ci-dessus, un keyspace est le conteneur le plus externe et devrait être créé avant toute autre chose. Pour le créer, exécutez:

Dans la commande ci-dessus, j'ai supposé que votre Cassandra existe sur localhost sans authentification d'utilisateur. J'ai créé un keyspace appelé k1 avec la replication et la politique durable_writes définie.

Si vous avez défini l'authentification utilisateur, vous pouvez exécuter:

Dans la commande ci-dessus, remplacer <username> et <password> par vos identifiants d'authentification.

L'exécution d'une commande comme celle-ci peut être un peu encombrante. Une autre façon est de lancer l'invite CQLSH, puis d'exécuter des requêtes directement à l'intérieur.

En avançant, j'utiliserai la méthode ci-dessus pour exécuter des requêtes. Avant d'exécuter toute autre requête, nous devons indiquer à CQLSH quel espace de touches devrait être utilisé.

Le replication_factor pour un espace de touches peut être modifié en fonction de la quantité de réplication requise selon la class de réplication.

Créer et modifier une table

Une table équivaut à une famille de colonnes à Cassandra. Cassandra prend en charge plusieurs types de données différents pour stocker des données, que je vais couvrir en détail dans la partie suivante de cette série de tutoriels. Pour créer une table, exécutez simplement la commande CREATE TABLE.

Pour vérifier la création de la structure de la table une fois créée:

Maintenant, disons que nous voulons modifier la table pour stocker le courrier électronique de la personne aussi.

Insérer et mettre à jour les données

L'insertion de données dans une table Cassandra utilisant CQL est assez simple.

Dans ce tableau, nous avons tous les champs pour un seul type de données. Les choses deviennent un peu complexes lorsque nous utilisons différents types de données ou types de données composites. Ce sera une discussion dans la prochaine partie de cette série.

Disons que nous voulons mettre à jour la valeur de l'email de la colonne vers autre chose.

Recherche de données

Les données dans un tableau peuvent être interrogées simplement en utilisant les instructions SELECT.

Insérons plus d'enregistrements et interrogez-les.

Les opérateurs de requêtes plus complexes comme les opérateurs d'inégalité peuvent également être utilisés, ou plusieurs conditions WHERE peuvent être concaténées à l'aide d'AND/OR, etc.

Conclusion

Cassandra est l'un des systèmes de base de données NoSQL les plus populaires disponibles et constitue la meilleure construction à utiliser dans les environnements distribués. Traiter avec Cassandra est assez facile pour les débutants ayant une certaine connaissance de RDBMS et SQL.

CQL est très similaire à SQL dans une certaine mesure, et CQLSH rend les tests et le débogage beaucoup plus faciles. Dans la prochaine partie de cette série, je vais couvrir les différents types de données fournis par Cassandra et comment les traiter.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.