Hitachi

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


5.8.1 データ用DBエリアの総ページ数の求め方

データ用DBエリアの総ページ数(DATA_PAGE_NUM)は,次に示す計算式から求めてください。

計算式

[図データ]

変数の説明

dbarea_file_num

データ用DBエリアファイルの数(単位:個)

page_size

ページサイズ(単位:バイト)

SEGBF

セグメントブロック化係数

データ用DBエリアのページサイズごとに異なります。次の表から求めてください。

表5‒2 データ用DBエリアのページサイズごとのセグメントブロック化係数

項番

ページサイズ(単位:キロバイト)

セグメントブロック化係数

1

4

12

2

8

42

3

16

127

4

32

341

SEGSIZE

セグメントサイズ(単位:ページ数)

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

SEGSIZE= 4,194,304÷page_size
SGDATA

データ用DBエリアのセグメント数

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

[図データ]

なお,変数SGTBL,SGIDX,SGRIX,およびSGTIXは,シングルチャンク表とマルチチャンク表で求め方が異なります。また,1つのデータ用DBエリア内に,シングルチャンク表とマルチチャンク表の両方を格納する場合,それぞれの変数SGTBL,SGIDX,SGRIX,およびSGTIXを求めて,すべて合計する必要があります。変数SGTBL,SGIDX,SGRIX,およびSGTIXの求め方を次に示します。

SGTBL(シングルチャンク表の場合)

データ用DBエリア内のデータページを管理するセグメント数

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

[図データ]

tbl_num_in_dbarea

データ用DBエリア中のすべての表数(単位:個)

BP(i)

各表を格納するために必要な基本行用ページ数

5.8.2(1) 基本行用ページ数(変数BP(i))の求め方」を参照してください。

VP(i)

各表を格納するために必要な分岐行用ページ数

5.8.2(2) 分岐行用ページ数(変数VP(i))の求め方」を参照してください。

SGIDX(シングルチャンク表の場合)

データ用DBエリア内のB-treeインデクスページを管理するセグメント数

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

[図データ]

idx_num_in_dbarea

データ用DBエリア中のすべてのB-treeインデクス数(単位:個)

IP(i)

各B-treeインデクスを格納するために必要なページ数

5.8.3 B-treeインデクスごとの格納ページ数の求め方」を参照してください。

SGRIX(シングルチャンク表の場合)

データ用DBエリア内のレンジインデクスページを管理するセグメント数

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

[図データ]

rng_num_in_dbarea

データ用DBエリア中のレンジインデクス数(単位:個)

RS(i)

各レンジインデクスを格納するために必要なセグメント数

5.8.6 レンジインデクスを格納するセグメント数の求め方」を参照してください。

SGTIX(シングルチャンク表の場合)

データ用DBエリア内のテキストインデクスページを管理するセグメント数

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

[図データ]

idx_num_in_dbarea

データ用DBエリア中のすべてのテキストインデクス数(単位:個)

TIP(i)

各テキストインデクスを格納するために必要なページ数

5.8.5 テキストインデクスごとの格納ページ数の求め方」を参照してください。

SGTBL(マルチチャンク表の場合)

データ用DBエリア内のデータページを管理するセグメント数

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

[図データ]

tbl_num_in_dbarea

データ用DBエリア中のすべての表数(単位:個)

chunk_num

作成されるアーカイブ状態ではないチャンク数(単位:個)

CHBP(i,j)

各チャンクの表を格納するために必要な基本行用ページ数

対象のチャンクに-bオプションを指定したadbimportコマンド,INSERT文,およびUPDATE文で格納するデータ量から見積もった値を代入してください。

CHVP(i,j)

各チャンクの表を格納するために必要な分岐行用ページ数

対象のチャンクに-bオプションを指定したadbimportコマンド,INSERT文,およびUPDATE文で格納するデータ量から見積もった値を代入してください。

SGLTBL(i)

i番目のアーカイブマルチチャンク表に対応するロケーション表を格納するために必要なセグメント数

アーカイブマルチチャンク表の場合に求める必要があります。

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

計算式

[図データ]

SEGSIZE

5.8.1 データ用DBエリアの総ページ数の求め方」の「SEGSIZE」を参照してください。

