Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


3.6.2 ユティリティ実行時のメモリ所要量の見積もり

〈この項の構成〉

(1) HiRDB/SDデータベース作成ユティリティ(pdsdblod)実行時のメモリ所要量

HiRDB/SDデータベース作成ユティリティ(pdsdblod)実行時のメモリ容量の計算式を次の表に示します。

表3‒39 メモリ所要量(pdsdblod)

項目

メモリ所要量の計算式(キロバイト)

コマンドプロセス(pdsdblod)が使用するプロセス固有領域

49,000+4.7+luntsvr+lsdbcpc+lsdbdir+dbs

ユティリティサーバプロセス(pdsdblodm)が使用するプロセス固有領域

58,900+0.6+luntsvr+lsdbcpc+lsdbdir

ユーザサーバプロセス(pdbes)が使用するプロセス固有領域

94,900+0.3+luntsvr+lsdbcpc+lsdbdir+dbs+lload+lloada+lfwrt+lindx+lindxa+lscana+lpurge

計算式中で使用している変数の値および意味を次に示します。

変数

変数の値および意味

luntsvr

0.02+(unit×0.04)+(1+ds+fes+bes)×0.05

  • unit:全ユニット数

  • ds:全ディクショナリサーバ数

  • fes:全フロントエンドサーバ数

  • bes:全バックエンドサーバ数

lsdbcpc

9.6+0.1×recara+0.2×rec

  • recara:格納対象の格納レコード用RDエリア数

  • rec:格納対象SDBデータベースの全レコード型数

lsdbdir

0.18+0.05×area+0.05×set+0.06×rec+0.06×cmp+0.14×recara+0.07×(1+secidx)

  • area:格納対象SDBデータベースの全RDエリア数

  • set:格納対象SDBデータベースの全親子集合の数

  • rec:格納対象SDBデータベースの全レコード型数

  • cmp:格納対象SDBデータベースの全構成要素数

    SDBデータベース定義でOCCURS句を指定する場合,システム内で生成される構成要素数を含みます。

  • recara:lsdbcpcで記載したrecaraと同じです。

  • secidx:格納対象SDBデータベースの全二次インデクス数

dbs

SDBデータベース情報長(単位:キロバイト)

3.4.2(2)(a) SDBディレクトリ情報長の計算式」の変数dbsの説明を参照してください。

lload

インデクス再作成機能を実行しない場合に加算します。

40.3+lmaxrec+0.02×recara+0.01×divrec+2×lbuf+lstor

lloada

インデクス再作成機能を実行しない場合に加算します。

↑((128+24×recarea)÷1,024)↑

  • recarea:格納対象の格納レコード用RDエリア数

lfwrt

フォーマットライトまたはインデクス再作成機能を実行しない場合に加算します。

2×lmaxrec+0.1×lkeydef

  • lmaxrec:lloadで記載したlmaxrecと同じです。

  • lkeydef:SDBデータベース格納定義のKEYDEF DATAに指定した数

lindx

インデクス一括作成モードでインデクスを作成またはインデクス再作成機能を実行する場合に加算します。

1.5+(linxf+0.1+0.1×inxkey)×(1+secidx)×inxara+lsort

  • linxf:インデクス情報ファイルの絶対パス名長

  • inxkey:各インデクスキーの構成要素数

  • secidx:lsdbdirで記載したsecidxと同じです。

  • inxara:格納対象のインデクス格納用RDエリア数

  • lsort:idxload文sortdirオペランドのソート用バッファサイズ指定値(省略時は1)

lindxa

インデクス一括作成モードでインデクスを作成またはインデクス再作成機能を実行する場合に加算します。

↑((4,424+16×(rec+idx+2)+8×idx×(recarea+2)+8,256×MIN(idx×recarea, 7,000))÷1,024)↑

  • rec:格納対象SDBデータベースの全レコード型数

  • idx:格納対象SDBデータベースの全インデクス数

  • recarea:格納対象の格納レコード用RDエリア数

