You are on page 1of 53

PostgreSQL et la Haute Disponibilit

Auteur :
Licence :
Date :

Jean-Paul Argudo <jean-paul.argudo@dalibo.com>


Creative Commons, BY-NC-SA
2 avril 2009

PostgreSQL et la Haute Disponibilit

Table des matires


1 Sommaire

2 Haute disponibilit ?

3 Seven Nine

4 Matriel

5 Technologies de rplication

6 Rplication Asynchrone Asymtrique

10

7 Rplication Asynchrone Symtrique

11

8 Rplication Synchrone Asymtrique

12

9 Rplication Synchrone Symtrique

13

10 Diffusion des modifications

14

11 Projets PostgreSQL

15

12 Warm Stand-by

16

13 Hot Stand-by

18

14 Projets autour de PostgreSQL

19

15 Slony : Identit

20

16 Slony : Fonctionnalits

21

17 Slony : Technique

22

18 Slony : Points forts

23

dalibo.com

2 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

19 Slony : Limites

24

20 Slony : Utilisations

25

21 Bucardo : Identit

26

22 Bucardo : Fonctionnalits

27

23 Bucardo : Technique

28

24 Bucardo : Points forts

29

25 Bucardo : Limites

30

26 Bucardo : Utilisations

31

27 Londiste : Identit

32

28 Londiste : Fonctionalits

33

29 Londiste : Technique

34

30 Londiste : Points forts

35

31 Londiste : Limites

36

32 Londiste : Utilisations

37

33 Postgres-R : Identit

38

34 Postgres-R : Fonctionalits

39

35 Postgres-R : Technique

40

36 Postgres-R : Points forts

41

37 Postgres-R : Limites

42

38 Postgres-R : Utilisations

43

39 pgpool-II : Identit

44

dalibo.com

3 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

40 pgpool-II : Fonctionalits

45

41 pgpool-II : Technique

46

42 pgpool-II : Points forts

47

43 pgpool-II : Limites

48

44 pgpool-II : Utilisations

49

45 Dautres projets...

50

46 Sondage

51

47 Conclusion

52

48 Questions

53

dalibo.com

4 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Sommaire
Gnralits sur la haute disponibilit et la rplication
Dans cette prsentation, nous reviendrons rapidement sur la qualification des solutions
de haute disponibilit, et la classification des solutions de rplication.
Prsentation des projets de rplication autour de PostgreSQL
Nous dtaillerons ensuite les projets de rplication pour PostgreSQL les plus en vue.

dalibo.com

5 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Haute disponibilit ?
Quel est mon besoin ?
Seul le rel besoin permet de trouver la solution adquate.
Quel est mon budget ?
Le budget est un lment important dans la mise en place dune solution de haute disponibilit. La plupart du temps, il faudra multiplier le nombre de machines, ou a minima
le nombre de disques durs. Dans certains cas, on en vient redonder aussi la mmoire,
les processeurs, etc. De nombreuses solutions existent en la matire. Cependant, cette
dbauche de moyens a toujours un cot.
Quelles comptences ?
Le cot de la comptence associe linstallation, et surtout, la maintenance dun cluster, fut-il install pour PostgreSQL ou non, est toujours important. Le cot du maintient
de la comptence pour la gestion dun cluster ne doit pas tre pris la lgre. Cependant, loffre de formation existe et est aujourdhui complte. On trouve aussi nombre de
socits prtes supporter la maintenance dun cluster PostgreSQL. Lentreprise a donc
le choix dexternaliser ou non cette comptence.
Quand ?
La donne temporelle est importante. Il convient en effet de savoir partir de quel moment on veut transformer son service en un service dont on attend une haute disponibilit. Gnralement, plus le service est plac sous haute disponibilit tt dans llaboration du projet, plus les cots engendrs sont importants.

dalibo.com

6 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Seven Nine
quivalences 99,(9)* et temps dindisponibilit :

99% dsigne le fait que le service est indisponible moins de 3,65 jours par an
99,9%, moins de 8,75 heures par an
99,99%, moins de 52 minutes par an
99,999%, moins de 5,2 minutes par an
99,9999%, moins de 54,8 secondes par an
99,99999%, moins de 3,1 secondes par an

dalibo.com

