J'utilise SymmetricDS pour synchroniser les bases de données. Il est capable de synchroniser ou de répliquer des données entre les nœuds (serveurs/bases de données), en poussant ou en extrayant uniquement les données que vous définissez. C'est un logiciel basé sur Java, il a une courbe d'apprentissage abrupte, mais il fait vraiment le travail.
SymmetricDS peut être configuré pour pousser les modifications d'un nœud vers les deux autres nœuds, garantissant ainsi que les trois nœuds contiennent les mêmes données. Vous devez vous assurer que les clés primaires sont des clés uniques et non des valeurs automatiquement incrémentées attribuées par la base de données, car cela posera probablement un problème dans les trois bases de données différentes que vous souhaitez synchroniser.
Le logiciel installe des déclencheurs sur la base de données et capture les modifications lorsque des opérations INSERT, UPDATE ou DELETE (et autres) sont effectuées. Ces modifications de données sont ensuite appelées sur les autres nœuds. Le logiciel doit s'exécuter sur chaque emplacement, mais n'a pas besoin d'une connexion Internet disponible à tout moment.
Je m'inquiétais au début que les déclencheurs sur toutes mes tables ralentissent les performances, mais cela n'a pas du tout été un problème. Je ne peux pas dire que nous ayons découvert des problèmes de performances après l'installation des déclencheurs.
Jetez un oeil à http://symmetricds.org/ pour plus de détails.