Używam SymmetricDS do synchronizacji baz danych. Jest w stanie synchronizować lub replikować dane między węzłami (serwerami/bazami danych), jedynie wypychając lub pobierając dane, które definiujesz. Jest to oprogramowanie oparte na Javie, ma stromą krzywą uczenia się, ale naprawdę spełnia swoje zadanie.
SymmetricDS można skonfigurować tak, aby wypychał zmiany z jednego węzła do dwóch pozostałych węzłów, zapewniając w ten sposób, że wszystkie trzy węzły zawierają te same dane. Musisz upewnić się, że klucze podstawowe są unikalnymi kluczami, a nie automatycznie zwiększanymi wartościami przypisanymi przez bazę danych, ponieważ najprawdopodobniej będzie to problem w trzech różnych bazach danych, które chcesz zsynchronizować.
Oprogramowanie instaluje wyzwalacze w bazie danych i przechwytuje zmiany podczas wykonywania operacji INSERT, UPDATE lub DELETE (i innych). Te zmiany danych są następnie wywoływane w innych węzłach. Oprogramowanie musi działać w każdej lokalizacji, ale nie wymaga połączenia z Internetem, które jest dostępne przez cały czas.
Na początku martwiłem się, że wyzwalacze na wszystkich moich stołach spowalniają wydajność, ale to wcale nie stanowiło problemu. Nie mogę powiedzieć, że po zainstalowaniu wyzwalaczy wykryliśmy jakiekolwiek problemy z wydajnością.
Zajrzyj na http://symmetricds.org/ po więcej szczegółów.