7 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Matriel
Pas le but de cette prsentation
En effet, cette prsentation est destine prsenter les solutions de rplication entrant
dans la composition dun cluster PostgreSQL haute disponibilit.
prendre videmment en compte...
De nombreuses techniques matrielles viennent en complment essentiel des technologies de rplication utilises dans la haute disponibilit.
Leur utilisation est gnralement obligatoire, du RAID en passant par les SAN et autres
techniques pour dedonder lalimentation, la mmoire, les processeurs, etc.

dalibo.com

8 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Technologies de rplication
Au choix :
Propritaires ou
Libres
Dans tous les cas, le support professionnel existe !

dalibo.com

9 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Rplication Asynchrone Asymtrique


critures sur le matre
Dans la rplication asymtrique, seul le matre accepte des critures, et l(es) esclave(s)
ne sont accessibles quen lecture.
Mise en attente
Dans la rplication asynchrone, il existe un processus extrieur au SGBD qui gre la
rplication des changements.
Rplication des changements sur lesclave
Les seules critures acceptes par l(les) esclave(s) sont la rplication des changements effectus par les utilisateurs sur le matre.
La mise jour de la(des) table(s) rplique(s) est diffre (asynchrone). Elle est ralise par un
programmateur de tches, possdant une horloge. Des points de synchronisation sont utiliss pour
propager les changements.

dalibo.com

10 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Rplication Asynchrone Symtrique


critures concurrentielles, sur deux matres
Dans la rplication symtrique, tous les matres sont accessibles aux utilisateurs, aussi
bien en lecture, quen criture.
Mises en attente
Dans la rplication asynchrone, il existe un processus extrieur au SGBD qui gre la
rplication des changements.
ACID ? !
Deux matres rpliquent les donnes de lun sur lautre, via un programmateur (voire deux programmateurs). Ce mode de rplication ne respecte gnralement pas les proprits ACID, car si une copie
choue alors que la transaction a dj t valide, on peut alors arriver dans une situation o les
donnes sont incohrentes.

dalibo.com

11 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Rplication Synchrone Asymtrique


criture sur le matre
Dans la rplication asymtrique, seul le matre accepte des critures, et l(es) esclave(s)
ne sont accessibles quen lecture.
Recopie instantane sur lesclave
Dans la rplication synchrone, il ny a pas de processus extrieur qui propage les changements. Dans ce cas, on utilise un mcanisme dit de Two Phase Commit ou Commit
en deux phases, qui assure quune transaction est comitte sur tous les nuds dans la
mme transaction. Les proprits ACID sont dans ce cas respectes.
La copie est instantanment mise jour chaque modification de la table matre. Si la copie choue
cest toute la transaction qui est annule, et elle nest applique sur aucun des nuds.

dalibo.com

12 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Rplication Synchrone Symtrique


critures concurrentielles sur deux matres
Dans la rplication symtrique, tous les matres sont accessibles aux utilisateurs, aussi
bien en lecture, quen criture.
Gestion des verrous et de la concurrence
Dans la rplication synchrone, il ny a pas de processus extrieur qui propage les changements. Dans ce cas, on utilise un mcanisme dit de Two Phase Commit ou Commit
en deux phases, qui assure quune transaction est comitte sur tous les nuds dans la
mme transaction. Les proprits ACID sont dans ce cas respectes.
Dans le cas particulier de la rplication synchrone symtrique, il faut en plus grer les
ventuels conflits qui peuvent survenir quand deux transactions concurrentes oprent
sur le mme ensemble de tuples. On rsout ces cars particuliers avec des algorithmes
plus ou moins complexes.
Les deux tables peuvent tre modifies, et les mise jour sont propages directement dans lautre
table. Il est noter que la rplication fait partie de la transaction, ce qui ne ralentit que trs peu le
systme.

dalibo.com

13 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Diffusion des modifications


On trouve deux types de diffusion des mises jour :
Diffusion du rsultat de lopration : soit le rsultat du SQL
Permet de ne pas refaire lopration sur la copie, mais ncessite une gestion de lordonnancement des mises jour afin que celles-ci soient identiques sur tous les sites.
Diffusion de lopration de mise jour : soit le SQL lui-mme
Plus flexible, notamment dans le cas doprations cumulatives. Pose la problmatique
des oprations dites non dterministes. Par exemple, le rsultat de CURRENT_TIMESTAMP
ou de random() peut diffrer dun nud lautre.

