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 :)