Cassandra : Gestion de données (INSERT et SELECT)

Insertion de données

INSERT

Le CQL, assez proche du SQL, ne pose pas de défit majeur pour l'insertion de données.

  • Une ou plusieurs colonnes dans un enregistrement

  • Pas besoin de spécifier toutes les colonnes, sauf clé(s)

  • Si la colonne existe, elle est mise à jour.

  • La ligne est créée si elle n'existe pas.

IF NOT EXISTS

Mention à ajouter dans la requête INSERT (ou CREATE, ...) pour de meilleures performances si la ligne (ou la table etc) n'existe pas encore.

Si lors de l' INSERT (ou du CREATE, ...) l'enregistrement existait déjà, la réponse à notre requête nous informe qu'elle n'a pas fait de changement.

CTRL+C pour copier, CTRL+V pour coller
1
INSERT INTO musique (id,ordre_musique,titre,album,artiste) VALUES(62c36092-82a1-3a00-93d1-46196ee77204,1,'A la claire Fontaine','Prose Combat','MC Solaar') IF NOT EXISTS;
INSERT INTO musique (id,ordre_musique,titre,album,artiste) VALUES(62c36092-82a1-3a00-93d1-46196ee77204,1,'A la claire Fontaine','Prose Combat','MC Solaar') IF NOT EXISTS;

IF EXISTS

Mention à ajouter dans la requête UPDATE (ou DROP etc) pour éviter qu'une erreur soit retournée si l'élément n'existe pas.

CTRL+C pour copier, CTRL+V pour coller
1
UPDATE musique SET titre = 'unTitre' WHERE id = 0 AND ordre_musique = 1 IF EXISTS;
UPDATE musique SET titre = 'unTitre' WHERE id = 0 AND ordre_musique = 1 IF EXISTS;

AttentionPerformances

La mention peut coûter cher en terme de performances si la base Cassandra est très distribuée car il faudra absolument tester la précondition qui demandera de vérifier tous les nœuds.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Sofian Toujja, Mathieu Moulin, Emilie Confais, Alaeddine Hajjem, David Martins, 2014-2017 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)