Cassandra : Modélisation et création de base de données

Modèle de données

DéfinitionColonne

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.

ColonneInformationsInformations[1]
Exemple de colonneInformationsInformations[2]

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éfinitionLigne

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.

Exemple de ligneInformationsInformations[4]

RemarqueLa 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éfinitionColumn Family

Une Column Family est un regroupement de lignes.

Column familyInformationsInformations[5]
Exemple de column familyInformationsInformations[6]

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éfinitionKeyspace

Un KeySpace est un regroupement de Column Family. Il équivaut au schéma dans un SGBDR.

KeyspaceInformationsInformations[7]
  1. Mathieu MOULIN

  2. Mathieu MOULIN

  3. Mathieu MOULIN

  4. Mathieu MOULIN

  5. Mathieu MOULIN

  6. Mathieu MOULIN

  7. Mathieu MOULIN

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