Académique Documents
Professionnel Documents
Culture Documents
Introduction
• La gestion de bases de données avec le temps, s'est confrontée à
divers problèmes
– Les besoins en distribution :
• Entreprise de plus en plus multinationales
Introduction
• Conséquences
– la lenteur des applications
– Les périphériques de stockage submergés, ne répondant pas
assez vite.
• Paradoxe
– es débits des liaisons réseaux évoluaient beaucoup plus vite
que les capacités des périphériques de stockage.
– Capacité des DRAM : 4 fois tous les 4 ans,
– Débit des disques : 2 fois sur les 10 dernières années.
• Solution
– Multiplier les sources de données et les faire communiquer
par réseau, afin de bénéficier de traitements parallèles,
minimisant ainsi les temps de réponses.
Dr Edouard Ngor SARR 5
Partie 1:
Les bases de données reparties
BDA: Les Bases de données reparties
Définitions
• BD réparties
– Plusieurs bases sur plusieurs sites physiques (SGBD), mais
une seule base de données « logique ».
– Les ordinateurs (appelés sites) communiquent via le réseau.
• Chaque site
– Est autonome
• Son propre SGBD
– Pas forcement le même que les autres sites
• Ses propres données
– Une ou plusieurs bases de données
– peut exécuter des transactions locales
– participer à l’exécution de transactions globales
Définitions
• Un système de bases de données réparties ne doit donc
en aucun cas être confondu avec :
– Un système client-Serveur
• La base de données se trouve dans le serveur
• Ce serveur est accessible à distance (les clients) via le
réseau
– Une multibase
• Plusieurs BDs inter-opèrent avec une application via un
langage commun et sans modèle commun.
– Une BD fédérée
• Plusieurs BDs hétérogènes sont accédées comme une
seule via une vue commune
• Exemple des SID
Dr Edouard Ngor SARR 8
BDA: Les Bases de données reparties
Principes de base
• Autonomie locale
– Chaque BD locale est complète, autonome et peut évoluer
indépendamment des autres
• Egalité entre sites et Fonctionnement continu
– Un site en panne ne doit pas empêcher le fonctionnement des
autres sites (mais perturbations possibles)
– Permet résistance aux pannes
• Localisation transparente
– Accès uniforme aux données quel que soit leur site de
stockage
• Fragmentation transparente
– Des données (d’une même table) éparpillées doivent être
vues comme un tout
Dr Edouard Ngor SARR 10
BDA: Les Bases de données reparties
Principes de base
• Requêtes distribuées et Transactions réparties
– L’exécution d’une requête peut être répartie
(automatiquement) entre plusieurs sites (si les données sont
réparties)
– Le mécanisme de transactions peut être réparti entre
plusieurs sites (si ...)
• Indépendance vis-à-vis du matériel, du SE, du SGBD et
du réseau
– Le SGBD fonctionne sur les différentes plateformes utilisées
– Le SGBD fonctionne sur les différents SE...
– Le SGBD est accessible à travers les différents types de
réseau utilisés
– La base peut être distibuée sur des SGBD hétérogènes
Dr Edouard Ngor SARR 11
BDA: Les Bases de données reparties
Complexité de la répartition
• Transparence de la répartition
– Les applications ne doivent pas se soucier du fait que les
données sont réparties sur plusieurs sites
– Les nœuds peuvent avoir des schémas / SGBD différents
– Répartition du dictionnaire de données
• Gestion des transactions réparties
– Maintenir les propriété d’atomicité, isolation et durabilité des
– transactions est plus complexe dans un contexte réparti
• Evaluation de requêtes réparties
– Les plans d’exécution doivent tenir compte
– Localisation des données sur chaque site
– Coût de transfert des données
Difficultés de la répartition
• Coût
– Matériels
– Finance
– Bande passante réseau
• Administration complexe:
– Mise en œuvre
– Développement
• Distribution du contrôle
• Difficulté de migration
• Surcharge
– Echange de messages augmente le temps de calcul
Architectures reparties
• Trois architectures
– SGBD répartis homogènes
Architectures reparties
• Trois architectures
– Multi-SGBD
Architectures reparties
• Trois architectures
– SGBD fédérés
Définitions
• La réplication
– Consiste alors à placer plusieurs copies de l’objet sur
différents nœuds ou sites du réseau.
• Dans une base de données distribuée, la réplication permet
d’augmenter :
– la disponibilité des données : Si un site devient non
opérationnel à la suite d’une panne par exemple, une autre
copie est toujours accessible sur un autre site
– les performances d’accès : en augmentant la localité de
référence. Lorsque le coût de communication est un facteur
dominant, le placement d’une copie sur le site ou elle est le
plus souvent accédée favorise les accès locaux en évitant les
accès réseaux.
Problématique
• La réplication
Objectifs
• Augmenter la disponibilité des données
• Augmenter la localité des données et donc les performances
• Réduire la charge réseau (éviter de faire tout converger vers un
serveur unique)
• Supporter la déconnexion des clients mais
• Prend plus de place
• Nécessite des protocoles sophistiqués pour supporter les mises à
jour
Définitions
• Site primaire (ou maître ou référence):
• Accès en lecture et en écriture au niveau application.
• Les transactions de mise à jour sont de plusieurs ordres
notamment : DML, DDL, DCL, TCL
• Site secondaire (ou esclave ou cible).
• Accès au niveau application ce font en lecture seule.
• Que des requêtes SELECT.
• Le SGBD ou le réplicateur gère la mise à jour
• La propagation:
• La mise à jour d’une donnée de référence, sur une donnée
cible.
• Du serveur vers le client
Réplication Asynchrone
• L’écriture asynchrone
• Permet de limiter les temps d’écriture et de définir les intervalles
de synchronisation
• Plus flexible que la réplication synchrone.
• Permet à un site de fonctionner même si un site de réplication
n’est pas accessible.
• Il y a donc un risque pour la cohérence des données.
• C’est un problème sérieux, caractéristique des systèmes en
général, du NoSQL en particulier.
• Les mises à jour se font dans des transactions séparées.
• Le serveur initiateur renvoie la réponse au client immédiatement
après la mise à jour sur sa base de données. Il propage ensuite
la mise à jour aux autres nœuds.
Dr Edouard Ngor SARR 44
BDA: Les Bases de données répliquées
Réplication Asynchrone
• L’écriture asynchrone
• L’utilisateur peut ainsi déclarer que la synchronisation sera
effectuée la nuit, à une heure de faible affluence.
• Si le site distant est victime d’une panne, l’absence de
synchronisation n’empêche pas la consistance de la base maître
et esclave dans des états de consistance.
• Par contre, le planning de réplication est dans ce cas plus
complexe, puisqu’il s’agit de gérer les conflits émanant d’un
éventuel accès en écriture sur une base esclave entre deux mises
à jour.
• Les algorithmes de réplication asynchrone sont souvent
déterministes : ils appliquent les mises à jour en étant sûrs
qu’elles ne donneront pas d’incohérences.
Réplication Asynchrone
• L’écriture asynchrone
Réplication Synchrone
• « Réplication en temps réel ».
• Les mises à jour sont effectuées en une seule transaction.
• Il y a une coordination forte entre les nœuds (tous valident la
transaction en même temps ou aucun).
• Chaque requête est déployée sur l’ensemble des bases de
données avant la validation de la requête sur le serveur ou la
requête est exécutée.
• Assure un haut degré d’intégrité des données mais requiert une
disponibilité permanente des serveurs et de la bande passante.
• Mais Il est fortement dépendant des pannes du système
– Nécessite de gérer des transactions multi sites couteuses en
ressources.
• La réponse au client est renvoyée après que les serveurs se
soient coordonnés.
Dr Edouard Ngor SARR 47
BDA: Les Bases de données répliquées
Réplication Synchrone
• « Réplication en temps réel ».
• Comme dans un système centralisé, avant d’accéder à une
donnée, on acquiert un verrou exclusif dessus.
• Avec le protocole RWA (Read One Write All)
– On améliore la disponibilité des lectures en ne demandant le
verrou que sur une copie pour les lectures et sur toutes les
copies pour les écritures.
– Ce protocole est adapté aux pannes avec sa variante ROWA-A
(Read OneWrite All Available), ou seules les copies disponibles
sont mises à jour.
• Dès qu’une copie redevient disponible, elle doit d’abord
être synchronisée avant d’être de nouveau utilisable.
Réplication Asymétrique
• Mono Maitre
– Répartir la charge entre plusieurs esclaves pour améliorer les
performances.
– Dans cet environnement, toutes les écritures et mises à jour doivent
avoir lieu sur le serveur maître.
– La lecture, cependant peut prendre place sur un ou plusieurs
esclaves.
– Ce modèle peut améliorer la performance des écritures (puisque le
maître est dédié aux mises à jour), tout en augmentant la vitesse de
lecture à travers un nombre croissant d’esclaves.
– Au niveau sécurité des données, les données sont répliquées vers
l’esclave et l’esclave peut interrompre le processus de réplication,
– il est possible d’exécuter des services de sauvegarde sur l’esclave
sans corrompre les données de base correspondantes.
Réplication Asymétrique
• Mono Maitre
Réplication Symétrique
• Multi-Serveur
– il n'y a ni base principale ni base secondaire.
– Dans cette approche, les mises à jour peuvent être exécutées
sur n’importe quelle réplique, permet d’améliorer aussi bien
les performances des transactions de lecture seule que
d’écriture.
– L’inconvénient de cette approche est qu’elle requiert des
mécanismes de contrôle de concurrence distribués plus
complexes pour garantir la cohérence mutuelle.
Réplication Symétrique
• Multi-Serveur
Modèles d’appartenance
Modèle d'appartenance fixe (PRIMARY COPY ou
MonoMaitre)
• Dans ce modèle, seul le site primaire peut mettre à jour, les sites
cibles ne recevant que des copies en lecture.
Modèles d’appartenance
Modèle d'appartenance dynamique (UPADTE
EVERYWHERE)
• Le site primaire peut être différent au cours du temps, en
fonction d'événements: panne d'un site, état de la donnée, etc.
Liens Utiles
1. SIRES, M. M. E. I. O. COURS BASES DE DONNEES REPARTIES
Nakechbandi M., LITIS, Email: nakech@ free. fr.
2. SIRES, M. M. E. I. O. COURS BASES DE DONNEES REPARTIES.
3. Molli, P., Oster, G., & LORIA, I. L. (2005). Replication des données.
4. Moussa, R. (2005). Systèmes de Gestion de Bases de Données
Réparties & Mécanismes de Répartition avec Oracle.
5. https://phelepjeremy.wordpress.com/2018/01/15/replication-de-bases-
de-donnees-mysql-maitre-esclave/
6. http://libresavoir.org/index.php?title=R%C3%A9plication_des_bases_d
e_donn%C3%A9es_MySQL_%28installation_et_configuration%29#:~:
text=La%20r%C3%A9plication%20de%20bases%20de,s%C3%A9lecti
onn%C3%A9es)%20se%20synchronisent%20entre%20elles.
7. https://fr.wikibooks.org/wiki/MySQL/R%C3%A9plication
8. http://www.responsive-mind.fr/replication-mysql-master-master/