HiRDB の UAP の処理をトランザクションマネジャで制御するために,HiRDB はHiRDB XA ライブラリ を提供しています。HiRDB XA ライブラリは,X/Open DTP ソフトウェアアーキテクチャの XA インタ フェースの仕様に準拠しています。X/Open DTP モデルでの HiRDB の位置づけを次の図に示します。
図 2‒6 X/Open DTP モデルでの HiRDB の位置づけ
なお,X/Open XA インタフェースを使用する UAP から回復不要 FES に接続すると,SQL がエラーリ ターンします。クライアント環境定義の PDFESHOST 及び PDSERVICEGRP を指定して,回復不要 FES ではないフロントエンドサーバに接続してください。
2.3.3 HiRDB XA ライブラリが提供する機能
HiRDB XA ライブラリが提供する機能を次の表に示します。
表 2‒3 HiRDB XA ライブラリが提供する機能
機能 説明
トランザクションの移 行
トランザクションのコミット処理を UAP が HiRDB にアクセスしたときと異なるプロセスで実 行する機能です。ここでいう UAP とは,HiRDB XA ライブラリを使用して HiRDB に接続する UAP のことです。
トランザクションの移行を使用するかどうかは,クライアント環境定義の PDXAMODE オペラン ドで指定します。トランザクションの移行については,マニュアル「HiRDB Version 9 システム 導入・設計ガイド」を参照してください。
一相最適化 二相コミット制御を一相に最適化する機能です。
読み取り専用 プリペア要求で HiRDB のリソースが更新されていない場合,トランザクションマネジャが二相目 にコミット要求をしないで最適化する機能です。
動的トランザクション の登録
UAP を実行する直前に,HiRDB が動的にトランザクションを登録する機能です。
複数接続機能 一つのプロセスから HiRDB サーバに対して複数の CONNECT を別々に実行する機能です。X/
Open XA インタフェース環境下での複数接続機能については,マニュアル「HiRDB Version 9 UAP 開発ガイド」を参照してください。
注
HiRDB XA ライブラリでは,非同期 XA 呼び出し(トランザクションマネジャが非同期に HiRDB XA ライブラリを呼び出す機能)を提供していません。
2.3.4 システムの構成
OLTP を使用したシステムの構成について説明します。ここでは,OpenTP1 を例にして説明します。
(1) HiRDB/シングルサーバとの連携
HiRDB/シングルサーバと OpenTP1 を連携すると,複数の HiRDB/シングルサーバを統合化して処理を 実行できます。この場合,データベースはキーレンジ分割などで分割配置し,各サーバマシンで稼働する OpenTP1 が,各 HiRDB/シングルサーバへ処理を振り分けます。複数の HiRDB/シングルサーバを統合 化する場合には,OpenTP1 との連携をお勧めします。HiRDB/シングルサーバと OpenTP1 の連携を次 の図に示します。
図 2‒7 HiRDB/シングルサーバと OpenTP1 の連携
〔説明〕
三つのサーバマシンに,それぞれ HiRDB/シングルサーバと OpenTP1 を用意し,トランザクション処 理を各 HiRDB/シングルサーバに振り分ける構成です。
(2) HiRDB/パラレルサーバとの連携
HiRDB/パラレルサーバと OpenTP1 を連携すると,高性能なトランザクション処理を実現できます。
HiRDB/パラレルサーバと OpenTP1 の連携を次の図に示します。
2 HiRDB の付加 PP 及び関連製品との連携
33
図 2‒8 HiRDB/パラレルサーバと OpenTP1 の連携
〔説明〕
システムマネジャ,フロントエンドサーバがあるサーバマシンに OpenTP1 を用意し,トランザクショ ン処理を管理する構成です。
(3) 複数の OpenTP1 との連携
複数の OpenTP1 との連携を次の図に示します。
図 2‒9 複数の OpenTP1 との連携
〔説明〕
一つの HiRDB と三つの OpenTP1 でクライアント/サーバ型で通信し,トランザクション処理を管理 する構成です。
2.3.5 HiRDB のトランザクションマネジャへの登録
HiRDB をリソースマネジャとして,トランザクションマネジャに登録するには,次に示す方法がありま す。
動的登録
HiRDB をトランザクションマネジャに動的登録すると,トランザクション内で最初の SQL 文を発行し たときに,UAP がトランザクションマネジャの制御下に入ります。UAP が HiRDB を含む複数のリ ソースマネジャをアクセスする場合,UAP が HiRDB をアクセスするとは限らない場合などに,トラン ザクションマネジャからの HiRDB に対するトランザクション制御のオーバヘッドを削減できます。
静的登録
HiRDB をトランザクションマネジャに静的登録すると,UAP が SQL 文を発行するかどうかに関係な く,トランザクションの開始時に常にトランザクションマネジャの制御下に入ります。
トランザクションマネジャが OpenTP1 の場合,UAP と HiRDB とのコネクションが切断されたとき
(ユニットの異常終了,サーバプロセスの異常終了などのとき)に,OpenTP1 にはトランザクション 開始時に再接続をする機能があるため,UAP の再起動が不要になります。
HiRDB をトランザクションマネジャに登録する方法については,マニュアル「HiRDB Version 9 システ ム導入・設計ガイド」を参照してください。
2 HiRDB の付加 PP 及び関連製品との連携
35