Използвам SymmetricDS за синхронизиране на бази данни. Той е в състояние да синхронизира или репликира данни между възли (сървъри/бази от данни), като само бута или изтегля данните, които дефинирате. Това е софтуер, базиран на Java, има стръмна крива на обучение, но наистина върши работата.
SymmetricDS може да бъде настроен да изтласква промени от един възел към двата други възела, като по този начин се гарантира, че и трите възела съдържат едни и същи данни. Трябва да се уверите, че първичните ключове са уникални ключове, а не автоматично увеличени стойности, присвоени от базата данни, тъй като това най-вероятно ще бъде проблем в трите различни бази данни, които искате да синхронизирате.
Софтуерът инсталира тригери в базата данни и улавя промени, когато се извършват операции INSERT, UPDATE или DELETE (и други). След това тези промени в данните се извикват на другите възли. Софтуерът трябва да работи на всяко място, но не се нуждае от интернет връзка, която е налична по всяко време.
В началото се притеснявах, че тригерите на всичките ми маси ще забавят производителността, но това изобщо не беше проблем. Не мога да кажа, че сме открили проблеми с производителността след инсталирането на тригерите.
Разгледайте http://symmetricds.org/ за повече подробности.