1. Réplication dans les
bases de données
Réalisé par :
ISKOUNEN Syphax
MESSAOUDI Bilal
BEDIAR Sofiane
SAKRAOUI Imed Eddine
BDDA
2. Introduction
Lors de l’utilisation d’une application de base de données, les
problèmes majeures rencontrés par cette dernière est la
Disponibilité des données, le temps de réponse et la résistance de
l’application à d’éventuel pannes.
Et l’une des solution à ses problématique est la réplication des base
de données.
2
3. Principe
• La réplication met en jeu au minimum deux SGBD et consiste en
un processus de propagation d’éventuelle modifications réaliser
sur la base de données et se déroule généralement en trois
étapes:
• Détection des modifications dans la base de données.
• Leur stockage dans une file ou une table.
• Leur propagation au bases esclaves.
3
4. Les buts de la réplication
• Améliorer les performances
• Equilibrage de charge
• Meilleur temps de réponse
• Augmenter la disponibilité des données
• Améliorer la tolérance aux pannes
4
5. Quand utiliser les base de données répliqués
• La mise en oeuvre de la réplication des bases de données n’est pas
une mince affaire c’est pour sa qu’il ne faut l’appliqué que dans
des scénario ou il sera vraiment utile tel que:
Le partage des données à travers des postes distants
connectées via un réseau étendu (WAN).
Améliorer l’accessibilité aux données du serveur .
Distribution des schémas de BDD .
Sauvegarde des données .
5
6. Point fort et point faible de la réplication
Point fort
• Performances amélioré
• Probabilité de panne plus
faible
P(panne de N serveurs) = P
(panne d’un serveur)^N
Point faible
• Gestion des mises à jour
Surcoût : échange de messages
inter-sites
• Cohérence d’une donnée
répliquée par rapport à la
donnée de référence
6
8. mono maître / multi maître
• Le Maitre peut exécuter des requête de type lecture ou écriture.
• L’esclave ne peut exécuter que des requête de type lecture et des
requête de réplication.
• On parle alors de réplication mono maitre pour désigner un
système ou il n’y a qu’un seul maitre.
• Et de réplication multi maitre pour des système possédant plus
d’un maitre.
8
9. Symétrique / asymétrique
• Celons le sens de propagation de la réplication on parlera de :
réplication bidirectionnelle ou symétrique :
Si la réplication se passe dans le sens de l’esclave vers le
maître et inversement.
la réplication est unidirectionnelle
Si la réplication se passe seulement dans le sens du maître
vers l’esclave.
9
10. La mise à jour synchrone
• Aussi appelée « Réplication en temps réel »
• La synchronisation est effectuée en temps réel puisque chaque requête
est déployée sur l’ensemble des bases de données avant la validation
(commit) de la requête sur le serveur où la requête est exécutée.
• Ce type de réplication assure un haut degré d’intégrité des données mais
requiert une disponibilité permanente des serveurs et de la bande
passante.
• Ce type de réplication, fortement dépendant des pannes des systèmes,
nécessite de gérer des transactions multi sites coûteuses en ressources.
10
11. La réplication synchrone asymétrique
• elle utilise un site primaire qui propage les mises à jour en temps
réel vers un ou plusieurs sites secondaires.
• La table répliquée est immédiatement mise à jour pour chaque
modification par utilisation de trigger sur la table maître.
11
12. La réplication synchrone symétrique
• Lors de la réplication synchrone symétrique, il n'y a pas de table
maître.
• L'utilisation de trigger sur chaque table doit différencier une mise
à jour client à répercuter d'une mise à jour par réplication.
• Cette technique nécessite l'utilisation de jeton.
12
13. La mise à jour asynchrone
• La réplication asynchrone stocke les opérations intervenues sur
une base de données dans une queue locale pour les propager plus
tard à l’aide d’un processus de synchronisation.
• Ce type de réplication est plus flexible que la réplication
synchrone.
• Il permet en effet de définir les intervalles de synchronisation, ce
qui permet à un site de fonctionner même si un site de réplication
n’est pas accessible.
• Si le site distant est victime d’une panne, l’absence de
synchronisation n’empêche pas la consistance de la base maître.
13
14. La réplication asynchrone asymétrique
• Elle propage les mises à jour en temps différé via une file persistante.
• Les mises à jour seront exécutées ultérieurement, à partir d'un
déclencheur externe, l'horloge par exemple.
14
15. La réplication asynchrone symétrique
• Dans ce cas, la mise à jour des tables répliquées est différée.
• Cette technique risque de provoquer des incohérences de
données.
15
17. Réplication intégrale
La réplication Intégrale (ou Snapshot replication) consiste à copier
entièrement les données d’un serveur de base de données sur un
autre serveur de BD.
17
18. Réplication par Fusion
Dans la réplication par Fusion (ou Merging replication) les données
sont sur deux ou plusieurs serveurs puis sont combinés (fusionnés)
en une seule base de données.
18
19. Réplication transactionnelle
Dans a réplication transactionnelle (ou Transactional replication) les
utilisateurs obtienne une copie initiale complète de la BD, puis ils
reçoivent des mises à jours périodiques des changements de
données.
19
21. Conclusion
• La Réplication des bases de données est un concept très
intéressant permettant de réglé beaucoup de problème dans le
domaine du stockage des données .
• Son utilité est indiscutable et nécessaire à beaucoup de système.
• Nous espérons qu’à travers notre travail avoir su vous initier à se
concept ,son utilité, sa mise en oeuvre, et ses domaine
d’application.
21
Editor's Notes
On peut siter des exemple de ces probleme comme :
Dans le cas de traitement réaliser sur un volume de données important , néssaisitant un temp de traitement long,
Lors de reception d’un volume important de requete , le serveur est tres vite surcharger ,avoir des réplique de la base donne reduit la charge de travail sur chaque base de données
Si lun des sgbd tombe en panne les autre replique peuvent poursuivre à sa place
Maitre en œuvre et gérer la réplication des bases de données n’est pas une tache simple à réaliser surtout lorsque le nombre de serveurs à gérer est très important.
), ou chaque poste manipule les données dans sa réplique, et toutes les répliques distantes sont ensuite synchronisées avec la réplique principale (Maitre).
Ce type de réplication le plus simples mettre en œuvre