II.5.Réplication des
données
Toute application de base de données repose sur un
modèle client-serveur. Suivant ce modèle, le client se connecte
au SGBD pour passer des ordres. Ces ordres sont de deux natures : lecture (on
parle alors de requêtes) ou mise à jour (on parle alors de
transactions).
Pour les transactions il y a une modification des
données sur le serveur, mais cela reste des ordres de courte
durée. A l'inverse, dans le cas d'une lecture, il n'y a pas de
modification des données mais les traitements peuvent être longs
et porter sur une grande masse de données ; ce qui se passe dans le
cadre d'une application web par exemple, où un nombre important de
requêtes peut surcharger partiellement (ou complètement) le
serveur.
De ce fait, il existe plusieurs solutions pour palier à
ce genre de problèmes et, la réplication en est une.
II.5.1. Définition
La réplication est un processus qui consiste
à copier l'ensemble d'une base de données (la structure et les
données) sur chaque noeud. Elle implique aussi la redondance des
informations dans différents sites.
II.5.2. Objectifs la
réplication
L'objectif principal de la réplication est d'assurer la
fiabilité du système et de faciliter l'accès aux
données en augmentant la disponibilité. Ceci soit parce que les
données sont copiées sur différents sites permettant de
répartir les requêtes, soit parce qu'un site peut prendre la
relève lorsque le serveur principal s'écroule.
Une autre application tout aussi importante est la
synchronisation des systèmes embarqués non connectés en
permanence. Ce qui permet d'éviter les transferts de données et
d'assurer la croissance de la résistance aux pannes.
Grâce à la réplication, les utilisateurs
ne s'en aperçoivent pas lorsqu'un site est momentanément
inaccessible car un autre peut correctement le remplacer.
II.5.3. Technique de la
réplication
La technique de la réplication, qui met en jeu au
minimum deux SGBD, est assez simple et se déroule en trois étapes
:
· La base maître reçoit un ordre de mise
à jour (INSERT, UPDATE ou DELETE).
· Les modifications faites sur les données sont
détectées et stockées dans un fichier ou une file
d'attente en vue de leur propagation.
· Le processus de réplication prend en charge la
propagation des modifications à faire sur une seconde base dite esclave.
Il peut bien entendu y avoir plus d'une base esclave.
Bien entendu, il est tout à fait possible d'appliquer
la réplication dans les deux sens (de l'esclave vers le maître et
inversement). On parlera dans ce cas-là de réplication
bidirectionnelle ou symétrique. Dans le cas contraire où elle se
fait du maitre vers l'esclave, on parle d'une réplication
unidirectionnelle ou en lecture seule ou encore asymétrique. Outre ceci,
la réplication peut être faite de manière synchrone ou
asynchrone.
|