Cassandra Exemple de création, modification et troncature de tableau en CQL
⚡ Résumé intelligent
Cassandra Les opérations sur les tables comprennent la création, la modification et la suppression.pinget la troncature des familles de colonnes avec CQL. Cette page explique chaque commande, les trois formes de clé primaire qui déterminent la distribution des données et les différences entre la suppression de lignes et la suppression d'une table.

La syntaxe de Cassandra Le langage de requête (CQL) ressemble à SQL la langue.
Comment créer un tableau dans Cassandra
Famille de colonnes dans Cassandra est similaire à la table SGBDR. La famille de colonnes est utilisée pour stocker des données.
La commande 'Créer une table' est utilisée pour créer une famille de colonnes dans Cassandra.
Syntaxe
CREATE TABLE KeyspaceName.TableName ( ColumnName DataType, ColumnName DataType, ColumnName DataType, PRIMARY KEY (ColumnName) ) WITH PropertyName = PropertyValue;
1. Clé primaire : Il existe deux types de clé primaire.
- Clé primaire unique : Une clé primaire unique est spécifiée par la syntaxe suivante.
Syntaxe
PRIMARY KEY (ColumnName)
Dans la clé primaire unique, il n’y a qu’une seule colonne. Cette colonne est également appelée clé de partitionnement. Les données sont partitionnées sur la base de cette colonne. Les données sont réparties sur différents nœuds en fonction de la clé de partition.
2. Clé primaire composée : La clé primaire composée est spécifiée par la syntaxe suivante.
Syntaxe
PRIMARY KEY (ColumnName1, ColumnName2, ...)
Dans la syntaxe ci-dessus, ColumnName1 est la clé de partitionnement et ColumnName2 est la clé de partitionnement. ClusterClé de partition. Les données seront partitionnées sur la base de ColumnName1 et les données seront regroupées sur la base de ColumnName2. Clustering est le processus qui trie les données dans la partition.
3. Clé de partitionnement composée : La clé de partitionnement composée est spécifiée par la syntaxe suivante.
Syntaxe
PRIMARY KEY ((ColumnName1, ColumnName2), ColumnName3)
Dans la syntaxe ci-dessus, ColumnName1 et ColumnName2 constituent la clé de partitionnement composée. Les données seront partitionnées en fonction de ces deux colonnes, puis regroupées en clusters selon la valeur de ColumnName3. Si une seule partition contient un volume de données trop important, une clé de partitionnement composée est utilisée. Cette dernière permet de créer plusieurs partitions pour les données.
- Avec clause
La «clause With» est utilisée pour spécifier n'importe quelle propriété et sa valeur pour la table définie. Par exemple, si vous souhaitez compresser Cassandra Les données du tableau peuvent être compressées. Vous pouvez définir la propriété de compression en spécifiant la valeur de la propriété d'algorithme de compression dans la clause « With ». Cette même clause permet également de définir CLUSTERING ORDER BY pour inverser le sens de tri d'une colonne de clustering, et default_time_to_live pour que chaque ligne expire automatiquement.
Exemple
Voici l'exécution de la commande 'Create table' qui créera la table nom 'Student' dans l'espace de clés 'University'.
CREATE TABLE University.Student ( RollNo int, Name text, dept text, PRIMARY KEY (RollNo) );
Après l'exécution réussie de la commande « Créer la table », la table « Étudiant » sera créée dans l'espace de clés « Université » avec les colonnes Numéro d'étudiant, Nom et Département. Numéro d'étudiant est la clé primaire. Numéro d'étudiant est également une clé de partition ; chaque étudiant occupe donc une partition distincte sur une seule ligne.
Cassandra Alter table
La commande « Modifier la table » est utilisée pour supprimer une colonne, ajouter une nouvelle colonne, modifier le nom de la colonne, modifier le type de colonne et modifier la propriété de la table.
Syntaxe
Voici la syntaxe de la commande « Alter Table ».
ALTER TABLE KeyspaceName.TableName ADD ColumnName ColumnDataType; ALTER TABLE KeyspaceName.TableName DROP ColumnName; ALTER TABLE KeyspaceName.TableName RENAME ColumnName TO NewColumnName; ALTER TABLE KeyspaceName.TableName WITH PropertyName = PropertyValue;
Chaque formulaire fait l'objet d'un relevé distinct. Deux restrictions s'appliquent actuellement. Cassandra mises à jour : le type de données d’une colonne existante ne peut plus être modifié, et RENAME ne fonctionne que sur une colonne de clustering de la clé primaire.
Exemple
Voici l'instantané de la commande 'Alter Table' qui ajoutera une nouvelle colonne dans la table Student.
ALTER TABLE University.Student ADD Semester int;
Après l'exécution réussie de la commande 'Alter Table', une nouvelle colonne 'Semester' avec le type de données 'int' sera ajoutée à la table Student.
Voici la capture d'écran qui montre la table Student mise à jour.
Cassandra Drop table
La commande « Drop table » supprime la table spécifiée, y compris toutes ses données, de l'espace de clés. Avant la suppressionping la table, Cassandra prend un instantané des données et non du schéma comme sauvegarde.
Syntaxe
DROP TABLE IF EXISTS KeyspaceName.TableName;
Exemple
Voici l'instantané de la commande exécutée 'Drop Table' qui supprimera la table Student de l'espace de clés 'University'.
DROP TABLE University.Student;
Après l'exécution réussie de la commande « Drop Table », la table Student sera supprimée de l'espace de clés University.
Voici l'instantané qui montre l'erreur renvoyée par le Cassandra lorsque j'ai essayé d'accéder à la table Student qui n'existe pas.
Cassandra Tronquer la table
La commande 'Truncate table' supprime toutes les données de la table spécifiée. Avant de tronquer les données, Cassandra prend l'instantané des données comme sauvegarde.
Syntaxe
TRUNCATE KeyspaceName.TableName;
Exemple
Il y a trois enregistrements dans la table Étudiant. Ce sont les enregistrements du tableau.
Voici l'instantané de la commande exécutée 'Truncate table' qui supprimera toutes les données de la table Student.
Après l'exécution réussie de la commande 'Truncate Table', toutes les données seront supprimées de la table Student.
Voici un instantané de l'état de la base de données où il n'y a aucun enregistrement dans la table Student.
La commande TRUNCATE exige que tous les nœuds soient accessibles, car elle est exécutée simultanément sur l'ensemble du cluster. Si un nœud est hors service, la commande échoue, ce qui constitue une mesure de sécurité délibérée afin d'éviter la perte de données partielles.
Supprimer vs Tronquer vs Supprimer dans Cassandra
Trois commandes permettent de supprimer des données, et choisir la mauvaise peut soit détruire un schéma, soit engendrer un problème de performance.
| Command | Ce qu'il supprime | Schéma conservé | Prix |
|---|---|---|---|
| TABLE DROP | Toutes les lignes et la définition du tableau | Non | Peu coûteux. Les SSTables sont créées par instantané puis supprimées. |
| TRONQUER | Toutes les lignes | Oui | Peu coûteux, mais nécessite que tous les nœuds soient opérationnels. Aucune pierre tombale n'est créée. |
| EFFACER | Lignes ou colonnes sélectionnées | Oui | Coûteux à grande échelle. Chaque opération de retrait laisse une marque indiquant qu'il faut attendre le compactage avant de procéder à l'enlèvement. |
En pratique, il est préférable d'utiliser TRUNCATE plutôt qu'une suppression en bloc (DELETE) pour effacer une table entière, car des milliers de marqueurs de suppression ralentiront chaque lecture ultérieure de cette partition. La suppression au niveau des lignes est traitée dans la section suivante : Insérer, mettre à jour et supprimer via CQL tutoriel.








