4.4.1 HiRDBからHiRDBへデータ連動する場合の設計
HiRDBからHiRDBへデータ連動する場合,抽出側システムと反映側システムの対応は抽出側HiRDBがシングルサーバの場合とパラレルサーバの場合とで異なります。
抽出側HiRDBがシングルサーバの場合の対応を図4-15に,抽出側HiRDBがパラレルサーバの場合の対応を図4-16に示します。
- 〈この項の構成〉
(1) 抽出側HiRDBと抽出側Datareplicatorとの対応
抽出側HiRDBと抽出側Datareplicatorとの対応数について説明します。
(a) 抽出側HiRDBがシングルサーバの場合の対応数
抽出側HiRDB(シングルサーバ):抽出側Datareplicator=1:1
一つの抽出側HiRDBに対して,抽出側Datareplicatorは一つだけ稼働できます。また,一つの抽出側Datareplicatorに対して,抽出側HiRDBは一つだけ稼働できます。
(b) 抽出側HiRDBがパラレルサーバの場合の対応数
- 抽出側HiRDB(パラレルサーバ):抽出側Datareplicator=1:n※
-
- 注※
-
nは,1+バックエンドサーバの存在するサーバ数
一つの抽出側HiRDBに対して,抽出側Datareplicatorは,抽出側HiRDBのシステムマネジャが存在するサーバで一つと,各バックエンドサーバが存在するサーバで一つずつ稼働します。抽出側Datareplicatorは,抽出対象のDBがないバックエンドサーバが存在するサーバマシンでも,一つずつ稼働します。
逆に,一つの抽出側Datareplicatorに対して,抽出側HiRDBは一つだけ稼働できます。
(2) 抽出側Datareplicatorと反映側Datareplicatorとの対応
抽出側Datareplicatorと反映側Datareplicatorとを対応付けるために,次の項目を設計する必要があります。
(a) 対応数
抽出側Datareplicator:反映側Datareplicator=1:m
- 抽出側Datareplicator:反映側Datareplicator=n:1
-
変数
UNIX
Windows
m
1〜64※
1〜63※
n
1〜128
1〜63
- 注※
-
sendcontrolオペランドにsendmstを指定すると1〜4096の範囲になります。
一つの抽出側Datareplicatorから,複数の反映側Datareplicatorに更新情報を送信できます。HiRDBがパラレルサーバの場合には,バックエンドサーバが存在するサーバの抽出側Datareplicatorごとに,複数の反映側Datareplicatorに更新情報を送信できます。
逆に,一つの反映側Datareplicatorでは,複数の抽出側Datareplicatorからの更新情報を受信できます。さらに,一つの反映側HiRDBに複数の反映側Datareplicatorを稼働させると,128個以上(Windows版では63個以上)の抽出側システム(データ連動識別子)から更新情報を受信できるようになります。ただし,次の不具合が起こるおそれがあります。
-
反映処理の排他エラーが発生する
-
更新情報を反映する順番が保証されない
(b) 送信先識別子
抽出側Datareplicatorで更新情報の送信先を識別するための識別子を,送信先識別子といいます。抽出システム定義のsendidxxオペランド又はsendidxxxxオペランドで送信先になるすべての送信先識別子を指定し,抽出定義の送信文で,どの送信先識別子にどの更新情報を送信するのかを指定します。
送信先識別子ごとに送信環境定義を作成し,送信環境定義のsendhdsidオペランドに反映側の識別子を指定することで,送信先を識別します。また,抽出側Datareplicatorでは,この送信先識別子の単位に送信処理を起動したり,送信処理の縮退を指定したりできます。
なお,sendidxx又はsendidxxxxオペランドは,昇順に連続して指定することが必要です。運用開始後に,sendidxx又はsendidxxxxオペランドの指定を追加する場合には,抽出側及び反映側の環境の初期化が必要になります。将来の送信先の増加に備えたい場合には,sendidxx又はsendidxxxxオペランドで欠番指定(送信先識別子として**を指定する)を定義してください。欠番指定使用時は,該当の送信先を初期化するだけで,該当の送信先とのデータ連動を開始できます(抽出側及び反映側全体の環境の初期化は不要になります)。
(c) データ連動識別子
データ連動する抽出側システムと反映側システムとを対応付けるための識別子を,データ連動識別子といいます。データ連動識別子は,データ連動する抽出側システムと反映側システムとで同じ識別子を指定します。また,反映側システムでは一意になる必要があります。抽出側Datareplicatorでは,抽出環境定義のdsidオペランドで指定します。反映側Datareplicatorでは,反映システム定義のdsidxxxオペランドで指定します。
抽出側システムがHiRDBの場合,データ連動識別子は抽出単位に指定します。抽出単位とは,更新情報の抽出,送信を実現する単位です。抽出側HiRDBがシングルサーバの場合には,一つの抽出側Datareplicatorで抽出,送信を実現しています。このため,抽出側HiRDBがシングルサーバの場合には,一つの抽出側Datareplicatorが一つの抽出単位になります。一方,抽出側HiRDBがパラレルサーバの場合には,バックエンドサーバごとに存在する抽出側Datareplicatorで抽出,送信を実現しています。このため,抽出側HiRDBがパラレルサーバの場合には,バックエンドサーバごとに存在する抽出側Datareplicatorが,それぞれ抽出単位になります。
なお,dsidxxxオペランドは,昇順に連続して指定することが必要です。運用開始後に,dsidxxxオペランドの指定を増減する場合には,抽出側及び反映側の環境の初期化が必要になります。将来の抽出元の増加に備えたい場合には,dsidxxxで欠番指定(データ連動識別子として**を指定する)を定義してください。欠番指定使用時は,追加する抽出元の環境を初期化するだけで,該当の抽出元とのデータ連動を開始できます(抽出側及び反映側全体の環境の初期化は不要になります)。
(d) 抽出側Datareplicator識別子
抽出側Datareplicatorを識別するための識別子を抽出側Datareplicator識別子といいます。抽出側Datareplicator識別子は,抽出システム定義のhdeidオペランドで指定します。
(e) 反映側Datareplicator識別子
反映側Datareplicatorを識別するための識別子を反映側Datareplicator識別子といいます。反映側Datareplicator識別子は,反映システム定義のhdsidオペランドで指定します。
抽出側Datareplicatorでは,更新情報の送信先になる反映側Datareplicator識別子を,送信環境定義のsendhdsidオペランドで指定します。
(3) 反映側Datareplicatorと反映側HiRDBとの対応
反映側Datareplicatorと反映側HiRDBとを対応付けるために,次の項目を設計する必要があります。
(a) 対応数
反映側Datareplicator:反映側HiRDB=n:1
一つの反映側Datareplicatorに対して,反映側HiRDBは一つだけ稼働できます。
逆に一つの反映側HiRDBに対して,反映側Datareplicatorは複数稼働できます。
(b) HiRDB認可識別子とパスワード
反映側Datareplicatorは反映側HiRDBの1UAPとして,SQL文を発行し,反映を実現します。このため,反映側HiRDBと接続するためのHiRDB認可識別子とパスワードの指定が必要になります。HiRDB認可識別子とパスワードは,反映システム定義のhirdbusrオペランドで指定します。反映システム定義については,「5.8 反映システム定義」を参照してください。
反映側Datareplicatorの起動時に,パスワードを標準入力から入力する運用もできます。
(4) 識別子の定義例
一つの抽出側Datareplicatorから,二つの反映側Datareplicatorにデータ連動する場合の識別子の定義例を次の図に示します。
- 説明
-
-
抽出側Datareplicator識別子と反映側Datareplicator識別子を,それぞれ抽出システム定義のhdeidオペランドと反映システム定義のhdsidオペランドに指定します。
-
データ連動識別子を抽出環境定義のdsidオペランドと反映システム定義のhdsidオペランドに指定します。データ連動するシステム同士は,同じデータ連動識別子を指定します。
-
抽出システム定義のsendidxxオペランドに送信先識別子を指定します。送信先識別子ごとに送信環境定義を作成し,sendhdsidオペランドに相手システム識別子(反映側Datareplicator識別子)を指定します。
-