45 votes

Réplication PostgreSQL

Nous en parlons constamment au bureau, et la question revient sans cesse. Comment gérer la réplication de PostgreSQL ? Je ne parle même pas nécessairement de clusters avancés, mais simplement de Master-Slave, Master-MultiSlave et Master-Master. Je trouve que la mise en place de MySQL est généralement assez simple. Le basculement est simple, voire parfait, surtout si l'on considère la facilité avec laquelle il est configuré. Nous avons joué avec Slony, mais c'est un peu trop manuel (les changements de schéma nécessitent une intervention, les nouvelles bases de données nécessitent une intervention, etc). PGPool2 était plutôt bien, jusqu'à ce qu'un nœud tombe en panne et que nous ne trouvions pas de moyen gracieux (autre que de tout arrêter et de réensemencer le nœud tombé en panne) pour rétablir la synchronisation de la réplication. En gros, voici ce que je recherche typiquement :

  • Installation facile (je me contenterai d'une installation difficile, mais facile à étendre)
  • Basculement simple
  • Le rétablissement d'un nœud tombé en panne demande simplement du temps (comme pour mysql. Le serveur tombe en panne, vous le remontez et attendez que la réplication le rattrape).
  • Les changements de schéma n'interrompent pas la réplication
  • L'ajout d'une nouvelle base de données au serveur est transparent (comme pour mysql, il est possible de répliquer un serveur de base de données entier, de sorte qu'une nouvelle base de données créée sur le maître se propage automatiquement à l'esclave).

MySQL gère la plupart d'entre eux assez bien, mais j'ai un certain penchant pour PostgreSQL. De plus, dans certaines situations, c'est notre seule option, et nous aimerions ajouter la réplication au mélange. Qu'utilisez-vous actuellement et que pensez-vous de votre solution ? Ce n'est pas un article sur MySQL versus PostgreSQL, je le promets, parce que ce n'est pas ce que j'essaie de commencer :)

1voto

mogrify Points 383

Voir une discussion ici, peut-être que cela peut aider :

http://blog.endpoint.com/2009/05/competitors-to-bucardo-version-1.html

et

Les concurrents de Bucardo Version One sont présentés plus bas sur la page :

http://www.planetpostgresql.org/

1voto

Vineet Reynolds Points 40529

Il n'y a pas vraiment de moyens gratuits / open-source pour fournir ce que vous recherchez. Si vous souhaitez une solution clé en main, vous pouvez vous tourner vers des solutions de réplication commerciales tierces.

Aujourd'hui, il est Il est possible de mettre en place sa propre réplication avec Postgres en utilisant l'expédition de journaux en tête d'écriture (WAL) :

http://www.postgresql.org/docs/8.3/interactive/warm-standby.html

Il s'agit essentiellement de mettre un nœud secondaire en mode de récupération continue et d'y importer les journaux de transactions tous les {petits intervalles}. La configuration Postgres a des "stubs" pour vous permettre de faire certaines choses lorsqu'un Postgres lorsqu'un WAL est terminé et ainsi de suite, et c'est ce que cette configuration est fondée sur - l'utilisation de ces "stubs".

Cependant, cela ne vous permet pas d'effectuer une réplication maître-maître et/ou circulaire.

Quoi qu'il en soit, ce système fonctionne sans aucun doute pour l'erdundancy, mais je ne le qualifierais pas d'"installation facile", de "basculement simpliste", de "transparent" ou de quoi que ce soit d'autre.

1voto

Sean O Points 820

Sauf pour l'ajout d'une nouvelle base de données, vous pouvez essayer Mammoth Replicator ( https://projects.commandprompt.com/public/replicator ). Il s'agit d'un logiciel libre, facile à configurer et qui prend en charge le basculement. Les principales limitations sont la base de données unique et l'incapacité à répliquer les modifications DDL, les deux sont dans la liste TODO.

0voto

TonyB Points 2482

Je suis actuellement en train d'étudier le réplicateur de tungstène, je suis encore loin d'une conclusion définitive, mais cela vaut probablement la peine d'y jeter un coup d'œil.

www.continuent.com

0voto

bbigras Points 276

Postgres-R semblait prometteur, mais je ne sais pas si le projet est toujours d'actualité.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X