LBP(i)

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

計算式

[図データ]

page_size

アーカイブマルチチャンク表を定義したデータ用DBエリアのページサイズ(単位:バイト)

row_size

1行のサイズ(単位:バイト)

変数row_sizeに代入する値は,アーカイブレンジ列のデータ型によって異なります。変数row_sizeとアーカイブレンジ列のデータ型の関係を,次の表に示します。

表5‒3 変数row_sizeとアーカイブレンジ列のデータ型の関係

項番

アーカイブレンジ列のデータ型

変数row_sizeに代入する値

1

INTEGER

102

2

SMALLINT

94

3

DECIMAL(m,n)

1≦m≦4

90

4

5≦m≦8

94

5

9≦m≦16

102

6

17≦m≦38

118

7

DOUBLE PRECISION

102

8

CHARCTER(p)

88+2×p

9

DATE

94

10

TIME

104

11

TIMESTAMP

112

(凡例)

m:精度

n:位取り

p:文字列の長さ(単位:バイト)

LROWNUM

ロケーション表に格納する行数(単位:個)

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

計算式

[図データ]

archive_chunk_num

adbarchivechunkコマンドの実行回数

merge_chunk_num

adbmergechunkコマンドの実行回数

FILENUM(i)

i回目のadbarchivechunkコマンドで作成されるアーカイブファイル数の合計

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

計算式

[図データ]

FILENUM(j)

j回目のadbmergechunkコマンドでマージするアーカイブ状態のチャンクに対応するアーカイブファイル数の合計

変数FILENUM(i)の計算式を使用して求めてください。その際,「i」を「j」に置き換えてください。

chunk_num

コマンドの対象となるチャンク数(単位:個)

thd_num

次の値を代入してください。

  • adbarchivechunkコマンドで作成されるアーカイブファイル数を求める場合

    adbarchivechunkコマンド実行時のアーカイブチャンクオプションadb_arcv_scan_rthd_numの指定値

  • adbmergechunkコマンドでマージするアーカイブ状態のチャンクに対応するアーカイブファイル数を求める場合

    adbmergechunkコマンドの処理対象チャンクに対して,adbarchivechunkコマンド実行時のアーカイブチャンクオプションadb_arcv_scan_rthd_numの指定値

SGMTGRPNUM

変数SGMTGRPNUMは,変数sgmtnum_in_chunkの値で異なります。変数sgmtnum_in_chunkと変数SGMTGRPNUMの関係を,次の表に示します。

表5‒4 変数sgmtnum_in_chunkと変数SGMTGRPNUMの関係

項番

変数sgmtnum_in_chunkの値

変数SGMTGRPNUMの値(単位:個数)

1

sgmtnum_in_chunk<16

SGMTGRPNUMには,1を代入してください。

2

16≦sgmtnum_in_chunk

かつ

sgmtnum_in_chunk<32

SGMTGRPNUMには,4を代入してください。

3

32≦sgmtnum_in_chunk

かつ

sgmtnum_in_chunk<64

SGMTGRPNUMには,8を代入してください。

4

64≦sgmtnum_in_chunk

かつ

sgmtnum_in_chunk<256

SGMTGRPNUMには,16を代入してください。

5

256≦sgmtnum_in_chunk

SGMTGRPNUMは,次に示す計算式で求めてください。

[図データ]

sgmtnum_in_chunk

アーカイブ対象のチャンクの中で,最も大きな表のセグメント数

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

計算式

[図データ]

CHBP(j)

5.8.1 データ用DBエリアの総ページ数の求め方」の「SGTBL(マルチチャンク表の場合)」にある「CHBP(i,j)」を参照してください。

CHVP(j)

5.8.1 データ用DBエリアの総ページ数の求め方」の「SGTBL(マルチチャンク表の場合)」にある「CHVP(i,j)」を参照してください。

SEGSIZE

5.8.1 データ用DBエリアの総ページ数の求め方」の「SEGSIZE」を参照してください。

page_size

5.8.1 データ用DBエリアの総ページ数の求め方」の「page_size」を参照してください。

LVP(i)

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

計算式

[図データ]

SGLIDX(i)

i番目のアーカイブマルチチャンク表に対応するロケーション表に定義されたインデクスを格納するために必要なセグメント数

