SymmetricDSを使用してデータベースを同期しています。定義したデータをプッシュまたはプルするだけで、ノード(サーバー/データベース)間でデータを同期または複製することができます。これはJavaをベースにしたソフトウェアであり、学習曲線は急ですが、実際に機能します。
SymmetricDSは、1つのノードから他の2つのノードに変更をプッシュするように設定できるため、3つのノードすべてに同じデータが含まれていることを確認できます。主キーが一意のキーであり、データベースによって割り当てられた自動インクリメント値ではないことを確認する必要があります。これは、同期する3つの異なるデータベース間で問題になる可能性が高いためです。
ソフトウェアはデータベースにトリガーをインストールし、INSERT、UPDATE、またはDELETE(およびその他の)操作が実行されたときに変更をキャプチャします。これらのデータ変更は、他のノードで呼び出されます。ソフトウェアは各場所で実行する必要がありますが、常に利用可能なインターネット接続は必要ありません。
最初は、すべてのテーブルでトリガーを実行するとパフォーマンスが低下するのではないかと心配していましたが、これはまったく問題ではありませんでした。トリガーをインストールした後、パフォーマンスに問題が見つかったとは言えません。
http://symmetricds.org/ をご覧ください。 詳細については。