Réplications Sophistiquées avec Slony
description
Transcript of Réplications Sophistiquées avec Slony
1
Réplications sophistiqués avec Slony
2
À propos des auteurs
● Auteur : Guillaume Lelarge● Société : DALIBO● Date : Février 2012● URL...
3
Licence
● Creative Commons, blabla
4
Qu'est-ce que Slony?
● Système de réplication● Un maître, plusieurs esclaves● Basé sur les triggers● Licence BSD
5
Pourquoi utiliser Slony ?
● Surtout maintenant qu'il y a la réplication interne !
● La réplication interne de PostgreSQL est– Simple à mettre en place
– Facile à superviser
– Simple à comprendre
– ... idéale ?
6
Quelques raisons● Principalement pour trois raisons
– Différentes versions de PostgreSQL sur le maître et les esclaves
– Réplication d'une partie seulement d'une instance
– Autres objets sur l'esclave
● Autres raisons– Réplication en cascade
– Switchover bien plus simple
● Bref, Slony utile pour les cas plus sophistiqués
7
Quelques exemples
● Cascade● Réplication croisée● Répartition de charge● Avec des objets supplémentaires sur l'esclave
8
Cascade
● Un centre à Paris, déjà redondé– Un maître
– Deux esclaves
● Un nouveau centre à Lyon
9
Cascade – une solution
● Ajouter un esclave au maître
● Mais– charge supplémentaire au niveau du maître
10
Cascade – une meilleure solution
● Ajouter un esclave à l'esclave
● Décharge le maître● Ne pose pas de problème pour un failover ou
un switchover
11
Cascade – pour aller plus loin
● Ajoutons des esclaves aux esclaves
12
Réplication croisée
● Grande chaîne de magasins● La maison mère gère le catalogue
– Nouveaux produits
– Changement de prix
● Les magasins gèrent leur stocks● Les magasins ont besoin rapidement du
changement tarifaire de la maison mère● La maison mère a besoin de statistiques sur
les stocks des magasins
13
Réplication croisée - catalogue● Première action : partager le catalogue
● Toute modification arrive rapidement aux magasins
14
Réplication croisée - stocks● Deuxième action : partager les stocks
● Tout changement dans les stocks arrivent pratiquement immédiatement au central
15
Répartition de charge
● Grand nombre de bases● Plus ou moins volumineuses● Plus ou moins chargés● Toutes sur un serveur surchargé
● Répartition de charge demandée● Mais sans pgPool
16
Répartition de charge – état initial
● Un serveur avec six bases de clients
17
Répartition de charge – 2 serveurs
● Ajouter un serveur
● 2 avantages– Répartition de charge
– Et deuxième serveur disponible
18
Répartition de charge – autres avantages
● Facilite les mises à jour majeures● Facilite la maintenance d'un serveur● L'intégration de pgBouncer améliore encore le
système– Bascule plus simple
– Avec moins de configuration
19
Autres objets sur l'esclave
● BI/Reporting– Ajout de tables de travail
– Ajout d'index
● Statistiques– Ajout de trigger de calcul
20
Autres objets - exemple
● Réplication de trois
tables du maître● 3 index specifiques et
deux tables de travail
sur l'esclave
21
Conclusion
● Réplication interne de PostgreSQL– Parfaite pour des systèmes simples
● Réplication Slony à privilégier pour les systèmes complexes
– Cascade
– Réplication croisée
– Ajout d'objets sur l'esclave
– Etc.