アーカイブマルチチャンク表の場合に求める必要があります。

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

計算式

[図データ]

LICHKIDP(i)

アーカイブファイルに対応するチャンクのチャンクIDに定義されたインデクスを格納するページ数(単位:ページ)

LIRNG01P(i)

アーカイブファイルに格納されたデータについて,アーカイブレンジ列の値の範囲(上限値と下限値)に定義されたインデクスを格納するページ数(単位:ページ)

LIRNG02P(i)

アーカイブファイルに格納されたデータについて,アーカイブレンジ列の値の下限値に定義されたインデクスを格納するページ数(単位:ページ)

LICHKIDP(i),LIRNG01P(i),およびLIRNG02P(i)については,「5.8.3 B-treeインデクスごとの格納ページ数の求め方」の変数IP(i)の計算式で求めてください。変数IP(i)の計算式を求める際,各変数には次の値を代入してください。

R

1.5を代入してください。

key_num

0を代入してください。

dup_key_num

次の計算式で求めた値を代入してください。

計算式

[図データ]

page_size

アーカイブマルチチャンク表を格納するデータ用DBエリアのページサイズを,バイト単位で代入してください。

pctfree

30を代入してください。

key_dup

0を代入してください。

KEYSZDB

次の表で該当する値を代入してください。

表5‒5 変数KEYSZDBに代入する値

項番

見積もり対象の変数

アーカイブレンジ列のデータ型

変数KEYSZDBに代入する値

1

LICHKIDP(i)

8

2

LIRNG01P(i)

INTEGER

16

3

SMALLINT

8

4

DECIMAL(m,n)

1≦m≦4

4

5

5≦m≦8

8

6

9≦m≦16

16

7

17≦m≦38

32

8

DOUBLE PRECISION

16

9

CHARACTER(p)

2×p

10

DATE

8

11

TIME

18

12

TIMESTAMP

26

13

LIRNG02P(i)

INTEGER

8

14

SMALLINT

4

15

DECIMAL(m,n)

1≦m≦4

2

16

5≦m≦8

4

17

9≦m≦16

8

18

17≦m≦38

16

19

DOUBLE PRECISION

8

20

CHARACTER(p)

p

21

DATE

4

22

TIME

9

23

TIMESTAMP

13

(凡例)

−:該当しません。

m:精度

n:位取り

p:文字列の長さ(単位:バイト)

SGIDX(マルチチャンク表の場合)

データ用DBエリア内のB-treeインデクスページを管理するセグメント数

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

[図データ]

idx_num_in_dbarea

データ用DBエリア中のすべてのB-treeインデクス数(単位:個)

chunk_num

作成されるアーカイブ状態ではないチャンク数(単位:個)

CHIP(i,j)

各チャンクのB-treeインデクスを格納するために必要なページ数

対象のチャンクに-bオプションを指定したadbimportコマンド,INSERT文,およびUPDATE文で格納するデータ量から見積もった値を代入してください。

SGRIX(マルチチャンク表の場合)

データ用DBエリア内のレンジインデクスページを管理するセグメント数

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

[図データ]

rng_num_in_dbarea

データ用DBエリア中のレンジインデクス数(単位:個)

chunk_num

作成されるアーカイブ状態ではないチャンク数(単位:個)

CHRS(i,j)

各チャンクのレンジインデクスを格納するために必要なセグメント数

対象のチャンクに-bオプションを指定したadbimportコマンド,INSERT文,およびUPDATE文で格納するデータ量から見積もった値を代入してください。

SGTIX(マルチチャンク表の場合)

データ用DBエリア内のテキストインデクスページを管理するセグメント数

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

[図データ]

idx_num_in_dbarea

データ用DBエリア中のすべてのテキストインデクス数(単位:個)

chunk_num

作成されるアーカイブ状態ではないチャンク数(単位:個)

CHTIP(i,j)

各チャンクのテキストインデクスを格納するために必要なページ数

対象のチャンクに-bオプションを指定したadbimportコマンド,INSERT文,およびUPDATE文で格納するデータ量から見積もった値を代入してください。

各チャンクの見積もりについては,「5.8.5 テキストインデクスごとの格納ページ数の求め方」を参照してください。