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.

On voit donc un nouveau modè<strong>le</strong> asynchrone, où la transmission <strong>de</strong> <strong>données</strong> se fait en<br />

casca<strong>de</strong>.<br />

3.6.6 Consistance <strong><strong>de</strong>s</strong> <strong>données</strong><br />

Le modè<strong>le</strong> est assez simp<strong>le</strong> : <strong>le</strong>s entrées sont atomiques quels que soient <strong>le</strong>urs nombres <strong>de</strong><br />

colonnes ([43] et [14]).<br />

3.6.7 Modè<strong>le</strong> <strong>de</strong> requêtes<br />

Le modè<strong>le</strong> proposé par Hbase est un petit peu plus faib<strong>le</strong> que Cassandra . Ceci peut se<br />

justifier par son approche Map-Reduce : Hbase /HDFS sont pensés pour s’adapter <strong>de</strong> manière<br />

optima<strong>le</strong> à ce concept : <strong>le</strong>s tab<strong>le</strong>s Hbase peuvent directement servir d’entrée et <strong>de</strong> sortie <strong>de</strong><br />

fonctions MR qui seront distribuées au travers <strong><strong>de</strong>s</strong> régions. Les requêtes proposées par Hbase<br />

se limitent donc aux opérations basiques tel<strong>le</strong>s que get, put, scan, etc.<br />

3.7 Vol<strong>de</strong>mort<br />

Le projet Vol<strong>de</strong>mort est un SGBD avancé clé-va<strong>le</strong>ur. C’est un projet open-source dont <strong>le</strong>s<br />

contributions <strong>de</strong> LinkedIn font une va<strong>le</strong>ur <strong>sur</strong>e.<br />

Son modè<strong>le</strong> <strong>de</strong> <strong>données</strong> est <strong>le</strong> “n-up<strong>le</strong>t” qui propose <strong>de</strong> diviser l’ensemb<strong>le</strong> <strong><strong>de</strong>s</strong> clés en<br />

magasins (stores en anglais). C’est <strong>le</strong> seul niveau <strong>de</strong> subdivision <strong>de</strong> Vol<strong>de</strong>mort.<br />

A l’instar <strong>de</strong> Cassandra , l’ensemb<strong>le</strong> <strong><strong>de</strong>s</strong> clés est vu comme un anneau divisé en Q sousensemb<strong>le</strong>s<br />

<strong>de</strong> <strong>données</strong>. Chacun <strong><strong>de</strong>s</strong> S serveurs est dès lors responsab<strong>le</strong> <strong>de</strong> Q/S sous-ensemb<strong>le</strong>s<br />

<strong>de</strong> <strong>données</strong>. Les <strong>données</strong> sont répliquées <strong>de</strong> manières asynchrone <strong>sur</strong> <strong>le</strong>s R nœuds suivants<br />

(où R est <strong>le</strong> facteur <strong>de</strong> réplication). La répartition <strong><strong>de</strong>s</strong> <strong>données</strong> est as<strong>sur</strong>ée du côté du client :<br />

celui-ci se connecte à l’anneau pour connaitre sa topologie et sait dès lors à quels nœuds<br />

envoyer quel<strong>le</strong>s <strong>données</strong>.<br />

Des nœuds peuvent être ajoutés et retirés du système lorsque celui-ci est en fonctionnement.<br />

Vol<strong>de</strong>mort est capab<strong>le</strong> <strong>de</strong> détecter et recouvrer <strong>le</strong>s défaillances.<br />

Le modè<strong>le</strong> est fina<strong>le</strong>ment consistant : Vol<strong>de</strong>mort garantit une version à jour <strong>de</strong> la donnée<br />

via la <strong>le</strong>cture d’une majorité <strong><strong>de</strong>s</strong> répliques et un système <strong>de</strong> contrô<strong>le</strong> <strong>de</strong> versions concurrentiel<strong>le</strong>s<br />

(multi-version concurrency control en anglais) pour gérer <strong>le</strong>s différentes versions <strong><strong>de</strong>s</strong><br />

répliques.<br />

Vol<strong>de</strong>mort est donc un système AP, en cas <strong>de</strong> partition, <strong>le</strong> système continuera à fonctionner<br />

au détriment <strong>de</strong> la consistance et, si aucun problème ne <strong>sur</strong>vient Vol<strong>de</strong>mort et son modè<strong>le</strong><br />

fina<strong>le</strong>ment consistant favorisent <strong>le</strong>s performances à la consistance. Il est donc un système<br />

PA/EL.<br />

Son modè<strong>le</strong> <strong>de</strong> requêtes est voulu <strong>le</strong> plus pauvre ; il ne propose que <strong>le</strong>s trois opérations<br />

basiques : trouver (GET en anglais), insérer (put en anglais) et supprimer (<strong>de</strong><strong>le</strong>te en anglais).<br />

3.8 Comparaison <strong><strong>de</strong>s</strong> différents systèmes<br />

Le tab<strong>le</strong>au 3.2 résume cette comparaison.<br />

37

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

Saved successfully!

Ooh no, something went wrong!