dalibo.com

14 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Projets PostgreSQL
Deux techniques de rplication existent pour PostgreSQL :
Warm Stand-by (aka Log Shipping)
Hot Stand-by
Cependant, seule la premire est stable, la seconde tant toujours en cours de dveloppement.

dalibo.com

15 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Warm Stand-by
Intgr PostgreSQL depuis plusieurs annes
Le Warm Stand-by existe depuis la version 8.2, sortie le 5 dcembre 2006. La robustesse de ce mcanisme simple est toute preuve.
Permet davoir une rplique dune cluster PostgreSQL sur un serveur secondaire
Les journaux de transactions (aka WAL, pour Write Ahead Log) sont immdiatement envoys au serveur secondaire aprs leur criture. Le serveur secondaire est dans un
mode spcial dattente, et lorsquun journal de transactions est reu, il est automatiquement appliqu au rplica.
Cette technique ne permet de rpliquer que lensemble du cluster PostgreSQL, cest
dire, lensemble des bases de donnes quil contient. On ne peut pas par exemple
ne rpliquer quune base parmi celles que contient le cluster. Cette limitation est lie
au fait que les journaux de transactions de PostgreSQL (aka WALs) tracent toutes les
transactions du cluster, quelle que soit la base de donnes.
Le rplica est identique au serveur primaire, au WAL prs
tant donn que le serveur distant napplique que les WAL quil reoit, il y a
toujours un risque de pertes de donnes en cas de panne majeure sur le serveur
primaire.
On peut cependant moduler le risque de deux faons :
Sauf en cas davarie trs grave sur le serveur primaire, le WAL sur ce
dernier peut gnralement tre rcupr et appliqu sur le serveur
secondaire
On peut rduire la fentre temporelle de la rplication en modifiant
la valeur de la cl de configuration archive_timeout. Au del des n
secondes dclares dans cette variable de configuration, le serveur
change de WAL, provoquant larchivage du prcdent.
On peut par exemple envisager un archive_timeout 30 secondes,
et ainsi obtenir une rplication 30 secondes prs
Un outil pratique : pg_standby
Loutil pg_standby de Simon Riggs (contrib de PostgreSQL 8.3) possde plusieurs options en ligne de commande :
pg_standby [OPTION]... [ARCHIVELOCATION] [NEXTWALFILE] [XLOGFILEPATH]
ARCHIVELOCATION correspond au rpertoire de stockage des journaux de transaction
archivs.
NEXTWALFILE est le nom du prochain journal rcuprer.
XLOGFILEPATH est lemplacement des journaux de transaction.
Options les plus intressantes :

-d pour envoyer des informations de dbogage sur stderr.


-s delai, dlai entre deux vrifications.
-t fichier_trigger, pour arrter la vrification.
-w delai_max, dlai maximum avant labandon de la rcupration.

Exemple :

dalibo.com

16 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

restore_command = pg_standby -d -s 2 -t /tmp/pgsql.trigger.5432 \


/var/pg_xlog_archives %f %p 2>> standby.log

dalibo.com

17 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Hot Stand-by
volution du Warm Stand-by
Le patch Hot Stand-by a ncessit environ 5 mois de travail intense de son auteur,
Simon Riggs, et environ 3 semaines de relecture un hacker mrite de PostgreSQL,
Heikki Linakangas. Il sagit dun patch de plusieurs milliers de lignes de C.
Bas sur le mme mcanisme
Lvolution : le serveur secondaire est ouvert en lecture seule
Cette volution majeure de PostgreSQL devait initialement tre intgre la toute prochaine version
8.4. Cependant, les relectures des patches de Simon Riggs (principal codeur de Warm et Hot StandBy) par Heikki Linakangas (autre codeur mrite du projet !), ont abouti la conclusion quil tait
prmatur dinclure cette fonctionnalit dans PostgreSQL 8.4 car des tests complmentaires, plus
pousss devaient tre raliss, dune part. Dautre part, il existe de nombreux axes damliorations
possibles au patch de Simon.
Cette nouvelle fonctionnalit de PostgreSQL ne remplacera pas des projets plus complexes de rplication. Elle nen a pas non plus la vocation.
Lvolution naturelle du Hot Stand-by sera probablement dalimenter le serveur secondaire directement avec les transactions du serveur primaire, en ne passant plus par les journaux de transaction.
Une fois cette dernire volution effectue, les utilisateurs doutils de rplication tiers se poseront
probablement la question sur la ncessit pour eux de garder leur installation actuelle, dans la mesure
o PostgreSQL possdera de manire native une rplication matre / esclave intressante.

