Hitachi

ノンストップデータベース HiRDB Version 10 解説


6.8.12 BLOBデータのファイル出力機能

クライアントからHiRDBサーバに格納しているBLOBデータを検索する場合,次に示す不具合が起こります。

このようなBLOBデータ検索時のメモリ増加を防ぐため,検索したBLOBデータをクライアントに返却しないで,シングルサーバ又はフロントエンドサーバがあるユニットのファイルに出力して,サーバのIPアドレスとファイル名だけをクライアントに返却するように設定できます。この機能をBLOBデータのファイル出力機能といいます。

BLOBデータのファイル出力機能の概要を次の図に示します。

図6‒15 BLOBデータのファイル出力機能の概要

[図データ]

〔説明〕
  1. クライアントからBLOBデータを検索した場合,そのBLOBデータを1行1列ごとにファイルに出力します。

  2. 1.で出力したBLOBデータのファイル名をクライアントに返却します。

  3. 返却されたファイル名を基に,サーバ側にあるBLOBデータのファイルにアクセスします。

〈この項の構成〉

(1) 適用基準

BLOBデータを検索する場合で,メモリ所要量を削減したいときに適用します。ただし,クライアントプログラムのメモリ削減及びサーバ,クライアント間の通信バッファのメモリ削減に効果はありますが,サーバ側のディスク入出力時間と容量は増加します。メモリ所要量とディスク入出力の兼ね合いを考慮して利用してください。

(2) 指定方法

BLOBデータのファイル出力機能を使うかどうかは,SQLのWRITE指定で指定します。WRITE指定は,カーソル指定及び問い合わせ指定の中に指定できます。WRITE指定については,マニュアル「HiRDB SQLリファレンス」を参照してください。

SQLの検索結果として,サーバのIPアドレス,SQLに設定したBLOBデータの格納場所とBLOBデータのファイル名だけがクライアントで取得できます。クライアントではこれらの情報を基に,サーバに格納されたBLOBデータを特定します。

(3) BLOBデータのファイル出力機能を使用する場合の注意

(4) BLOBデータのファイル出力機能を使用した例

BLOBデータのファイル出力機能を使用した検索例を次に示します。

(a) BLOB列を検索する場合

表T1から,列C1,C2を検索します。このとき,C1のBLOBデータをファイル出力し,そのファイル名を取得します。BLOBデータのファイル出力機能を使用した検索例(BLOB列を検索する場合)を次の図に示します。

図6‒16 BLOBデータのファイル出力機能を使用した検索例(BLOB列を検索する場合)

[図データ]

(b) BLOB属性の抽象データ型を検索する場合

表T2から,CONTAINS関数が真となるADT1列を検索します。このとき,列値をEXTRACTS関数の引数に渡した結果のBLOB値をファイルに出力し,ファイル名を取得します。なお,この例は全件ヒットした場合を示します。BLOBデータのファイル出力機能を使用した検索例(BLOB属性の抽象データ型を検索する場合)を次の図に示します。

図6‒17 BLOBデータのファイル出力機能を使用した検索例(BLOB属性の抽象データ型を検索する場合)

[図データ]