GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment créer, supprimer, modifier et tronquer des tables dans Cassandra

Présentation

Cassandra est un logiciel de base de données distribuée open source pour la gestion des bases de données NoSQL. Ce logiciel utilise CQL (Cassandra Query Language) comme base de communication. CQL conserve les données dans des tableaux disposés dans un ensemble de lignes avec des colonnes contenant des paires clé-valeur.

Les tables CQL sont regroupées dans des conteneurs de données appelés espaces de clés dans Cassandra. Les données stockées dans un espace de clés ne sont pas liées aux autres données du cluster. Ainsi, vous pouvez avoir des tables à plusieurs fins différentes dans des espaces de clés distincts dans un cluster, et les données ne coïncideront pas.

Dans ce guide, vous allez apprendre à créer une table Cassandra à différentes fins et à modifier, supprimer ou tronquer des tables à l'aide du shell Cassandra.

Prérequis

  • Logiciel de base de données Cassandra installé sur votre système
  • Accès à un terminal ou à un outil de ligne de commande pour charger cqlsh
  • Un utilisateur disposant des autorisations nécessaires pour exécuter les commandes

Sélectionner l'espace de touches pour le tableau Cassandra

Avant de commencer à ajouter un tableau, vous devez déterminer l'espace de clés dans lequel vous souhaitez créer votre tableau . Il existe deux options pour le faire.

Option 1 :la commande USE

Exécutez le USE commande pour sélectionner un espace de touches auquel toutes vos commandes s'appliqueront. Pour ce faire, dans le shell cqlsh, tapez :

USE keyspace_name;

Ensuite, vous pouvez commencer à ajouter des tableaux.

Option 2 :Spécifiez le nom de l'espace de clés dans la requête

La deuxième option consiste à spécifier le nom de l'espace de clés dans la requête de création de table. La première partie de la commande, avant les noms de colonne et les options, ressemble à ceci :

CREATE TABLE keyspace_name.table_name

De cette façon, vous créez immédiatement une table dans l'espace de clés que vous avez défini.

Syntaxe de base pour la création de tables Cassandra

La création de tables à l'aide de CQL ressemble aux requêtes SQL. Dans cette section, nous allons vous montrer la syntaxe de base pour créer des tables dans Cassandra.

La syntaxe de base pour créer une table ressemble à ceci :

CREATE TABLE tableName (

columnName1 dataType,

columnName2 dataType,

columnName2 datatype

PRIMARY KEY (columnName)

);

Facultativement, vous pouvez définir des propriétés et des valeurs de table supplémentaires à l'aide de WITH :

WITH propertyName=propertyValue;

Par exemple, utilisez-le pour définir comment stocker les données sur disque ou s'il faut utiliser la compression.

Types de clé primaire Cassandra

Chaque table de Cassandra doit avoir une clé primaire, ce qui rend une ligne unique. Avec les clés primaires, vous déterminez quel nœud stocke les données et comment il les partitionne.

Il existe deux types de clés primaires :

  1. Clé primaire simple . Contient un seul nom de colonne comme clé de partition pour déterminer quels nœuds stockeront les données.
  2. Clé primaire composée. Utilise une clé de partitionnement et plusieurs colonnes de clustering pour définir où stocker les données et comment les trier sur une partition.
  3. Clé de partition composite. Dans ce cas, plusieurs colonnes déterminent où stocker les données. De cette façon, vous pouvez diviser les données en plus petits morceaux pour les répartir sur plusieurs partitions afin d'éviter les points chauds.

Comment créer un tableau de Cassandre

Les sections suivantes expliquent comment créer des tables avec différents types de clés primaires. Tout d'abord, sélectionnez un espace de clés dans lequel vous souhaitez créer une table. Dans notre cas :

USE businesinfo;

Chaque table contient des colonnes et un type de données Cassandra pour chaque entrée.

Créer une table avec une clé primaire simple

Le premier exemple est un tableau de base avec des fournisseurs. L'ID est unique pour chaque fournisseur et servira de clé primaire.

La requête CQL ressemble à ceci :

CREATE TABLE suppliers (

supp_id int PRIMARY KEY,

supp_city text,

supp_email text,

supp_fee int,

supp_name text,

supp_phone int

);

Cette requête a créé une table appelée fournisseur avec supp_id comme clé primaire de la table. Lorsque vous utilisez une clé primaire simple avec le nom de la colonne comme clé de partition, vous pouvez soit la placer au début de la requête (à côté de la colonne qui servira de clé primaire) soit en bas puis spécifier le nom de la colonne :

CREATE TABLE suppliers (

supp_id int,

supp_city text,

supp_email text,

supp_fee int,

supp_name text,

supp_phone int

PRIMARY KEY(supp_id)

);

Pour voir si le tableau se trouve dans l'espace de touches, saisissez :

DESCRIBE TABLES;

La sortie répertorie toutes les tables de cet espace de clés ainsi que celle que vous avez créée.

Pour afficher le contenu des tableaux, saisissez :

SELECT * FROM suppliers;

La sortie affiche toutes les colonnes définies lors de la création d'une table.

Une autre façon de voir les détails d'une table est d'utiliser DESCRIBE et indiquez un nom de table :

DESCRIBE suppliers;

La sortie affiche les colonnes et les paramètres par défaut du tableau.

Créer une table avec une clé primaire composée

Pour interroger et trier les résultats dans un ordre spécifique, créez une table avec une clé primaire composée.

