Modèle de données
Définition : Colonne
La colonne est la plus petite unité de donnée de Cassandra. Elle est constituée du triplet :
Nom
Valeur : Maximum 2G. Elle n'est pas obligatoire.
Timestamp : Sauvegarde la mise à jour la plus récente.
Remarque :
Une colonne dans cassandra n'a pas le même sens que dans un SGBDR. Il s'agit là d'un attribut d'un enregistrement.
Définition : Ligne
Une ligne est un ensemble de colonnes (jusqu'à 2 Milliards). Elle est identifiée par une clé.
C'est l'équivalent d'une ligne dans un SGBDR, c'est donc un enregistrement.
Remarque : La notion de clé dans Cassandra
La clé d'une ligne peut être rapprochée aux OID des SGBD RO. C'est grâce à elle que l'enregistrement est trouvé.
Les données étant réparties sur différent noeuds, il faut pouvoir la récupérer rapidement. Elle est codé sur 128bits et généralement représentée sous la forme de groupes de caractères hexadécimaux en minuscule séparés par des tirets. Cette clé d'enregistrement est de type uuid (Universal Unique IDentifier).
Il est possible de définir des clés primaires similaires aux SGBDR. Dans ce cas, la première colonne de la clé sera utilisé comme clé d'enregistrement (et convertit). Les suivantes ne serviront qu'à s'assurer que l'enregistrement est unique.
Définition : Column Family
Une Column Family est un regroupement de lignes.
Remarque :
Une Column Family est l'équivalent d'une Table dans un SGBDR.
On peut d'ailleurs y ajouter des "métadonnées", en quelque sorte des "entêtes" de colonnes. Néanmoins, les colonnes définies ne seront pas forcément exploités lors de la création de ligne.
Il existe deux types de familles de colonnes
statique : les colonnes sont définies lors de la création ou modification de la famille de colonnes ;
dynamique : les colonnes sont définies lors de la création ou modification d'une ligne.
Définition : Keyspace
Un KeySpace est un regroupement de Column Family. Il équivaut au schéma dans un SGBDR.