dalibo.com

18 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Projets autour de PostgreSQL

Slony
Bucardo
Londiste
Postgres-R
pgpool-II

dalibo.com

19 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Slony : Identit

Projet libre (BSD)


Asynchrone / Asymtrique
Rplication des rsultats
Site web : http ://slony.info/

dalibo.com

20 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Slony : Fonctionnalits
Failover / Failback
Switchover / Switchback
Standalone

dalibo.com

21 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Slony : Technique

Rplication base sur des triggers


Dmons externes, crits en C
Le matre est provider
Le(s) esclave(s) est(sont) suscriber(s)

dalibo.com

22 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Slony : Points forts

Bas sur un(des) set(s) de rplication et non sur un(des) schma(s)


Indpendance des versions de PostgreSQL
Technique de propagation des DDL
Robustesse

dalibo.com

23 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Slony : Limites
proscrire pour la rplication de bases itinrantes
Le rseau doit tre fiable : peu de lag, pas ou peu de coupures
Monitoring dlicat

dalibo.com

24 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Slony : Utilisations

Base de donnes de secours


Alimentation des bases de pr-production, de recette et de tests
Infocentre (many to one)
Bases spcialises (recherche plein texte, traitements lourds, etc)

dalibo.com

25 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Bucardo : Identit

Projet libre (BSD)


Asynchrone / Symtrique
Rplication des rsultats (dits deltas)
Site web : http ://bucardo.org/

dalibo.com

26 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Bucardo : Fonctionnalits
Failover ?

dalibo.com

27 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Bucardo : Technique

Rplication base sur des triggers


Dmons externes, crits en Perl
Matre / Matre ou
Matre / Esclave

dalibo.com

28 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Bucardo : Points forts


Bas sur un(des) set(s) de rplication et non sur un(des) schma(s)
Simplicit dutilisation
Rsolution standard des conflits
source : la base de donnes dorigine gagne toujours
target : la base de destination gagne toujours
random : lune des deux bases est choisie au hasard comme tant la gagnante
latest : le plus rcemment chang gagne
abort : la rplication est arrte
skip : aucune dcision ni action nest prise

dalibo.com

29 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Bucardo : Limites

Aucune technique de propagation des DDL


Limit deux nuds
Le rseau doit tre fiable : peu de lag, pas ou peu de coupures
Version de PostgreSQL > 8.2
Sous Unix uniquement
Cas particulier des squences
Un seul dveloppeur sur le projet (Greg Sabino Mulane)

dalibo.com

30 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Bucardo : Utilisations
Cluster matre/matre simple
Base de donnes de secours
Bases spcialises (recherche plein texte, traitements lourds, etc)

dalibo.com

31 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Londiste : Identit

Projet libre (BSD)


Asynchrone / Asymtrique
Rplication des rsultats
Site web : https ://developer.skype.com/SkypeGarage/DbProjects/SkyTools

dalibo.com

32 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Londiste : Fonctionalits
Failover ?
Pour les tables : repair et compare

dalibo.com

33 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Londiste : Technique

Rplication base sur des triggers


Dmons externes, crits en Python
Utilise un autre Skytool : PgQ
Matre / Esclave(s)

dalibo.com

34 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Londiste : Points forts


PgQ est robuste, fiable et flexible
Pas de sets de rplication, mais des tables appartenant diffrentes queues
On peut ainsi avoir des tables dans le serveur matre qui alimentent la queue principale
laquelle les diffrents esclaves auront souscrit, mais aussi dautres queues qui vont
alimenter certaines autres tables du matre.
Cela rend donc possible de rplications croises.
Indpendance des versions de PostgreSQL
Robustesse

dalibo.com

