13.07.2013 Views

L'élasticité des bases de données sur le cloud computing - CoDE

L'élasticité des bases de données sur le cloud computing - CoDE

L'élasticité des bases de données sur le cloud computing - CoDE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>le</strong> fichier <strong>de</strong> configuration dans <strong>le</strong>s versions antérieures à 0.7. Depuis Cassandra 0.7, on peut<br />

ajouter/modifier/supprimer une famil<strong>le</strong> <strong>de</strong> colonnes à la volée.<br />

Une famil<strong>le</strong> <strong>de</strong> colonnes a <strong>de</strong>ux attributs : son nom et son comparateur qui définit <strong>le</strong> critère<br />

permettant d’ordonner ses colonnes (par exemp<strong>le</strong> un critère basé <strong>sur</strong> l’encodage UTF8).<br />

Les différentes famil<strong>le</strong>s <strong>de</strong> colonnes sont stockées <strong>sur</strong> différents fichiers. Ce fait est important<br />

lors <strong>de</strong> la modélisation du schéma <strong>de</strong> <strong>données</strong>. Pour former une famil<strong>le</strong> <strong>de</strong> colonnes, on ne<br />

pensera plus qu’à la sémantique <strong><strong>de</strong>s</strong> <strong>données</strong> mais aussi à la manière et à la fréquence dont on<br />

y a accès. Si <strong>de</strong>ux colonnes ont tendance à être lues ou modifiées en même temps, <strong>le</strong>s mettre<br />

dans un même fichier permettra <strong>de</strong> limiter cette opération en un seul accès fichier.<br />

Colonnes<br />

Une (simp<strong>le</strong>) colonne est l’unité la plus basique du modè<strong>le</strong>. Une colonne est un trip<strong>le</strong>t :<br />

la clé (<strong>le</strong> nom), la va<strong>le</strong>ur et l’heure (un timestamp) (figure 3.11) <strong>de</strong> la <strong>de</strong>rnière modification.<br />

Ces colonnes ne sont pas définies au départ et peuvent être ajoutées/retirées à la volée, ce qui<br />

permet une certaine f<strong>le</strong>xibilité.<br />

Figure 3.11 – Cassandra - La structure d’une colonne [33]<br />

Une super colonne (figure 3.12) est une colonne spécia<strong>le</strong> ; sa va<strong>le</strong>ur est un ensemb<strong>le</strong> <strong>de</strong><br />

colonnes simp<strong>le</strong>s. L’idée est donc <strong>de</strong> donner un <strong>de</strong>gré <strong>de</strong> hiérarchie en plus au modè<strong>le</strong>. (Ce<br />

concept <strong>de</strong> super-colonne est un <strong><strong>de</strong>s</strong> principaux aspects qui différencie <strong>le</strong> modè<strong>le</strong> <strong>de</strong> <strong>données</strong><br />

<strong>de</strong> Cassandra à celui <strong>de</strong> Dynamo).<br />

Figure 3.12 – Cassandra - La structure d’une super colonne [33]<br />

Remarquons que lorsqu’une famil<strong>le</strong> <strong>de</strong> colonnes contient <strong><strong>de</strong>s</strong> super-colonnes, cette famil<strong>le</strong><br />

<strong>de</strong>vient une famil<strong>le</strong> <strong>de</strong> super-colonnes et ne pourra plus stocker que <strong><strong>de</strong>s</strong> super-colonnes.<br />

Résumé<br />

Ce modè<strong>le</strong> peut donc être vu comme une architecture à 5 niveaux (figure 3.13 ) :<br />

[keyspace][famil<strong>le</strong> <strong>de</strong> colonne][clé][super colonne][colonne].<br />

3.5.2 Le choix CAP et PACELC<br />

Cassandra a très clairement été développé tel un système AP. Mais notons que ce système<br />

donne l’option <strong>de</strong> pouvoir établir un niveau <strong>de</strong> consistance différent pour chaque requête :<br />

(notamment en utilisant la technique <strong>de</strong> quorum 2 ). Toutefois, on remarque que, s’il est possib<strong>le</strong><br />

2. Cette technique sera décrite à la section 3.5.5<br />

29

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!