ページの先頭行へ戻る
PowerReplication V4.0L11 PowerReplicationユーザーズガイド V4.0

2.3.2 差分同期の仕組み

差分同期を利用して安定したシステムを構築するために、差分同期の仕組みを理解しておく必要があります。ここでは、差分同期の仕組みを説明します。


更新情報の取得方法

更新情報を取得する仕組みを説明します。


利用者プログラムが同期対象のデータファイルを更新することによって、自動的に設定されたトリガーが動作します。このトリガーが動作することによって、更新情報が更新情報ファイルに出力されます。
更新情報の取得を開始すると、トリガー機能が有効となります。更新情報の取得を停止すると、トリガー機能が無効となります。


同期対象のデータファイルにトリガーが作成されるタイミングやトリガー名は、"2.1.5 動作環境の構成"を参照してください。


なお、一括同期の場合、トリガー機能は使用されません。


差分同期で更新情報が取得、反映される動作を以下に示します。


図2.18 差分同期の動作



トリガー機能が動作しない状態では、更新情報が取得できません。この状態で、利用者プログラムから更新したデータは、差分同期を実行しても反映されません。
この場合、一括同期を行って復旧することが必要です。
トリガー機能が有効に働くDBMSの機能を使用して、データベースを運用してください。



本製品をアンインストールする場合、事前にレプリケーションの構成定義を削除してください。レプリケーションの構成定義を削除せず、本製品をアンインストールした場合、データファイルに作成されたトリガーが削除されません。
この場合、各DBMSのユーティリティを使用してトリガーを削除してください。


更新情報の取得と削除

更新情報が取得および削除されるタイミングを説明します。


更新情報の取得を停止する場合、事前に同期を実行して、対象のレプリケーショングループすべてに更新情報を反映してください。


競合の解消

PowerReplicationは、競合を検出すると、マスタまたはレプリカのどちらか一方のデータを優先して競合の解消処理を行います。優先されないデータは破棄されます。
競合を解消する方法(競合解消ルール)には、以下の3つがあります。

競合を解消する処理を以下に示します。

図2.19 競合解消の処理

すべてNULL値(反映先データの主キー以外の選択項目がすべてNULL値の場合)
主キーが存在しない(一致する主キーの値が存在しない場合)


(*1)優先したマスタまたはレプリカが反映先に存在している場合に「自システム優先」となります。

(*2)優先したマスタまたはレプリカが反映元に存在している場合に「他システム優先」となります。

(*3)マスタグループまたはレプリカグループの定義で[削除データと NULL値を同等に扱う]を設定した場合にだけ発生します。

(*4)他システムでの更新結果が自システムに反映されないため、マスタとレプリカの間でデータが不一致の状態になります。ただし、運用形態が[共用]で[競合検出を行う]場合、競合の解消によって結果的にデータが一致することがあります。



競合が発生しないようにレプリケーションの運用を設計することが重要です。
レプリケーションの運用の設計方法は、"第3章 導入/構築"を参照してください。