35 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Londiste : Limites
Technique de propagation des DDL basique, et surtout, unitaire
Pas de sets de rplication, mais les queues (PgQ) peuvent grer cela
Trs peu de fonctionnalits. Skytools 3 devrait corriger des carts avec Slony
Notamment au niveau de la propagation des DDL, on pourra par exemple excuter le
script suivant :
londiste.py conf.ini execute script.sql

dalibo.com

36 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Londiste : Utilisations

Base de donnes de secours


Alimentation des bases de pr-production, de recette et de tests
Infocentre (many to one)
Bases spcialises (recherche plein texte, traitements lourds, etc)

dalibo.com

37 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Postgres-R : Identit

Projet libre (BSD)


Synchrone / Symtrique
Rplication des rsultats
Site web : http ://www.postgres-r.org/

dalibo.com

38 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Postgres-R : Fonctionalits
Resynchronisation automatique dun nud dsynchronis
La resynchronisation dun nud qui a subi une dsynchronisation suite so, arrt volontaire (ou non), peut tre partielle dans la plupart des cas : ne seront rejous que les
vnements qui doivent ltre

dalibo.com

39 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Postgres-R : Technique
Bas sur le Group Communication System (aka GCS)
La thorie sur le Group Communication System est trs aboutie (travaux de B. Kemme
en particulier). Cependant son implmentation est relativement complexe.
Est un gros patch pour PostgreSQL
Lauteur (Markus Wanner) explique lui-mme que pour des raisons de performances, et
parce quun systme de rplication multi-matres est une chose complexe, Postgres-R
est en fait une version patche de PostgreSQL.

dalibo.com

40 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Postgres-R : Points forts


Intgration au cur mme de PostgreSQL
Lintgration au sein mme du code de PostgreSQL est garant de performances optimales. Cependant, cest aussi double tranchant, comme cela sera expos plus tard.
Installation aise
Il suffit de compiler la version Postgres-R avec loption de compilation --enable-replication
pour obtenir un PostgreSQL avec la rplication. La configuration des nuds ensuite nest
pas plus complique quavec Londiste ou Slony.
En thorie, le cluster actif-actif est limit environ 20 nuds
Les travaux de Betina Kemme montrent quau del de 20 nuds, le temps pass par
les nuds discuter au sujet du fonctionnement mme du cluster devient beaucoup
plus grand que le temps pass schanger des donnes. Ds lors, une saturation du
rseau entre les nuds est constate.
En pratique, la limite acceptable est environ 12 nuds
La limite pratique peut-tre augmente 16 nuds, dans le cas o le paramtre fsync
est off (Sameh Elnikety, Steven Dropsho, et Willy Zwaenepoel. Tashkent+ : Memoryaware load balancing and update filtering in replicated databases. EuroSys 2007 :
Proceedings of the 2nd European Conference on Computer Systems, pages 399--412,
2007)

dalibo.com

41 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Postgres-R : Limites
Un seul dveloppeur ce jour (Markus Wanner)
Postgres-R est un patch de PostgreSQL
Cela rend donc compliqu la maintenance du code pour son auteur, qui doit ladapter
chaque version majeure de PostgreSQL.
Surtout : Postgres-R est encore un projet de recherche, partiellement abouti.
Cest rdhibitoire pour les professionnels, qui privilgient juste titre la robustesse et
la stabilit des logiciels. Cependant, ce projet est trs prometteur et il convient de le
surveiller de trs prs.

dalibo.com

