CHAR(11) a été une très bonne occasion de discuter réplication.
En particulier, Jan Wieck m'a convaincu de ne pas oublier Slony. Bien que j'ai activement participé au développement de la version 1.2 de slony-ctl et l'aie présenté au CHAR(10) j'utilise plus fréquemment les Skytools.
La réplication en streaming étant enfin présente avec PostgreSQL 9.0, les systèmes de réplications asynchrones par trigger (londiste, slony, …) perdent une grande part de leurs utilisateurs dont les besoins sont assez simple: obtenir un réplicat complet du serveur Principal. Avec l'utilisation de repmgr, la mise en place et l'administration est simplissime. Reste tous les utilisateurs qui ont un besoin plus complexe qu'une réplication binaire et complète (et synchrone avec PostgreSQL 9.1, et en cascade avec PostgreSQL 9.2).
Quelle place reste-il pour Slony ? Surtout avec les Skytools3 qui devraient bientôt sortir et réduisent le grand écart que Skype avait pris par rapport à Slony.
Et bien Slony n'est pas en reste et, d'après Jan, a aussi intégré des idées de Londiste (le système de réplication basé sur les Skytools).
Un reproche que l'on peut faire à Slony est d'avoir releasé un peu trop vite par le passé, avec des bugs importants. Skytools, c'est le contraire, il y a quelques releases correctives ou avec des améliorations mineures mais la release de la version 3 est dans le trunk depuis 2 ou 3 ans !!!
Comparer skytools 2 avec slony 1 est facile: quasiment le seul intéret de Slony est l'énorme simplicité de switchover que n'a pas Londiste (et la réplication en cascade…).
L'enjeu est donc de comparer slony 2 et skytools 3 chacun étant plus ou moins au niveau de l'autre: réécriture importante du code et ajout de nouvelles fonctionnalités.
Lire la suite dans le prochain numéro !
EDIT: Steve Singer, qui a pris une part active dans Slony depuis 1 ou 2 ans (depuis qu'il est chez Affilias donc), vient justement d'écrire un article au sujet de la version 2.1 new-features-in-slony-2-1