La réplication gestion de copies multiples

La réplication

Introduction

La réplication permet la gestion de copies multiples pouvant diverger – i.e. avoir des valeurs différentes – à un instant donné mais convergeant à terme vers les mêmes valeurs [4]. La réplication [15] permet d’augmenter la disponibilité des données et constitue une solution préventive pour la tolérance aux pannes tout en améliorant les performances du système. Ainsi du point de vue de la disponibilité, en cas de panne d’un nœud, on peut se replier sur un autre. 2. Avantages et inconvénients La réplication présente deux intérêts majeurs, elle d’abord permet d’améliorer les performances et ensuite d’augmenter la disponibilité des données. En effet, les lectures sont exécutées sur le site le plus proche du client et qui dispose d’une copie, ce qui évite des transferts inutiles. Elle permet aussi d’éviter le goulot d’étranglement qu’on a avec le cas d’un serveur unique grâce au partage de la charge aux différents sites. La disponibilité, quant à elle, est le fait de se replier, lors de la panne d’un serveur ou site, sur un autre disposant d’une copie des données.

Elle augmente avec le nombre de copies sur des sites différents. Par exemple avec N copies sur des sites distincts, la disponibilité est donnée par la formule : Disponibilité = 1 – probabilité_panneN   Avec une probabilité de panne de 5%, l’utilisation de deux copies fait passer la disponibilité des données de 95% à 99,75%. Pour trois copies on a 99,98%. On voit donc que les gains sont très importants. De ce fait la disponibilité est liée à la tolérance aux pannes. Cependant si la réplication a de nombreux avantages, elle soulève quelques problèmes. En effet, il faut assurer la convergence des données car si les copies peuvent différer à un instant donné, elles doivent converger vers un même état cohérent où toutes les mises à jour sont exécutées partout dans le même ordre [13]. La convergence peut durer mais doit survenir à l’arrêt d’arrivées de transactions dans le système (i.e. aux temps de pause). La section 5 traite de la convergence. D’autre part, on doit offrir une gestion transparente aux utilisateurs. Ils doivent avoir l’impression de travailler sur une seule et unique copie. Par conséquent, le SGBDR5 doit garantir la diffusion des mises à jour aux copies ainsi que le choix de la meilleure copie lors des accès. Nous n’aborderons pas ce dernier point dans ce document. Il existe principalement deux techniques de propagation des mises à jour aux copies : la mise à jour synchrone et celle asynchrone.

Mise à jour synchrone et asynchrone 

Mise à jour synchrone6 (Synchronous update) : c’est un mode de distribution dans lequel toutes les sous-opérations locales effectuées à la suite d’une mise à jour globale sont accomplies pour le compte de la même transaction.  Mise à jour asynchrone7 (Asynchronous update) : dans ce mode de distribution, certaines sous-opérations locales effectuées suite à une mise à jour globale sont accomplies dans des transactions indépendantes, en temps différé [12]. Les figures suivantes représentent les stratégies de mises à jour synchrones et asynchrones avec trois sites : 5 Système de Gestion de Base de Données Répartie. 6 On parle aussi de « Eager replication » en anglais du fait que les mises à jour se font de manière impatiente. 7 « Lazy replication », les mises à jour sont propagées paresseusement.  Figure 2.1 : Mise à jour synchrone Figure 2.2 : Mise à jour asynchrone La diffusion synchrone est très utile lorsque les mises à jour effectuées sur un site doivent être prises en compte immédiatement sur les autres sites. C’est le cas par exemple des cours de devises. Ce type de diffusion assure que le système fournit le dernier état des données quelque soit la copie accédée mais il présente beaucoup d’inconvénients tels que l’utilisation coûteuse de ressources et des algorithmes de gestion de concurrence difficiles à mettre en œuvre. Ainsi, on préfère souvent la mise à jour asynchrone. Elle soulage le système en différant plus ou moins le temps de mise à jour des copies qui peuvent être actualisées dès que possible ou à des instants fixés. On parle de cohérence lâche. Elle permet la possibilité de mettre à jour des données en des temps choisis, tout en autorisant l’accès aux anciennes versions avant la mise à niveau ou diffusion. Son inconvénient majeur est que l’accès à la dernière version n’est pas Chapitre 2 : La réplication 29 Mémoire de DEA d’Informatique FST/UCAD Option : Base de données répartie garanti, ce qui limite les possibilités de mise à jour. Notre système utilisera ce mode de diffusion. 4. Réplication asymétrique et symétrique  Réplication asymétrique (Asymetric replication) : c’est un technique de gestion de copies basée sur un site primaire qui est le seul autorisé à mettre à jour les données et chargé de diffuser les mises à jour aux autres copies dites secondaires. Figure 2.3 : Réplication asymétrique  Réplication symétrique (Symetric replication) : cette technique permet à chaque nœud d’être mis à jour à tout instant et d’assurer la diffusion des mises à jour aux autres copies. Figure 2.4 : Réplication symétrique  répartie Dans le cas de la réplication asymétrique, un site primaire chargé d’effectuer les contrôles et de garantir l’ordonnancement correct des mises à jour est choisi. Ce type de réplication convient bien aux systèmes à responsabilité centralisée assurant une certaine sécurité. Cependant la panne ou la surcharge du site primaire est un point de défaillance pour le système.

A l’opposé de la réplication asymétrique, celle symétrique ne possède pas de site primaire, aucune copie n’est privilégiée. Elle permet des mises à jour des copies par des transactions différentes. Ce type de réplication pose des problèmes de concurrence d’accès risquant de faire diverger les copies. Une technique globale de résolution de conflits doit donc être mise en œuvre; ceci dépasse le cadre de ce mémoire. Remarquons qu’on parle aussi de réplication mono-maître (resp. multi-maître) à la place de réplication asymétrique (resp. symétrique). Le choix d’une technique de réplication n’a rien à voir avec celui d’un mode de diffusion. On distingue ainsi l’asymétrique synchrone et l’asymétrique asynchrone. De même le symétrique synchrone et celui asynchrone. Dans tous les cas, la convergence des copies doit être assurée. 5. Processus de synchronisation La synchronisation est le processus de mise en conformité des copies suite à des mises à jour. Celle des copies asymétriques est assurée par le site maître qui règle les problèmes de concurrence et envoie les mises à jour dans l’ordre où il les applique aux sites secondaires. Ces derniers doivent appliquer les mises à jour dans le bon ordre. Ce qui présente quelques difficultés facilement solubles.

Par contre, la convergence, synchronisation, de copies symétriques est difficile à assurer. En effet, les mises à jour symétriques risquent d’être accomplies dans un ordre différent pour une même donnée. Ce qui conduit alors à des états différents : les copies divergent. Dans le cas de mises à jour synchrone, il existe des mécanismes de contrôle de concurrence permettant d’éviter les divergences. Le processus de mise en conformité des copies ne suit pas seulement une stratégie de propagation des mises à jour mais il précise aussi d’autres points indispensables tels que les  mécanismes de détection des mises à jour, l’initiateur du rafraîchissement et la nature des rafraîchissements. Ces trois points sont précisés ci-après.

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *