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