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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Plusieurs approches sont possib<strong>le</strong>s pour la réplication : la réplication synchrone et la<br />
réplication asynchrone.<br />
– La réplication synchrone s’as<strong>sur</strong>e que toutes <strong>le</strong>s copies soient à jour, ce qui peut potentiel<strong>le</strong>ment<br />
entrainer <strong><strong>de</strong>s</strong> temps <strong>de</strong> réponses plus <strong>le</strong>nts lors <strong><strong>de</strong>s</strong> mises-à-jour. Remarquons<br />
que <strong>le</strong> mo<strong>de</strong> <strong>de</strong> réplication synchrone peut être bloquant pour la disponibilité : si une<br />
réplique connaît une défaillance, <strong>le</strong> système pourrait rester bloqué.<br />
– Dans une réplication asynchrone, une instance mère stocke <strong>le</strong>s <strong>données</strong> actualisées et<br />
transmet <strong>le</strong>s <strong>données</strong> modifiées aux répliques <strong>de</strong> manière différée. Il existe donc très<br />
certainement un gain à l’écriture <strong><strong>de</strong>s</strong> <strong>données</strong> (on doit s’as<strong>sur</strong>er que la modification n’ait<br />
eu lieu que <strong>sur</strong> une seu<strong>le</strong> copie) mais celui-ci implique <strong>le</strong> risque <strong>de</strong> perdre <strong><strong>de</strong>s</strong> <strong>données</strong><br />
si l’instance mère connait une défaillance avant d’avoir pu transmettre l’information<br />
aux répliques. Ce mo<strong>de</strong> <strong>de</strong> réplication peut aussi impliquer la nécessité <strong>de</strong> mécanismes<br />
d’assemblage <strong>de</strong> versions pour assemb<strong>le</strong>r différentes versions d’une donnée en une seu<strong>le</strong><br />
va<strong>le</strong>ur mise-à-jour.<br />
Comme nous l’avons déjà mentionné, <strong>le</strong> mo<strong>de</strong> <strong>de</strong> réplication a une forte influence <strong>sur</strong> <strong>le</strong><br />
comportement du système. Il est donc nécessaire d’entendre <strong>le</strong> mo<strong>de</strong> <strong>de</strong> réplication comme<br />
une dimension <strong>de</strong> notre étu<strong>de</strong> comparative.<br />
3.1.4 Le modè<strong>le</strong> <strong>de</strong> consistance<br />
En réponse à la montée en charge exceptionnel<strong>le</strong> à laquel<strong>le</strong> <strong>de</strong> nombreux acteurs ont dû<br />
faire face, ceux-ci ont créé <strong><strong>de</strong>s</strong> systèmes relâchant la consistance transactionnel<strong>le</strong> pour passer<br />
à un autre modè<strong>le</strong> <strong>de</strong> consistance. Ces nouveaux modè<strong>le</strong>s ont une influence théorique très<br />
importante <strong>sur</strong> <strong>le</strong>s performances, la disponibilité et la tolérance à la partition (cf. CAP). Mais<br />
ce niveau <strong>de</strong> relâchement ne peut être accepté par toute application (on imagine mal une<br />
application bancaire accepter <strong>de</strong> perdre <strong><strong>de</strong>s</strong> transactions faites par ses clients).<br />
Les modè<strong>le</strong>s <strong>de</strong> consistance proposés par <strong>le</strong>s SGBDs sont donc une caractéristique très<br />
significative et importante. Nous pouvons distinguer, en fonction <strong>de</strong> <strong>le</strong>ur <strong>de</strong>gré <strong>de</strong> consistance,<br />
quatre sous-ensemb<strong>le</strong>s <strong>de</strong> modè<strong>le</strong>s (du plus faib<strong>le</strong> au plus fort) :<br />
– Fina<strong>le</strong>ment consistant : garantit que si aucune modification n’est faite <strong>sur</strong> la donnée,<br />
<strong>le</strong>s accès en <strong>le</strong>cture <strong>sur</strong> la donnée retournent fina<strong>le</strong>ment sa va<strong>le</strong>ur actualisée [42]. Ceci<br />
peut notamment se faire par <strong><strong>de</strong>s</strong> systèmes <strong>de</strong> réparation à la <strong>le</strong>cture (nous verrons dans<br />
ce chapitre <strong>le</strong>s techniques mises en place par <strong>le</strong>s différentes SGBDs).<br />
– Consistance forte : s’as<strong>sur</strong>e que chaque <strong>le</strong>cture d’une va<strong>le</strong>ur retourne la va<strong>le</strong>ur actuel<strong>le</strong><br />
<strong>de</strong> la va<strong>le</strong>ur (c’est-à-dire la va<strong>le</strong>ur <strong>de</strong> la <strong>de</strong>rnière écriture réussie et finie).<br />
– Le verrouillage d’entrée signifie que l’on va pouvoir verrouil<strong>le</strong>r une entrée et donc garantir<br />
son intégrité.<br />
– Transactionnel : S’as<strong>sur</strong>e qu’une transaction respecte <strong>le</strong>s propriétés ACID (voir section<br />
3.2.2)<br />
3.1.5 Le modè<strong>le</strong> <strong>de</strong> requêtes<br />
Le modè<strong>le</strong> <strong>de</strong> requêtes comprend <strong>le</strong> langage <strong>de</strong> communication et <strong>le</strong>s requêtes qu’il est<br />
possib<strong>le</strong> <strong>de</strong> faire <strong>sur</strong> la BD. Celui <strong><strong>de</strong>s</strong> SGBDs relationnels (SGBDRs) traditionnels était riche<br />
et plus ou moins similaire pour chaque système. Ceux <strong><strong>de</strong>s</strong> nouveaux systèmes sont, en règ<strong>le</strong><br />
généra<strong>le</strong>, bien plus pauvres et diffèrent fortement d’un système à l’autre.<br />
17