Я использую SymmetricDS для синхронизации баз данных. Он способен синхронизировать или реплицировать данные между узлами (серверами / базами данных), только выдвигая или извлекая данные, которые вы определяете. Это программное обеспечение, основанное на Java, у него крутая кривая обучения, но оно действительно выполняет свою работу.
SymmetricDS может быть настроен на передачу изменений от одного узла к двум другим узлам, таким образом гарантируя, что все три узла содержат одинаковые данные. Вы должны убедиться, что первичные ключи являются уникальными ключами, а не автоматически увеличиваемыми значениями, назначенными базой данных, поскольку это, скорее всего, будет проблемой для трех разных баз данных, которые вы хотите синхронизировать.
Программное обеспечение устанавливает триггеры в базу данных и фиксирует изменения при выполнении операций INSERT, UPDATE или DELETE (и других). Эти изменения данных затем вызываются на других узлах. Программное обеспечение должно работать в каждом месте, но не требует подключения к Интернету, которое всегда доступно.
Вначале я волновался, что триггеры на всех моих таблицах будут снижать производительность, но это не было проблемой вообще. Я не могу сказать, что мы обнаружили какие-либо проблемы с производительностью после установки триггеров.
Для получения более подробной информации смотрите http://symmetricds.org/.