Par exemple, créez un tableau pour les fournisseurs et tous les produits qu'ils proposent. Étant donné que les produits peuvent ne pas être uniques pour chaque fournisseur, vous devez ajouter une ou plusieurs colonnes de regroupement dans la clé primaire pour la rendre unique.

Le schéma de la table ressemble à ceci :

CREATE TABLE suppliers_by_product (

supp_product text,

supp_id int,

supp_product_quantity text,

PRIMARY KEY(supp_product, supp_id)

);

Dans ce cas, nous avons utilisé supp_product et supp_id pour créer une clé composée unique. Ici, la première entrée entre les brackets supp_product est la clé de partition. Il détermine où stocker les données, c'est-à-dire comment le système partitionne les données.

L'entrée suivante est la colonne de clustering qui détermine comment Cassandra trie les données, dans notre cas c'est par supp_id .

L'image ci-dessus montre que la table a été créée avec succès. Pour vérifier les détails de la table, exécutez le DESCRIBE TABLE requête pour la nouvelle table :

DESCRIBE TABLE suppliers_by_product;

Les paramètres par défaut pour l'ordre de clustering sont croissants (ASC). Vous pouvez passer à l'ordre décroissant (DESC) en ajoutant l'instruction suivante après la clé primaire :

WITH CLUSTERING ORDER BY (supp_id DESC);

Nous avons spécifié une colonne de clustering après la clé de partition. Si vous devez trier les données en utilisant deux colonnes, ajoutez une autre colonne entre les crochets de clé primaire.

Créer des tables à l'aide d'une clé de partition composite

La création d'une table avec une clé de partition composite est utile lorsqu'un nœud stocke un volume élevé de données et que vous souhaitez répartir la charge sur plusieurs nœuds.

Dans ce cas, définissez une clé primaire avec une clé de partition composée de plusieurs colonnes. Vous devez utiliser des crochets doubles. Ensuite, ajoutez des colonnes de clustering comme nous l'avons fait précédemment pour créer une clé primaire unique.

Par exemple :

CREATE TABLE suppliers_by_product_type (

supp_product_consume text,

supp_product_stock text,

supp_id int,

supp_name text,

PRIMARY KEY((supp_product_consume, supp_product_stock), supp_id)

);

Dans l'exemple ci-dessus, nous avons séparé les données en deux catégories, les produits consommables du fournisseur et les produits stockables, et avons distribué les données à l'aide d'une clé de partition composite.

Si vous utilisez plutôt une clé primaire composée avec une clé de partition simple et plusieurs colonnes de clustering, un seul nœud gérera toutes les données triées sur plusieurs colonnes.

Tableau Cassandra Drop

Pour supprimer une table dans Cassandra, utilisez le DROP TABLE déclaration. Pour choisir une table que vous souhaitez supprimer, saisissez :

DESCRIBE TABLES;

Trouvez la table que vous souhaitez supprimer. Utilisez le nom de la table pour la supprimer :

DROP TABLE suppliers_by_product_type;

Exécutez les DESCRIBE TABLES requête à nouveau pour vérifier que vous avez supprimé la table avec succès.

Table Cassandra Alter

Cassandra CQL vous permet d'ajouter ou de supprimer des colonnes d'une table. Utilisez le ALTER TABLE commande pour apporter des modifications à une table.

Ajouter une colonne à un tableau

Avant d'ajouter une colonne à un tableau, nous vous suggérons de consulter le contenu du tableau pour vérifier que le nom de la colonne n'existe pas déjà.

Une fois que vous avez vérifié, utilisez le ALTER TABLE requête dans ce format pour ajouter une colonne :

ALTER TABLE suppliers_by_product

ADD supp_name text;

Décrivez le tableau pour confirmer que la colonne apparaît dans la liste.

Supprimer une colonne d'un tableau

Comme pour l'ajout d'une colonne, vous pouvez supprimer une colonne d'un tableau. Localisez la colonne que vous souhaitez supprimer en utilisant DESCRIBE TABLES requête.

Saisissez ensuite :

ALTER TABLE suppliers_by_product

DROP supp_product_quantity;

Tableau tronqué de Cassandre

Si vous ne voulez pas supprimer une table entière, mais que vous devez supprimer toutes les lignes, utilisez le TRUNCATE commande.

Par exemple, pour supprimer toutes les lignes de la table fournisseurs , saisissez :

TRUNCATE suppliers;

Pour vérifier qu'il n'y a plus de lignes dans votre table, utilisez le SELECT déclaration.

Une fois que vous avez tronqué une table, les modifications sont permanentes, soyez donc prudent lorsque vous utilisez cette requête.


Cent OS
  1. Comment créer une table dans PhpMyAdmin

  2. Comment créer et activer la partition d'échange sur Centos / RHEL 8

  3. Comment créer un utilisateur Sudo sur Rocky Linux et CentOS

  4. Comment créer des raccourcis clavier de macro et de fonction Linux dans le fichier .intputrc

  5. Comment créer un dictionnaire Python

Comment supprimer une table dans MySQL

Comment créer un espace de clés dans Cassandra

Comment installer le serveur et le client OpenVPN sur CentOS 7

Comment créer une table DynamoDB dans AWS

Comment créer et exécuter un script Shell dans CentOS 8

Comment travailler avec des tables (sélectionner, mettre à jour, supprimer, créer une table, modifier une table, supprimer une table) dans MySQL