Linkexpress Replication optionでは、以下の単位でのレプリケーションが可能です。
レプリケーションの単位 | 説明 |
---|---|
最も基本的なレプリケーションの単位です。 | |
表を構成するDSIのうち、指定したDSIのデータだけを複写先データベースに複写します。 | |
表を構成する列のうち、指定した列のデータだけを複写先データベースに複写します。 | |
表を構成する行のうち、指定した条件を満たす行のデータだけを複写先データベースに複写します。 | |
レプリケーション対象の複数の表をグループ化して、グループ単位で一括して複写先データベースに複写します。 |
レプリケーションの単位は、抽出定義またはDBサービス定義で指定します。抽出定義とDBサービス定義については、“1.13 抽出定義とDBサービス定義”を参照してください。
レプリケーションの単位がグループではなく、単一の表やDSIである場合を“表単位のレプリケーション”と呼びます。
一方、レプリケーションの単位がグループである場合を“グループ単位のレプリケーション”と呼びます。なお、グループ化したレプリケーションの単位を“レプリケーショングループ”と呼びます。
表単位のレプリケーションでは、条件やDSI名を指定することで、指定内容に対応したデータベースを作成することができます。
例えば、条件に該当するデータを更新し、更新結果が条件外となった場合、該当する複写先データベースから当該データを削除します。逆に、更新によって条件に合致する場合は、該当する複写先データベースに、当該データを追加することで、条件に合致するデータベースを作成します。
グループ単位のレプリケーションは、一般に表と表の間にデータの参照関係がある場合に使用します。以下に例を示します。
社員表は社員の情報を管理している表です。社員が所属している部門は、部門表の部門コードで管理しています。
組織変更が行われ、部門A-1と部門A-2が部門Aに統合された場合、部門表を更新するとともに、社員表の部門コードも更新する必要があります。社員表の部門コードが部門表に存在しないといった矛盾をなくすために、このような参照関係にある表同士の更新処理は、一般的に1つのトランザクションで行います。
複写元データベースの参照関係を複写先データベースでも保証する場合、参照関係のある複数の表をレプリケーショングループとし、グループ単位のレプリケーションでレプリケーションを行います。このことで、複写元データベースの複数の表に対して行ったデータ更新が複写先システムでも矛盾なく再現されます。
参考