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

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

19.2.3 データベース作成ユティリティ(pdload)実行時のメモリ所要量

データベース作成ユティリティ(pdload)実行時のメモリ所要量は,次に示す計算式で求めます。計算式の変数については(3)を参照してください。

<この項の構成>
(1) HiRDB/シングルサーバの場合
(2) HiRDB/パラレルサーバの場合
(3) 計算式で使用する変数

(1) HiRDB/シングルサーバの場合

条件 メモリ所要量の計算式(単位:キロバイト)
32ビットモードの場合 4352+↑{(α+γ)÷1024 }↑+1482+↑{(β+δ)÷1024 }↑
64ビットモードの場合 18050+↑{(α+γ)÷1024 }↑+1482+↑{(β+δ)÷1024 }↑

(2) HiRDB/パラレルサーバの場合

条件 メモリ所要量の計算式(単位:キロバイト)
32ビットモードの場合 MGR 1530+↑{α÷1024}↑
入力ファイルがあるサーバマシン 1577+↑{(β+δ)÷1024}↑
BES 2305+↑{γ÷1024}↑
64ビットモードの場合 MGR 4732+↑{α÷1024}↑
入力ファイルがあるサーバマシン 4663+↑{(β+δ)÷1024}↑
BES 12220+↑{γ÷1024}↑

注※
1サーバマシン内に複数のバックエンドサーバがある場合は,バックエンドサーバの数だけ繰り返し計算(加算)してください。

(3) 計算式で使用する変数

α(単位:バイト):
{3056+A+B+(516×a)+(572×b)+(312×c)+(144×d)+(8×e)+(1032×f)+(44×g)+(272×h)+(224×i)+(44×j)+(60×k)+(260×m)+(56×n)+(196×p)+(236×q)+(744×r)+(620×s)}×2

β(単位:バイト):
{6908+α+(C×t)+K+(48×a)+(22×b)+(8×e)+(240×i)+(48×j)+(4×k)+(224×m)+(47416×t)+(1032×u)+(4×v)}

γ(単位:バイト):
{37700+(α÷2)+C+D+F+H+P+Q+(80×a)+(1871×b)+(120×c)+(26×g)+(1532×i)+(36×j)+(44×k)+(1212×m)+(40×n)+(344×p)+(30×q)+(16×u)+(88×v)+(20×w)}

δ(単位:バイト):
{69436+α+D+K+L+M+N+S+(32×a)+(88×c)+(4×g)+(2156×k)+(24×t)+(1024×u)+(4×v)+(50×y)+(50×z)}

a:列数

b:抽象データ型の列数

c:コンストラクタ又は逆コンストラクタ関数のパラメタ数

d:コマンドライン及び制御情報ファイルに指定したファイルパス名の数

e:LOB中間ファイル指定数

f:列単位LOBファイル指定数

g:表格納RDエリア数

h:表の横分割条件数

i:インデクス数

j:インデクス格納RDエリア数

k:BLOB型の列数

m:プラグインインデクス数

n:LOB属性の抽象データ型を格納するユーザLOB用RDエリア数

p:プラグインが提供する関数の数

q:プラグイン提供関数のパラメタ数

r:データ型プラグイン数

s:インデクス型プラグイン数

t:表格納サーバ数

u:使用するコンストラクタ関数のパラメタのうちでBLOB型のパラメタ数

v:LOB列を格納するユーザLOB用RDエリア数

w:プラグインインデクスを格納するユーザLOB用RDエリア数

y:BINARY型の列数
skipdata制御文で入力データ中の処理対象外としたBINARYデータの列数と,実際に表に定義されている列数の合計です。

z:プラグイン提供関数のBINARY属性のパラメタ数
skipdata制御文で入力データ中の処理対象外としたプラグイン提供関数のBINARYデータの列数と,実際に表に定義されている列数の合計です。

A:コマンドライン上で指定したファイルサイズの合計

B:コマンドライン及び制御情報ファイルに指定したファイルパス名の長さの合計

