1.5 データ同期モデル

ドライバは、直接と間接の2つのデータ同期モデルをサポートしています。いずれの用語も、同期されるデータの最終的なターゲットに関連して考えるとよくわかります。

モデル

関連付け

説明

直接

通常はビューに関連付けられる

ビューは、既存の顧客テーブルとの統合を容易にするのに最も役立つ抽象化メカニズムを提供します。

間接

通常はテーブルに関連付けられる

顧客テーブルは、ドライバによって要求される構造とはおそらく一致しません。このため、通常は、ドライバが要求する構造と一致する中間ステージングテーブルを作成する必要があります。構造が一致する可能性もありますが、きわめてまれです。

次の節では、直接および間接同期が購読者および発行者チャネルの両方でどのように機能するかを説明します。

1.5.1 間接同期

間接同期は、中間ステージングテーブルを使用して、アイデンティティボールトとデータベース間のデータを同期します。

次の図では、間接同期が購読者および発行者チャネルの両方でどのように機能するかを示します。次のシナリオでは、1つまたは複数の顧客テーブルおよび中間ステージングテーブルを保持できます。

購読者チャネル

Figure 1-2 購読者チャネルでの間接同期

購読者チャネルは、同期スキーマの中間ステージングテーブルを更新します。同期トリガは、次に、データベース内のその他の場所の顧客テーブルを更新します。

発行者チャネル

Figure 1-3 発行者チャネルでの間接同期

顧客テーブルが更新されると、同期トリガは、中間ステージングテーブルを更新します。次に、発行者トリガが1つまたは複数の行をイベントログテーブルに挿入します。発行者チャネルは、挿入された行を読み取ってアイデンティティボールトを更新します。

イベントログテーブルから読み取られる行の内容によっては、アイデンティティボールトを更新する前に、発行者チャネルで、中間テーブルから追加情報を取得することが必要になる場合があります。アイデンティティボールトを更新した後、発行者チャネルは、行を削除するか、処理済みのマークを付けます。

1.5.2 直接同期

直接同期は、一般に、ビューを使用して、Identity Managerとデータベース間のデータを同期します。JDBC用ドライバが要求する構造と一致しているテーブルであれば、それを使用できます。

次の図では、直接同期が購読者および発行者チャネルの両方でどのように機能するかを示します。次のシナリオでは、1つまたは複数の顧客ビューまたはテーブルを保持できます。

購読者チャネル

Figure 1-4 購読者チャネルでの直接同期

購読者チャネルは、同期スキーマのビューを通じて既存の顧客テーブルを更新します。

NOTE:ビューを使わない直接同期は、顧客テーブルがJDBC用ドライバで要求される構造と一致する場合のみ可能です。詳細については、間接同期を参照してください。

発行者チャネル

Figure 1-5 発行者チャネルでの直接同期

顧客テーブルが更新されると、発行者トリガは、1つまたは複数の行をイベントログテーブルに挿入します。発行者チャネルは、挿入された行を読み取ってアイデンティティボールトを更新します。

イベントログテーブルから読み取られる行の内容によっては、アイデンティティボールトを更新する前に、発行者チャネルで、ビューから追加情報を取得することが必要になる場合があります。アイデンティティボールトを更新した後、発行者チャネルは、行を削除するか、処理済みのマークを付けます。