Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


6.3.6 adbimportコマンド実行時のメモリ所要量の求め方

adbimportコマンドを実行する場合,HADBサーバは次に示すメモリを使用します。各メモリの所要量を求めてください。

■共有メモリ
  • プロセス共通メモリ(PROC_IMPORTSZ

  • リアルスレッド固有メモリ(RTHD_IMPORTSZ

■プロセスメモリ
  • ヒープメモリ(HEAP_IMPORTSZ

それぞれのメモリ所要量の計算式を次に示します。

〈この項の構成〉

(1) プロセス共通メモリの所要量の求め方(adbimportコマンド実行時)

adbimportコマンド実行時のプロセス共通メモリ(PROC_IMPORTSZ)の所要量は,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明
  • PROC_IMPT

    データインポート処理で使用するプロセス共通メモリ

    (a) 変数PROC_IMPTの求め方」を参照して求めてください。

  • PROC_IDX

    B-treeインデクスを作成するときに使用するプロセス共通メモリ

    (b) 変数PROC_IDXの求め方」を参照して求めてください。

  • PROC_IDXBUILD

    B-treeインデクスを作成するときに使用するプロセス共通メモリ

    (c) 変数PROC_IDXBUILDの求め方」を参照して求めてください。

  • PROC_RNGIDX

    レンジインデクスを作成するときに使用するプロセス共通メモリ

    (d) 変数PROC_RNGIDXの求め方」を参照して求めてください。

  • PROC_INFILE

    入力データファイル数が1,024個を超える場合に使用するプロセス共通メモリ

    (e) 変数PROC_INFILEの求め方」を参照して求めてください。

  • PROC_DBUPDINF

    DBエリア,表,インデクス,およびチャンク更新情報の格納で必要なプロセス共通メモリ

    (f) 変数PROC_DBUPDINFの求め方」を参照して求めてください。

  • PROC_RTHDUPDINF

    処理リアルスレッド更新情報

    (g) 変数PROC_RTHDUPDINFの求め方」を参照して求めてください。

注※1

B-treeインデクスを定義した表にデータインポートする場合に加算します。

注※2

レンジインデクスを定義した表にデータインポートする場合に加算します。

注※3

入力データパスファイル名に指定した入力データファイル数が1,024個を超える場合に加算します。

注※4

複数のadbimportコマンドを同時に実行する場合は,各adbimportコマンドが使用するメモリ所要量を求めてください。そして,それぞれで求めたメモリ所要量を合計してください。

(a) 変数PROC_IMPTの求め方

変数PROC_IMPTは,データインポート処理で使用するプロセス共通メモリの所要量を求めるときに使用します。次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

注※1

監査証跡機能が有効な場合に加算してください。

注※2

カラムストア表にデータインポートする場合に加算してください。

変数の説明

DICインポート対象表の定義情報を取得するためのメモリ

次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

注※1

コスト情報を収集したことがある表の場合に加算してください。

コスト情報を収集したことがある表かどうかを確認する方法については,「付録C.9 システム表の検索」の「(1) コスト情報を収集した全実表の表名と収集日時を調べる場合」を参照してください。

注※2

処理対象表がアーカイブマルチチャンク表の場合に加算してください。

col_num

インポート対象表の列数

max_rowsz

最大行長(単位:バイト)

最大行長については,「5.8.2 行の種別ごとの格納ページ数の求め方」の「(1) 基本行用ページ数(変数BP(i))の求め方」の行長ROWSZの計算式を基に求めてください。

idx_num

インポート対象表に定義されたインデクス数

IOA表に格納するデータイメージを作成するためのメモリ

次に示す計算式から求めてください。

計算式(単位:キロバイト)
IOA=
  ↑(max_rowsz+436+448×col_num+124×idx_num+4×dba_num)
    ÷1,024↑×load_rthd
LODデータの格納処理で必要となるメモリ

次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

注※1

入力データファイルに圧縮ファイル(GZIP形式)を指定したときに加算してください。

注※2

列構成情報ファイルを指定したときに加算してください。

read_size

インポートオプションadb_import_read_sizeの指定値

read_buff_num

3を代入してください。

decomp_buff_size

インポートオプションadb_import_decompress_buff_sizeの指定値

load_rthd

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1
input_file_num

1,024を代入してください。

input_edit_area

入力データの編集領域長

次に示す計算式から求めてください。

計算式

[図データ]

input_recsize

入力レコード長

  • 固定長データ形式の場合

    インポートオプションadb_import_input_record_sizeの指定値を代入してください。

  • CSV形式の場合

    次に示す計算式から求めてください。

    計算式

    [図データ]

フィールドデータ数

列構成情報ファイルに指定した各列のフィールドデータ番号,または指定を省略した際の仮定値を求めてください。その中で最大の値を代入してください。

Σ(DATASIZE)

処理対象表にある各列のデータ型のデータを文字形式で表した場合の最大長の合計

各データ型のデータを文字形式で表したときの最大長については,次に示す表から求めてください。

表6‒11 各データ型のデータを文字形式で表した場合の最大長の一覧

項番

分類

データ型

文字形式のデータ最大長

1

数データ

INTEGER

23

2

SMALLINT

13

3

DECIMAL(m,n)

m+5

4

NUMERIC(m,n)

5

DOUBLE PRECISION

511

6

FLOAT

7

文字データ

CHAR(n)

n×2+2

8

VARCHAR(n)

n×2+2

9

日時データ

DATE

12

10

TIME(p)

8+p+3

11

TIMESTAMP(p)

19+p+3

12

バイナリデータ

BINARY(n)

n×8+2

13

VARBINARY(n)

n×8+2

14

配列データ

ARRAY

要素データ型の文字形式のデータ最大長×最大要素数

(凡例)

mnp:マニュアルHADB SQLリファレンスデータ型の種類を参照してください。

IMPORTBUF_CTLデータインポートおよびインデクス作成用バッファを制御するために使用するメモリ

次に示す値を代入してください。

値(単位:キロバイト)
IMPORTBUF_CTL= ↑(248+BUFBLK)÷1,024↑×load_rthd
STSステータス情報を退避するためのメモリ

次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

idx_num

インポート対象表に定義されたインデクス数

b_tree_idx_num

インポート対象表に定義されたB-treeインデクスの数

range_idx_num

インポート対象表に定義されたレンジインデクスの数

load_rthd

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1
text_idx_num

インポート対象表に定義されたテキストインデクスの数

PAGEALLOCデータインポート用ページ割り当て制御情報

次に示す計算式から求めてください。

計算式(単位:キロバイト)
PAGEALLOCimport_rthd×310
  • import_rthd

    次に示す計算式から求めてください。

    インポートオプションadb_import_rthd_numの指定値-1
PROC_AUDINFSZ

6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(r) 変数AUDINFの求め方」にある変数PROC_AUDINFSZを参照してください。

PROC_IMPT_COLUMNカラムストア表へのデータインポートで使用するメモリ

次に示す計算式から求めてください。

計算式(単位:キロバイト)

PROC_IMPT_COLUMN=
           ↑((16,128+8×col_num)×rthd_num
          +512×(infile_numworkfile_num))÷1,024↑
col_num

インポート対象表の列数

rthd_num

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1
infile_num

入力データファイルの数

workfile_num

作業用一時ファイルの格納先ディレクトリの数

(b) 変数PROC_IDXの求め方

変数PROC_IDXは,インデクスを作成する場合に使用するプロセス共通メモリの所要量を求めるときに使用します。次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

idxf_buff_size

1,024を代入してください。

KEYSZ

B-treeインデクスのキー長(単位:バイト)

5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方」を基に,B-treeインデクスのキー長を求めてください。

なお,可変長データのB-treeインデクスのキー長を求める際は,「表5‒19 B-treeインデクスのキー長一覧」中の「実際のデータ長」を「データの定義長」で計算してください。

また,処理対象表に複数のB-treeインデクスが定義されている場合は,定義されたB-treeインデクスの中で最大のキー長を使用してください。

idx_num

処理対象表に定義されたB-treeインデクスの数

load_rthd

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1
cmd_d_opt

adbimportコマンドのオプションの指定有無,およびインポート対象表の状態によって,変数cmd_d_optの値は異なります。次に示す表に従って,変数cmd_d_optの値を求めてください。

項番

adbimportコマンドのオプションの指定有無,およびインポート対象表の状態

cmd_d_optの値

1

  • adbimportコマンドに-dオプションを指定し,-bオプションを指定しないで実行するとき

  • 行を格納するセグメントが割り当てられていない状態のインポート対象表に対して,adbimportコマンドに-dオプションと-bオプションを指定しないで実行するとき

  • マルチチャンク表に対して,adbimportコマンドに-bオプションを指定し,-dオプションを指定しないで実行するとき

1

2

行を格納するセグメントが割り当てられている状態のインポート対象表に対して,adbimportコマンドに-dオプションと-bオプションを指定しないで実行するとき

3

rd_buff_size

インポートオプションadb_import_dividx_rd_buff_sizeの指定値

ld_buff_size

インポートオプションadb_import_dividx_wt_buff_sizeの指定値

CTRL
  • インデクスのインデクス構成列が固定長の場合

    10バイトを代入してください。

  • インデクスのインデクス構成列に可変長を含む場合

    12バイトを代入してください。

text_idx_num

処理対象表に定義されたテキストインデクスの数

dividx_rthd

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1

(c) 変数PROC_IDXBUILDの求め方

変数PROC_IDXBUILDは,B-treeインデクスを作成する場合に使用するプロセス共通メモリの所要量を求めるときに使用します。

PROC_IDXBUILDの値は,adbimportコマンドの-dオプションと-bオプションの指定有無,およびインポート対象表の状態によって,次に示すどちらかになります。

PROC_IDXBUILDの値(単位:キロバイト)
PROC_IDXBUILDPROC_IDXCREATE,またはPROC_IDXCREATEPROC_IDXMAINT
PROC_IDXBUILDの値がPROC_IDXCREATEになる場合

次に示すどれかに該当するときは,PROC_IDXCREATEになります。

  • adbimportコマンドに-dオプションを指定し,-bオプションを指定しないで実行するとき

  • 行を格納するセグメントが割り当てられていない状態のインポート対象表に対して,adbimportコマンドに-dオプションと-bオプションを指定しないで実行するとき

  • マルチチャンク表に対して,adbimportコマンドに-bオプションを指定し,-dオプションを指定しないで実行するとき

PROC_IDXBUILDの値がPROC_IDXCREATEPROC_IDXMAINTになる場合

次に該当するときは,PROC_IDXCREATEPROC_IDXMAINTになります。

  • 行を格納するセグメントが割り当てられている状態のインポート対象表に対して,adbimportコマンドに-dオプションと-bオプションを指定しないで実行するとき

PROC_IDXCREATE,およびPROC_IDXMAINTは次に示す計算式から求めてください。

変数の説明

PROC_IDXCREATE次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

idx_num

インポート対象表に定義されたB-treeインデクスの数

PROC_IDXCREATE_MEM(k)

次に示す計算式から求めてください。

計算式(単位:キロバイト)

PROC_IDXCREATE_MEM(k)=
  ↑(456+256×idx_col_num+(24+144×↑idx_lv÷16↑)
   ×(dividx_rthd+1)+(KEYSZ+(idx_col_num+1)×2+12)
   ×2+page_size×2+268)÷1,024↑
idx_col_num

B-treeインデクスのインデクス構成列の数

idx_lvB-treeインデクスの段数

5.8.3 B-treeインデクスのセグメントごとの格納ページ数の求め方」の「(2) 上位ページ用のセグメントで使用する格納ページ数(変数IP_UPPER(i))の求め方」の計算式1(PIDX(k)の求め方)の漸化式を計算して,PIDX(n)=1となったときのnの値を代入してください。

ただし,PIDX(1)=1の場合は,B-treeインデクスの段数は2としてください。

dividx_rthd

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1
KEYSZB-treeインデクスのキー長(単位:バイト)

5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方」を基に,B-treeインデクスのキー長を求めてください。

なお,可変長データのB-treeインデクスのキー長を求める際は,「表5‒19 B-treeインデクスのキー長一覧」中の「実際のデータ長」を「データの定義長」で計算してください。

page_size

B-treeインデクスが定義されているデータ用DBエリアのページサイズ(単位:バイト)

6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」にある「表6‒3 DBエリアのページサイズ」のデータ用DBエリアのページサイズを参照して求めてください。

PROC_IDXMAINT次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

idx_num

インポート対象表に定義されたB-treeインデクスの数

PROC_IDXMAINT_MEM(k)

次に示す計算式から求めてください。

計算式(単位:キロバイト)

PROC_IDXMAINT_MEM(k)=
   ↑(16+(8+KEYSZidx_col_num+1)×(dividx_rthd−1)
    +528+144×idx_col_num
    +↑(KEYSZ+(idx_col_num+1)×2+12)÷8↑×8
    +(176+48×(idx_lv−1)+32×(idx_lv+1)
    +page_size×2
    +↑(KEYSZ+(idx_col_num+1)×2+3,068)÷8↑×8
    +↑(KEYSZ+(idx_col_num+1)×2+4)÷8↑×16
    +↑(KEYSZ+(idx_col_num+1)×2+12)÷8↑×8)
    ×dividx_rthd)÷1,024↑
KEYSZB-treeインデクスのキー長(単位:バイト)

5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方」を基に,B-treeインデクスのキー長を求めてください。

なお,可変長データのB-treeインデクスのキー長を求める際は,「表5‒19 B-treeインデクスのキー長一覧」中の「実際のデータ長」を「データの定義長」で計算してください。

idx_col_num

B-treeインデクスのインデクス構成列の数

dividx_rthd

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1
idx_lvB-treeインデクスの段数

5.8.3 B-treeインデクスのセグメントごとの格納ページ数の求め方」の「(2) 上位ページ用のセグメントで使用する格納ページ数(変数IP_UPPER(i))の求め方」の計算式1(PIDX(k)の求め方)の漸化式を計算して,PIDX(n)=1となったときのnの値を代入してください。

ただし,PIDX(1)=1の場合は,B-treeインデクスの段数は2としてください。

page_size

B-treeインデクスが定義されているデータ用DBエリアのページサイズ(単位:バイト)

6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」にある「表6‒3 DBエリアのページサイズ」のデータ用DBエリアのページサイズを参照して求めてください。

(d) 変数PROC_RNGIDXの求め方

変数PROC_RNGIDXは,レンジインデクスを作成する場合に使用するプロセス共通メモリの所要量を求めるときに使用します。次に示す計算式から求めてください。

計算式(単位:キロバイト)
PROC_RNGIDX= ↑64×rngidx_num÷1,024↑
変数の説明

rngidx_numインポート対象表に定義されたレンジインデクスの数

(e) 変数PROC_INFILEの求め方

変数PROC_INFILEは,入力データパスファイル名に指定した入力データファイル数が1,024個を超える場合に加算する必要があります。次に示す計算式から求めてください。

計算式(単位:キロバイト)
PROC_INFILE= ↑((16+511)×(INFMAX−1,024))÷1,024↑
変数の説明

INFMAX入力データパスファイル名に指定した入力データファイル数

(f) 変数PROC_DBUPDINFの求め方

変数PROC_DBUPDINFは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

DBUPDINF_ENT_NUM

DBエリア,表,インデクス,およびチャンク更新情報のエントリ数

次に示す計算式から求めてください。なお,マルチノード機能を使用するかどうかで,計算式が異なります。

マルチノード機能を使用しない場合の計算式(単位:個数)

[図データ]

マルチノード機能を使用する場合の計算式(単位:個数)

[図データ]

idx_num

処理対象表に定義しているB-treeインデクス数

rngidx_num

処理対象表に定義しているレンジインデクス数

txtidx_num

処理対象表に定義しているテキストインデクス数

(g) 変数PROC_RTHDUPDINFの求め方

変数PROC_RTHDUPDINFは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

rthd_num

処理リアルスレッド数

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1

(2) リアルスレッド固有メモリの所要量の求め方(adbimportコマンド実行時)

adbimportコマンド実行時のリアルスレッド固有メモリ(RTHD_IMPORTSZ)の所要量は,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明
注※1

B-treeインデクスを定義した表にデータインポートする場合に加算します。

注※2

レンジインデクスを定義した表にデータインポートする場合に加算します。

注※3

テキストインデクスを定義した表にデータインポートする場合に加算します。

(a) 変数IMPORTBUFの求め方

変数IMPORTBUFは,データインポート処理時,およびインデクスの作成時に使用するリアルスレッド固有メモリの所要量を求めるときに使用します。次に示す計算式から求めてください。

計算式(単位:キロバイト)

IMPORTBUF=
     ↑(IMP_SQBLKIMP_SQIOIMP_SQPGEIMP_SQHS)÷1,024↑

変数の説明

IMP_SQBLK次に示す計算式から求めてください。

計算式(単位:バイト)

IMP_SQBLKimp_blknum×(112+↑IMP_BLKSZ÷imp_pagesize÷64↑×24)
imp_blknum

インポートオプションadb_import_buff_blk_numの指定値

IMP_BLKSZ次に示す計算式から求めてください。
IMP_BLKSZ= 4,096×1,024
imp_pagesize

次のDBエリアのページサイズのうち,最小の値(単位:バイト)

  • 処理対象表が格納されているDBエリア

  • 処理対象表に定義されているB-treeインデクスまたはテキストインデクスが格納されているDBエリア

6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」にある「表6‒3 DBエリアのページサイズ」のデータ用DBエリアのページサイズを参照して求めてください。

IMP_SQIO次に示す計算式から求めてください。

計算式(単位:バイト)

IMP_SQIO= 568×imp_blknum
imp_blknum

インポートオプションadb_import_buff_blk_numの指定値

IMP_SQPGE次に示す計算式から求めてください。

計算式(単位:バイト)

IMP_SQPGE=
   (176+imp_pagesizeBUFLOG)×(IMP_BLKSZ÷imp_pagesize)
    ×imp_blknum
imp_pagesize

次のDBエリアのページサイズのうち,最小の値(単位:バイト)

  • 処理対象表が格納されているDBエリア

  • 処理対象表に定義されているB-treeインデクスまたはテキストインデクスが格納されているDBエリア

6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」にある「表6‒3 DBエリアのページサイズ」のデータ用DBエリアのページサイズを参照して求めてください。

BUFLOG

6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(d) 変数BUFGLOBALの求め方」の変数BUFLOGを参照してください。

IMP_BLKSZ次に示す計算式から求めてください。
IMP_BLKSZ= 4,096×1,024
imp_blknum

インポートオプションadb_import_buff_blk_numの指定値

IMP_SQHS次に示す計算式から求めてください。

計算式(単位:バイト)

IMP_SQHS= (8×imp_blknum)+(40×imp_blknum
imp_blknum

インポートオプションadb_import_buff_blk_numの指定値

(b) 変数SORTIOBUFの求め方

変数SORTIOBUFは,ソート処理時に使用するリアルスレッド固有メモリの所要量を求めるときに使用します。次に示す計算式から求めてください。

計算式(単位:キロバイト)
SORTIOBUFsort_io_buff_size

変数の説明

sort_io_buff_size

2,048を代入してください。

(c) 変数SORTBUFの求め方

変数SORTBUFは,ソート処理時のインデクス作成で使用するリアルスレッド固有メモリの所要量を求めるときに使用します。次に示す計算式から求めてください。

計算式(単位:キロバイト)
SORTBUF= 48+sort_buff_size×1,024

変数の説明

sort_buff_size

インポートオプションadb_import_sort_buff_sizeの指定値

注※

ソート処理では,作業用ワークファイルが作成されます。このファイルの容量を最小にする変数sort_buff_sizeの計算式を次に示します。変数sort_buff_sizeは,次に示す計算式を満たすようにしてください。ただし,メモリに余裕がない場合,またはほとんどのデータがインデクスキー順に並んでいる場合は,必要以上に大きな値を指定しないでください。

計算式

[図データ]

変数の説明

REC_SIZE次に示す計算式から求めてください。

計算式

REC_SIZE= (KEYSZSYS1)+SYS2
KEYSZB-treeインデクスのキー長(単位:バイト)

5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方」を基に,B-treeインデクスのキー長を求めてください。

なお,可変長データのB-treeインデクスのキー長を求める際は,「表5‒19 B-treeインデクスのキー長一覧」中の「実際のデータ長」を「データの定義長」で計算してください。

また,処理対象表に複数のB-treeインデクスが定義されている場合は,定義されたB-treeインデクスの中で最大のキー長を使用してください。

SYS1次に示す値を仮定してください。
  • インポート対象表に定義されたインデクスのインデクス構成列が固定長の場合:10

  • インポート対象表に定義されたインデクスのインデクス構成列に可変長を含む場合:12

SYS2次に示す値を仮定してください。
  • インポート対象表に定義されたインデクスが可変長の複数列インデクスの場合:(インデクス構成列数×4)

  • そのほかのインデクスの場合:0

BLK次に示す計算式から求めてください。

計算式

BLKREC_SIZE+(KEYSZ+8)+56
row_num

adbimportコマンドで表に格納する行数

KEY_INF次に示す計算式から求めてください。

計算式

KEY_INFREC_SIZE+(KEYSZ+8)+28
COL_INFO次に示す計算式から求めてください。

計算式

COL_INFO= 2,112+(MULTI_KEY_INFO×32)+(KEYSZ+8)
MULTI_KEY_INFO次に示す値を仮定してください。
  • インポート対象表に定義されたB-treeインデクスが可変長の複数列インデクスの場合:(インデクス構成列数×2)+2

  • そのほかの場合:5

(d) 変数RTHD_DATALOADの求め方

変数RTHD_DATALOADは,データインポート処理時に使用するリアルスレッド固有メモリの所要量を求めるときに使用します。次に示す計算式から求めてください。

なお,インポート対象表がローストア表の場合と,カラムストア表の場合で計算式が異なります。

■ローストア表の場合
計算式(単位:キロバイト)

[図データ]

注※1

インポート対象表にレンジインデクスが定義されている場合に加算してください。

注※2

インポート対象表が非FIX表の場合に加算してください。

注※3

アーカイブマルチチャンク表に対して,-dオプションを指定してadbimportコマンドを実行する場合に加算してください。

変数の説明
col_num

インポート対象表の列数(単位:個)

var_col_num

インポート対象表にあるVARCHAR型,およびVARBINARY型の列数(単位:個)

■カラムストア表の場合
計算式(単位:キロバイト)

[図データ]

注※

インポート対象表にレンジインデクスが定義されている場合に加算してください。

変数の説明
page_size

インポート対象表を格納するDBエリアのページサイズ(単位:バイト)

6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」にある「表6‒3 DBエリアのページサイズ」を参照してください。

col_num

インポート対象表の列数(単位:個)

SEGSIZE

DBエリアファイルを定義したDBエリアのセグメントサイズ

次に示す計算式から求めてください。

計算式(単位:ページ数)

SEGSIZE1セグメントの容量(単位:バイト)÷page_size
IMP_COLUMN

カラムストア表へのデータインポート用作業領域

次に示す計算式から求めてください。

計算式(単位:キロバイト)

IMP_COLUMN1,024×col_num
   +↑((376+16×col_num)×col_num+1,824input_recsize+8×col_num
   +MAX(input_recsize ,  2,097,152)+IMP_ERRDATA※1IMP_ARRAY※2)
   ÷1,024↑

注※1

インポートオプションadb_import_errdata_file_nameを指定し,かつCSV形式のデータをインポートする場合に加算してください。

注※2

配列型の列を定義している表にデータをインポートする場合に加算してください。

col_num

インポート対象表の列数(単位:個)

input_recsize

入力レコード長

(1) プロセス共通メモリの所要量の求め方(adbimportコマンド実行時)」の「(a) 変数PROC_IMPTの求め方」の変数LODを参照してください。

IMP_ERRDATA

エラーレコード出力用バッファ

次に示す計算式から求めてください。

計算式(単位:バイト)

IMP_ERRDATAinput_recsize×1.2
input_recsize

入力レコード長

(1) プロセス共通メモリの所要量の求め方(adbimportコマンド実行時)」の「(a) 変数PROC_IMPTの求め方」の変数LODを参照してください。

IMP_ARRAY

配列型の列にデータをインポートする際のデータインポート用作業領域

次に示す計算式から求めてください。

計算式(単位:バイト)

IMP_ARRAY=56×arr_col_num+160×col_num
arr_col_num

インポート対象表に定義されている配列型の列数(単位:個)

col_num

インポート対象表の列数(単位:個)

RTHD_DATACOMPRESS

データ圧縮用の作業領域

次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

col_num_in_table

インポート対象表の構成列数(単位:個)

col_compress_work_size(i)

各列を圧縮するのに必要な作業領域(単位:バイト)

CREATE TABLE文でインポート対象表を定義する際に,各列に指定した列データの圧縮方式によって,代入する値が異なります。次の表に示す列データの圧縮方式に対応する値を代入してください。列データの圧縮方式の指定については,マニュアルHADB SQLリファレンス定義系SQLCREATE TABLE(表の定義)を参照してください。

表6‒12 各列を圧縮するのに必要な作業領域(変数col_compress_work_sizeに代入する値)

項番

列データの圧縮方式

各列を圧縮するのに必要な作業領域(変数col_compress_work_sizeに代入する値)(単位:バイト)

1

NONE

65,552

2

RUNLENGTH

65,552

3

DICTIONARY

23,270,960

4

DELTA

65,552

5

DELTA_RUNLENGTH

65,552

6

AUTO

23,270,960

arr_col_num

インポート対象表に定義されている配列型の列数(単位:個)

page_size

インポート対象表を格納するデータ用DBエリアのページサイズ(単位:バイト)

6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」にある「表6‒3 DBエリアのページサイズ」を参照してください。

data_len(j)

j番目の配列型の列のデータ長(単位:バイト)

配列型の列のデータ長については,「6.3.4 通常運用時のメモリ所要量の求め方」の「(2) リアルスレッド固有メモリの所要量の求め方(通常運用時)」の「(c) 変数RTHD_EXESQLSZの求め方」にある「表6‒9 各データ型のデータ長の一覧」の「配列データ」を参照して求めてください。

n(j)

j番目の配列型の列の最大要素数(単位:個)

(e) 変数RTHD_IDXRECの求め方

変数RTHD_IDXRECは,B-treeインデクス作成時に使用するリアルスレッド固有メモリの所要量を求めるときに使用します。次に示す計算式から求めてください。

計算式(単位:キロバイト)
RTHD_IDXREC=
   ↑(386+328×(idx_num−1)+32×max_idx_col_num
   +(64+buf_size×1,024)×2×idx_num)÷1,024↑
変数の説明
  • idx_num

    インポート対象表に定義されたB-treeインデクスの数

  • max_idx_col_num

    インポート対象表に定義されたB-treeインデクスのインデクス構成列数の最大値

  • buf_size

    1,024を代入してください。

(f) 変数RTHD_IDXBUILDの求め方

変数RTHD_IDXBUILDは,B-treeインデクス作成時に使用するリアルスレッド固有メモリの所要量を求めるときに使用します。変数RTHD_IDXBUILDは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明
idx_num

インポート対象表に定義されたB-treeインデクスの数

RTHD_IDXBUILD_MEMk

次に示す計算式から求めてください。

計算式(単位:キロバイト)

RTHD_IDXBUILD_MEMk)=
   ↑(61,474+↑MAX(255,KEYSZ)÷2↑×2+3,070
   +↑KEYSZCTRL÷8↑×8+MAX(255,KEYSZ)
   +14+↓8+page_size×95÷100↓×2)÷1,024↑
page_size

B-treeインデクスが定義されているデータ用DBエリアのページサイズ(単位:バイト)

6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」にある「表6‒3 DBエリアのページサイズ」のデータ用DBエリアのページサイズを参照して求めてください。

KEYSZ

B-treeインデクスのキー長(単位:バイト)

5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方」を基に,B-treeインデクスのキー長を求めてください。

なお,可変長データのB-treeインデクスのキー長を求める際は,「表5‒19 B-treeインデクスのキー長一覧」中の「実際のデータ長」を「データの定義長」で計算してください。

CTRL
  • インデクス構成列のキー長がすべて固定長の場合

    10バイトを代入してください。

  • インデクス構成列のキー長に可変長を含む場合

    12バイトを代入してください。

(g) 変数RTHD_RNGIDXの求め方

変数RTHD_RNGIDXは,レンジインデクス作成時に使用するリアルスレッド固有メモリの所要量を求めるときに使用します。

次に示す計算式から求めてください。

計算式(単位:キロバイト)
RTHD_RNGIDX= ↑(16+128×rngidx_num)×load_rthd÷1,024↑

変数の説明

rngidx_num

インポート対象表に定義されたレンジインデクスの数

load_rthd

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1

(h) 変数RTHD_TXTIDXの求め方

変数RTHD_TXTIDXは,テキストインデクス作成時に使用するリアルスレッド固有メモリの所要量を求めるときに使用します。

次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

idx_num

処理対象表に定義されたテキストインデクスの数

RTHD_TXTIDXBUILD_MEM(k)

次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

buff_blk_size

4,096を代入してください。

buff_blk_num

インポートオプションadb_import_buff_blk_numの指定値

idx_div_num

k番目のテキストインデクスのインデクス構成列定義長

txt_sort_buff_size

インポートオプションadb_import_txt_buff_sizeの指定値

(3) ヒープメモリの所要量の求め方(adbimportコマンド実行時)

adbimportコマンド実行時のヒープメモリ(HEAP_IMPORTSZ)の所要量は,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

注※

複数のadbimportコマンドを同時に実行する場合は,各adbimportコマンドが使用するメモリ所要量を求めてください。そして,それぞれで求めたメモリ所要量を合計してください。

変数の説明

HEAP_ZLIB

(a) 変数HEAP_ZLIBの求め方」を参照してください。

HEAP_SRTHMEM

(b) 変数HEAP_SRTHMEMの求め方」を参照してください。

(a) 変数HEAP_ZLIBの求め方

変数HEAP_ZLIBは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

load_rthd

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1

(b) 変数HEAP_SRTHMEMの求め方

変数HEAP_SRTHMEMは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

sort_rthd

次に示す計算式から求めてください。

インポートオプションadb_import_rthd_numの指定値-1