C:次に示す条件を満たす場合は(pd_utl_buff_size×1024+4096)×2,そのほかの場合は0
  • HiRDB/パラレルサーバの場合
    source文に指定したサーバ名と表格納RDエリアがあるバックエンドサーバ名が異なるpdloadコマンド実行時,又は-gオプションを指定したpdrorgコマンド実行時

D:行長
表を構成する全列の定義長の合計です。ただし,BLOB型や抽象データ型は8バイトとします。BINARY型はpdloadの場合は定義長,pdrorgの場合はMIN(定義長,32500)バイトとします。また,FIX表以外は(a+1)×4を加算します。

F:550×1024+sort文に指定したワークバッファサイズ×1024+G
-iオプションにcを指定した場合に加算します。

G:256(32ビットモードの場合)又は512(64ビットモードの場合)

H:一括入出力用ローカルバッファの指定値×RDエリアのページ長×J+ランダムアクセス用ローカルバッファの指定値×RDエリアのページ長
-nオプションを指定した場合に加算します。RDエリアのページ長が横分割したRDエリアごとに異なる場合,最大のページ長で計算してください。

J:次に示す表から求めてください。
-nオプション
の指定値
表の分割種別
非分割表 キーレンジ
分割表
ハッシュ分割表
リバランスハッシュ
(HASHA〜HASHF)
非リバランス
ハッシュ
(HASH0〜
HASH6)
FIXハッシュ フレキシブルハッシュ
div指定あり 1 表のサーバ内横分割数 HiRDB/シングルサーバの場合:1024
HiRDB/パラレルサーバの場合:(↑1024÷g↑)×(該当サーバ内の表格納RDエリア数)
表のサーバ内横分割数 表のサーバ内横分割数
div指定なし 1 1

K:パラメタ長
抽象データ型に格納する値を生成するコンストラクタ関数の引数の合計長です。ただし,BLOB型のパラメタは8バイトで計算します。

L:次に示す条件をすべて満たす場合は1又は2の値を加算,そのほかの場合は0
  • source文にerrdataオペランドを指定
  • source文に指定したサーバ名と表格納RDエリアがあるバックエンドサーバ名が異なる(HiRDB/パラレルサーバの場合)
  • 表に抽象データ型の列がある又はユニークインデクスを定義している
  1. errworkオペランド指定時:errworkオペランドの指定値×1024
  2. errworkオペランド省略時:pd_utl_buff_size×1024×3×t

M:UOCのメモリ所要量
UOCを使用した場合に加算します。

N:maxreclenオペランドを指定した場合に次に示す値を加算します。
入力データファイルが拡張DAT形式のとき:
maxreclenオペランド指定値×1024
入力データファイルがDAT形式のとき:
maxreclenオペランド指定値×1024×3
対象となる表がBINARY型の列を持ち,入力データファイルがバイナリ形式のとき:
次のどちらか小さい方を加算してください。
  • maxreclenオペランド指定値×1024
  • 変数D(行長)
上記以外のとき:
0

P:プラグインのメモリ所要量
プラグインが提供する抽象データ型の列がある場合に加算します。プラグインのメモリ所要量については,プラグインのマニュアルを参照してください。
コンストラクタ関数の引数がBLOB型又はBINARY型の場合は,1行に定義されている(全抽象データ型に格納する実際のパラメタ長×2)を加算します。

Q:出力バッファ用メモリ所要量
インデクス作成方法にインデクス一括作成モード,又はインデクス情報出力モードを指定していて,次の条件を満たす場合,2メガバイトを加算します。
  • 表分割数×インデクス定義数>プロセスのオープン数の上限-576

S:(4×バッファ長+1.1)×1024
バッファ長は次の値になります(値は32キロバイト単位に切り上げてください)。
  • データベース作成ユティリティ(pdload)のoption文のfile_buff_sizeの指定値
  • 上記の指定がない場合は,システム共通定義のpd_utl_file_buff_sizeの指定値
  • 上記のどちらの指定もない場合は32