Les bases orientées colonnes

Le modèle à colonnes larges sur Cassandra : espace de clés, table, clé de partition et colonnes de regroupement, une table par requête, et la différence avec le stockage en colonnes des entrepôts.

  • 21 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Base à colonnes larges : de quoi s'agit-il ?

    Voir la réponse

    Base distribuée où des lignes sont réparties entre machines selon une partie de leur identifiant, puis rangées triées à l'intérieur de chaque groupe.

    Lire un groupe entier de lignes voisines est très rapide, mais une requête qui ne dit pas dans quel groupe chercher oblige à interroger toutes les machines.

  • Avec cette table, dans quel ordre les lignes de la partition du capteur c7 sont-elles rangées ?

    ```sql
    CREATE TABLE mesures (
    capteur text,
    instant timestamp,
    valeur double,
    PRIMARY KEY ((capteur), instant)
    );
    `

    • Par instant croissant
    • Par valeur croissante, de la plus petite mesure à la plus grande
    • Dans l'ordre d'insertion, sans tri particulier
    • Par capteur, puis par valeur
    Voir la réponse

    Par instant croissant

    La colonne de regroupement instant fixe le tri dans la partition, croissant par défaut. valeur ne fait pas partie de la clé : aucun tri ne s'y applique.

  • Dans Cassandra, un … (keyspace) regroupe des tables et fixe leur facteur de ….

    Voir la réponse

    Dans Cassandra, un espace de clés (keyspace) regroupe des tables et fixe leur facteur de réplication.

    Le facteur de réplication dit sur combien de nœuds chaque partition est copiée. Un espace de clés joue donc un rôle proche de celui d'un schéma, avec la réplication en plus.

  • Clé de partition : de quoi s'agit-il ?

    Voir la réponse

    Partie de la clé primaire dont la valeur, passée à une fonction de hachage, décide sur quels nœuds du cluster une ligne est rangée.

    Toutes les lignes qui partagent la même valeur forment une partition, rangée ensemble. Une requête efficace donne toujours cette valeur en entier.

  • Les lectures d'un capteur expirent et sa partition pèse 2 Go. La clé de partition est capteur seul. Quelle correction applique-t-on ?

    • Ajouter une colonne de regroupement supplémentaire à la fin de la clé
    • Augmenter le facteur de réplication de l'espace de clés
    • Ajouter le jour à la clé de partition : ((capteur, jour), instant)
    • Interroger avec ALLOW FILTERING pour que le serveur parcoure moins de lignes
    Voir la réponse

    Ajouter le jour à la clé de partition : ((capteur, jour), instant)

    Tant que la clé de partition ne contient pas de borne de temps, la partition d'un capteur grossit sans fin et ne se répartit pas. Un jour dans la clé la coupe en morceaux bornés. Un regroupement de plus ou plus de copies ne change pas sa taille.