lscana

追加データロードまたはインデクスの再作成を実行する場合に加算します。

↑{(56,290+2×xpgsz+24×recarea2+2×rec2)÷1024}↑

  • xpgsz:インデクスを格納しているRDエリアの中で最大のページサイズ

  • recarea2:格納対象の格納レコード用RDエリア数(インデクスの再作成の場合は1)

  • rec2:格納対象のSDBデータベースの全レコード型数(インデクスの再作成の場合は1)

lpurge

environment文のpurgeオペランドにyesを指定する場合に加算します。

2.3+0.01×recara+(0.3+0.1×inxkey)×(1+secidx)×inxara

  • recara:lsdbcpcで記載したrecaraと同じです。

  • inxkey:lindxで記載したinxkeyと同じです。

  • secidx:lsdbdirで記載したsecidxと同じです。

  • inxara:lindxで記載したinxaraと同じです。

(2) HiRDB/SDデータベース再編成ユティリティ(pdsdbrog)実行時のメモリ所要量

HiRDB/SDデータベース再編成ユティリティ(pdsdbrog)実行時のメモリ容量の計算式を次の表に示します。

表3‒40 メモリ所要量(pdsdbrog)

項目

メモリ所要量の計算式(キロバイト)

コマンドプロセス(pdsdbrog)が使用するプロセス固有領域

49,100+4.5+runtsvr+rsdbcpc+rsdbdir+rsdbrog+dbs+rgen

ユティリティサーバプロセス(pdsdbrogm)が使用するプロセス固有領域

58,900+0.6+runtsvr+rsdbrog

ユーザサーバプロセス(pdbes)が使用するプロセス固有領域

93,600+0.3+rsdbcpc+rsdbrog+dbs+runlod

計算式中で使用している変数の値および意味を次に示します。

変数

変数の値および意味

runtsvr

0.02+(unit×0.04)+(1+ds+fes+bes)×0.05

  • unit:全ユニット数

  • ds:全ディクショナリサーバ数

  • fes:全フロントエンドサーバ数

  • bes:全バックエンドサーバ数

rsdbcpc

[図データ]

  • idxara:アンロード対象エリアに対応するSDBデータベース格納定義のSTORAGE RECORD句下にあるSEQUENTIAL句下のWITHIN句に指定したシーケンシャルインデクス用RDエリア数と,SECONDARY INDEX句下にあるWITHIN句に指定した二次インデクス用RDエリア数の和

    同一RDエリア名はカウントしません(重複排除)。

  • rec:SDBデータベース定義のRECORD句の指定数(レコード型の数)

  • CMPi:SDBデータベース定義のRECORD句で指定した構成要素数

    集団項目を含みます。また,SDBデータベース定義でOCCURS句を指定する場合,システム内で生成される構成要素数を含みます。

rsdbdir

0.18+0.05×rec+0.14×1+(0.07×(seqidx+secidx)×rec)

  • rec:rsdbcpcで記載したrecと同じです。

  • seqidx:対応するSDBデータベース格納定義のSTORAGE RECORD句下にあるSEQUENTIAL句の指定数

  • secidx:対応するSDBデータベース格納定義のSTORAGE RECORD句下にあるSECONDARY INDEX句の指定数

rsdbrog

2.32+(1+idxara)×0.17

  • idxara:rsdbcpcで記載したidxaraと同じです。

dbs

SDBデータベース情報長(単位:キロバイト)

3.4.2(2)(a) SDBディレクトリ情報長の計算式」の変数dbsの説明を参照してください。

rgen

0.04+{0.1×(allara+1+idxara)}

  • allara:対応するSDBデータベース格納定義に指定したRDエリア数。同一RDエリア名はカウントしません(重複排除)。

  • idxara:rsdbcpcで記載したidxaraと同じです。

runlod

