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