DBMotoの差分レプリケーション(ミラーリング)は、ソースDBのトランザクションログをデフォルトで1分間隔で参照し、更新対象があればターゲットDBへ反映する手法を取っています。

DBMotoは常に下記の流れで最新のトランザクションIDを保持しているため、データの整合性をとったレプリケーションが可能となります。
・ソースDBのトランザクションを参照
↓
・更新対象があればターゲットDBへ反映
↓
・DBMoto内でトランザクションIDを最新にする
↓
(以下繰り返し)
※この流れは、言い換えるとターゲットDBへ反映しなければDBMotoのトランザクションIDを更新しないことになります。
つまり、万が一ネットワーク障害等で一時的にDBMotoからDBにアクセスできない状態になった場合でもDBMoto内部のトランザクションIDは保持され続けますので、障害復旧後から正常通りレプリケーションが再開され、データの不整合は発生しません。
DBMoto内で保持されている現在のトランザクションIDはレプリケーションプロパティから確認することができます。

また、諸事情によりトランザクションIDを任意の位置に戻したり、特定の日時の位置に戻してレプリケーションをやり直すことも可能です。


RSSフィードを取得する