0.6+rsdi+rrecun+rwrite+rdml

  • rsdi:0.8+maxrl

  • maxrl:SDBデータベースで最大のレコード長

  • rrecun:0.04+prefix×0.01+maxrl

  • prefix:制御文ファイルのprefixオペランド指定値

  • maxrl:rsdiで記載したmaxrlと同じです。

  • rwrite:8.02+fbuff×2

  • fbuff:システム共通定義のpd_utl_file_buff_sizeオペランド指定値

  • rdml:「3.4.3 プロセス固有メモリの見積もり」から算出してください。使用するpdbesの値を次に示します。

    ・個別開始要求回数:1

    ・API個別算出式 = FETCH算出式

注※

格納レコード用RDエリア数と,シーケンシャルインデクス用RDエリア数と,二次インデクス用RDエリア数の総和

(3) HiRDB/SDデータベースアクセスユティリティ(pdsdbexe)実行時のメモリ所要量

HiRDB/SDデータベースアクセスユティリティ(pdsdbexe)実行時のメモリ容量の計算式を次の表に示します。

表3‒41 メモリ所要量(pdsdbexe)

項目

メモリ所要量の計算式(キロバイト)

コマンドプロセス(pdsdbexe)が使用するプロセス固有領域

255+66×l_cmd+0.2×n_sdb+30.3×n_rec

+0.1×n_cmp+dbs

コマンドプロセス(pdsdbexe)が使用する仮想メモリサイズ

41,400

計算式中で使用している変数の値および意味を次に示します。

変数

変数の値および意味

l_cmd

{pdsdbexe操作コマンドの文字列長の最大長(バイト)÷65,536}+1

n_sdb

SDBデータベース数

n_rec

SDBデータベース内のレコード数

n_cmp

SDBデータベース内の構成要素数(集団項目を含んだ値)

dbs

SDBデータベース情報長(1SDBデータベース情報のサイズ)(単位:キロバイト)

-dオプションにSDを指定した場合に加算します。

SDBデータベース情報長の求め方については,「3.4.2(2)(a) SDBディレクトリ情報長の計算式」を参照してください。

(4) データベース複写ユティリティ(pdcopy)実行時のメモリ所要量

データベース複写ユティリティ実行時のメモリ所要量については,マニュアル「HiRDB システム導入・設計ガイド」の「データベース複写ユティリティ(pdcopy)実行時のメモリ容量」を参照してください。

(5) データベース回復ユティリティ(pdrstr)実行時のメモリ所要量

データベース回復ユティリティ(pdrstr)実行時のメモリ所要量については,マニュアル「HiRDB システム導入・設計ガイド」の「データベース回復ユティリティ(pdrstr)実行時のメモリ容量」を参照してください。

(6) データベース状態解析ユティリティ(pddbst)実行時のメモリ所要量

データベース状態解析ユティリティ(pddbst)実行時のメモリ所要量については,マニュアル「HiRDB システム導入・設計ガイド」の「データベース状態解析ユティリティ(pddbst)実行時のメモリ所要量」を参照してください。

なお,参照する際,「計算式で使用する変数」については,次の変数を使用してください。

(7) DMLプリプロセサ(pdsdbcbl)実行時のメモリ所要量【SD FMB】

DMLプリプロセサ(pdsdbcbl)実行時のメモリ容量の計算式を次の表に示します。

表3‒42 メモリ所要量(pdsdbcbl)

項目

メモリ所要量の計算式(キロバイト)

コマンドプロセス(pdsdbcbl)が使用するプロセス固有領域

[図データ]

コマンドプロセス(pdsdbcbl)が使用する仮想メモリサイズ

23,000

計算式中で使用している変数の値および意味を次に示します。

変数

変数の値および意味

dbn

SDBデータベース節に指定したSDBデータベースの数

dbs

SDBデータベース節に指定したSDBデータベースのSDBデータベース情報長

SDBデータベース情報長の求め方については,「3.4.2(2)(a) SDBディレクトリ情報長の計算式」を参照してください。

prgn

UAPソースファイル内のプログラム数

varn

UAPソースファイル内の変数の数