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

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

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

Saved successfully!

Ooh no, something went wrong!