I.2. Réplication de Base de Données
La synchronisation des données a toujours
été un problème dans l'histoire de l'informatique en
général, et des SGBDR en particulier. La normalisation des
modèles a apporté une solution en l'évitant au maximum,
l'information ne devant se trouver qu'à un seul endroit. Pour s'assurer
de la disponibilité permanente des données, souvent, il est
nécessaire de répliquer de l'information. Les bonnes raisons pour
le faire sont nombreuses :
· Dénormalisation pour des questions de
performances
· Distributions géographiques,
décentralisation
· Récupération de données d'autres
environnements, centralisation
· Sécurisation, sites de secours distants
Comme l'affirme LAMBERT SONNA MONO (2001), les bases de
données réparties et la réplication des données
sont reconnues aujourd'hui comme moyens efficaces pour augmenter la
disponibilité et la fiabilité des bases de données. De
plus la réplication peut contribuer favorablement à
l'amélioration des performances en utilisant les copies locales voire
les copies plus proches.
En 2011, AKOKA et Wattiau définissent la
réplication selon son mode de mise à jour. Pour eux, une
réplication synchrone (réplication
transactionnelle, de capture instantanée) est celle qui permet une mise
à jour immédiate et qui utilise un protocole de validation
à deux phases, et une réplication asynchrone,
celle qui permet une mise à jour différée
(Réplication par fusion).
I.2.1. Réplication des Données
Pour MOLLI et Gérald (2005), répliquer revient
à dupliquer des données critiques pour la tolérance aux
pannes, pour la disponibilité et pour la performance. Pour eux, il
existe une différence entre répliquer et copier dans ce sens que
répliquer occasionne la cohérence des données et des
répliques. De ce fait la réplication est plus vaste qu'une simple
copie. D'où les concepts suivants sont nécessaires pour notre
sujet :
· Les Pannes :
Un système est en panne s`il ne sert pas les
données attendues en un temps attendu. Dans un système
distribué, on peut rencontrer de problèmes tels que :
- Un site peut s'arrêter pour une raison logicielle ou
matérielle ;
~ 8 ~
- Un site peut renvoyer des informations illisibles ou
incompréhensibles : pannes
byzantines ;
- Un lien peut être coupé ou marcher que dans un
sens ;
- Un message peut être perdu ou arrivé hors
délais ;
- Un message peut être altéré pendant le
transport (Byzantine Communication
Failure) ;
- Les erreurs de communication peuvent provoquer des partitions
réseaux ;
· La Réplication et le Système
Distribué
La réplication implique plusieurs sites
interconnectés, donc un ensemble des sites et des liens de
communication. Un site désigne, dans ce cas, un processus et un stockage
des données au niveau d'un serveur local et Un lien de communication
comme étant un canal de communication bidirectionnel entre deux sites.
Ces derniers communiquent en utilisant des messages et un protocole de
communication. La délivrance des messages n'est pas garantie dans un
temps maximum.
Pour Cédric COULON (2006), la haute performance et la
haute disponibilité des bases de données ont été
traditionnellement gérées grâce aux systèmes de
bases de données parallèles, implémentés sur des
multiprocesseurs fortement couplés. Le traitement parallèle des
données est alors obtenu en partitionnant et en répliquant les
données à travers les noeuds du multiprocesseur afin de diviser
les temps de traitement. Cette solution requiert un Système de Gestion
de Base de Données (SGBD) ayant un contrôle total sur les
données. Bien qu'efficace, cette solution s'avère très
coûteuse en termes de logiciels et de matériels.
Les grappes sont composées d'un ensemble de serveurs
(PC) interconnectés entre eux par un réseau. Ils permettent de
répondre aux problématiques de haute performance et de haute
disponibilité. Elles ont été utilisées avec
succès pour, par exemple, les moteurs de recherches Internet utilisant
des fermes de serveurs à grands volumes (e.g. Google). Les grappes
peuvent également être utilisées dans un nouveau
modèle économique, les Fournisseurs de Services d'Applications
(ASP - Application Service Providers). Dans un contexte ASP, les
applications et les bases de données des clients sont stockées
chez le fournisseur et sont disponibles, typiquement depuis Internet, aussi
efficacement que si elles étaient locales pour les clients.
Pour améliorer les performances, les applications et
les données peuvent être répliquées sur plusieurs
noeuds. Ainsi, les clients peuvent être servis par n'importe quel
noeud
~ 9 ~
en fonction de la charge. Cet arrangement fournit
également une haute disponibilité: dans le cas de la panne d'un
noeud, d'autres noeuds peuvent effectuer le même travail. Pour lui, Un
autre avantage du modèle ASP concerne le déploiement. La mise
à jour d'une application ou d'un SGBD ne demande pas le
déplacement d'un technicien chez tous les clients. La mise à jour
des noeuds chez le fournisseur est suffisante.
|