スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(Windows(R)用)

[目次][索引][前へ][次へ]

12.18 共用表

HiRDB/パラレルサーバの場合,複数の表を結合するとき,それぞれの表が配置されたバックエンドサーバから表データを読み込み,別のバックエンドサーバで突き合わせ処理をします。そのため,複数のサーバを接続し,データを転送する処理が発生します。このとき,結合処理のための検索範囲のデータが一つのバックエンドサーバにあれば,そのデータを共用表として作成することで一つのバックエンドサーバで結合処理が完結します。共用表とは,共用RDエリアに格納された表で,すべてのバックエンドサーバから参照できる表のことです。また,共用表に定義するインデクスを,共用インデクスといいます。共用表を更新できるのは更新可能バックエンドサーバだけです。ほかのバックエンドサーバは参照専用バックエンドサーバになります。ただし,共用表の更新には制限があるため,原則としてオンライン中は更新しないでください。共用表の更新については,「12.18.3 共用表の操作」を参照してください。共用表を使用しない結合処理を図12-29に,使用した結合処理を図12-30に示します。

図12-29 共用表を使用しない結合処理

[図データ]

〔説明〕
表Aと表Bの結合処理をします。
BES1,2:表Aからデータを取り出し,突き合わせ処理のため,BES5とBES6にデータを転送します。
BES3,4:表Bからデータを取り出し,突き合わせ処理のため,BES5とBES6にデータを転送します。
BES5,6:突き合わせ,結合処理をしてFESにデータを転送します。
FES:結合処理した結果をマージして,ユーザに結果を返します。

図12-30 共用表を使用した結合処理

[図データ]

〔説明〕
表Aと表Bの結合処理をします。共通データがある表Bを共用表とします。検索範囲はBES2,3のバックエンドサーバにあります。
BES1,4,5,6:特に処理はありません。
BES2,3:表A及び表Bからデータを取り出し,マージ処理をしてFESにデータを転送します。
FES:ユーザに結果を返します。

共用表及び共用インデクスはHiRDB/シングルサーバにも定義できます。これによって,HiRDB/パラレルサーバとSQL及びUAPの互換性を保つことができます。共用表及び共用インデクスはHiRDB/パラレルサーバで有効なので,通常はHiRDB/パラレルサーバで使用します。ここでは,HiRDB/パラレルサーバで共用表を使用する場合について説明します。HiRDB/シングルサーバで共用表を使用する場合については,「12.18.6 HiRDB/シングルサーバで共用表を使用する場合」を参照してください。

<この節の構成>
12.18.1 効果と適用基準
12.18.2 定義方法
12.18.3 共用表の操作
12.18.4 共用表の制限事項
12.18.5 定義系SQL,ユティリティ,及び運用コマンド実行時の注意
12.18.6 HiRDB/シングルサーバで共用表を使用する場合