42 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Postgres-R : Utilisations
Limites actuellement, du fait du statut actuel du projet
Publication en Janvier 2009 dun document de spcifications
Ce document (tlchargeable sur http ://www.postgres-r.org/downloads/concept.pdf) semble
poser toutes les bases de la spcification de Postgres-R.
Mais lauteur lavoue lui-mme en ces termes :  Note that the current prototype implementation doesnt cover all aspects mentioned . Ce qui, dans une traduction libre veut
dire Notez que limplmentation dans le prototype actuel ne couvre pas tous les aspects
mentionns (dans ce document).
Il est clair en tout cas que Markus a fait de nombreux appels du pied la communaut
PostgreSQL. Mais son projet ne semble pas attirer les foules.

dalibo.com

43 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

pgpool-II : Identit

Projet libre (BSD)


Synchrone / Symtrique
Rplication des requtes SQL
Site web : http ://pgpool.projects.postgresql.org/

dalibo.com

44 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

pgpool-II : Fonctionalits
Failover avec dtection automatique dun nud dficient
Le cas chant, le nud est dsactiv dans la rplication. La technique du Online
Recovery de pgpool
Failback : Online Recovery

dalibo.com

45 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

pgpool-II : Technique
pgpool est lorigine un pooler de connexions
A sa configuration propre
Transparent pour les applications

dalibo.com

46 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

pgpool-II : Points forts

Lger et trs robuste


Projet
Installation et prise en main trs rapide
Rplication de requtes : donc, mme le DDL

dalibo.com

47 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

pgpool-II : Limites
pgpool est un SPOF !
Il faudra donc veiller ce quun autre service pgpool-II existe sur une autre machine et
mettre en place un systme de bascule automatique. Cela est gnralement fait avec
des infrastructures redondantes bases sur heartbeat, lvm, etc.
Rplication base sur la rplication des requtes SQL
Il faut donc absolument veiller ce que les bases de donnes ne puissent tre accdes
que via pgpool-II ! En effet, il existe toujours un risque quune base soit modifie en
direct... Ce qui la dsynchroniserait des autres.
Documentation dorigine en Japonnais, dont les traductions sont parfois curieuses
Authentification en mode rplication : pas de md5
Effet trousse outils
Dans la communaut PostgreSQL, ce type de critique est rcurrent lencontre de
pgpool : beaucoup lui reprochent de tout faire un peu. pgpool est en effet la fois :
un pooler de connexions, mais aussi capable de faire de la rplication et de la requte
parallle.
Ces critiques sont cependant peu fondes, les sites utilisant pgpool en production sont
trs nombreux ! Ceux qui ne sintresseront quau seul mode de pooler de connexions
pourront sintresser lexcellent PgBouncer de Skype.

dalibo.com

48 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

pgpool-II : Utilisations
Base de donnes de secours
Load-Balancing

dalibo.com

49 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Dautres projets...
Il existe bien dautres projets !

PGCluster : moribond
Mammoth Replicator / Command Prompt : libre + support commercial, moribond
Cybercluster / Cybertek : libre + support commercial, actif
Tungsten(ex Sequoia)/Continuent : libre + support commercial, trs actif

dalibo.com

50 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Sondage
Quel est votre outil de rplication favori pour PostgreSQL ?
Rponse

Nombre de votes

Pourcentage

pgpool-II
Bucardo
Slony-I
Londiste
Continuent
pgCluster
DRBD ou Sun Cluster
Autres
Total

7
1
35
6
2
2
2
7
62

11.290%
1.613%
56.452%
9.677%
3.226%
3.226%
3.226%
11.290%

Les rsultats ci-dessous sont consultables sur le site du projet PostgreSQL sur la page suivante :
http ://www.postgresql.org/community/survey.61

dalibo.com

51 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Conclusion
Quel que soit le projet choisi pour rpliquer les donnes, il ne faut pas oublier :

de bien dfinir son besoin


didentifier tous les SPOF
de redonder chaque service jug critique
de monitorer son cluster
de se prparer un ventuel Failover

dalibo.com

52 / 53

dalibo.org

PostgreSQL et la Haute Disponibilit

Questions
Jean-Paul Argudo <jean-paul.argudo@dalibo.com>
Grant de Dalibo SARL,  LExpertise PostgreSQL  Co-fondateur de PostgreSQL France
Trsorier de PostgreSQL Europe
Rendez-vous au stand PostgreSQLFr !
Sur le village des associations, o de nombreux contributeurs PostgreSQL pourront
rpondre vos questions.
et au pgDay 2009 : http ://2009.pgday.eu/
2 journes entirement consacres PostgreSQL, avec la participation de core-hackers
de PostgreSQL, ainsi que lensemble de la communaut Europenne, dont cest le 3me
pgDay Europen, qui vient, cette anne se greffer au pgDay Franais, aprs le pgDay
Italien en 2008, et le pgDay probablement Allemand en 2010 !

dalibo.com

53 / 53

dalibo.org

You might also like