DBネイティブのトランザクションログを直接参照し、変更されたレコードを追跡する方式です。DB側のログを利用する非常にシンプルな構成です。
レプリケーション(テーブル)ごとにDBへ接続し、トランザクションログを参照します。そのため、レプリケーション数が限られていて、追加のコンポーネントをインストールしたくない場合に適しています。
Db2(AS/400) | ジャーナル・レシーバー |
---|---|
IBM Db2 LUW(Linux, Windows, AIX) | Db2ログ |
Oracle | REDOログ・アーカイブログ |
SQL Server | ログ(ディストリビュータ経由) |
MySQL/Amazon Aurora MySQL | バイナリログ |
IBM Informix | Informix ログ |
IBM PureData | PureData ログ |
PostgreSQL | WALログ |
ログ サーバー エージェントを構成したサーバーを経由してソースDBの変更されたレコードを追跡する方式です。
Windowsマシンにログ サーバー エージェント用のサービスをインストールし、このサービスがソースDBのトランザクションログを読み取り、Syniti Replicate独自のバイナリログ形式でログ サーバー エージェントマシン上に保管します。
Syniti ReplicateがソースDBではなく、ログ サーバー エージェントマシンに接続し、ソースDBの変更情報を取得することで、ソースDBへの接続を最適化し、多数の接続による負荷を軽減することができます。
ログ サーバー エージェントに対応した主なDBは次の通りです。
ソースDBにログテーブルを作成し、トリガーによってログテーブルに変更履歴を記録します。Syniti Replicateはログテーブルを参照し、変更されたレコードを追跡、ターゲットDBへ反映します。
この方式であれば、構成や権限など、何らかの理由でトランザクションログを使用できない場合でも、レプリケーションが可能です。
ただし、トリガーによるログテーブルの書き込み処理により、トランザクションログを使用する方式と比較するとDBに追加の負荷や容量が生じます。
トリガーに対応した主なDBは次の通りです。