2.3.2 RDエリア容量
Text Search Plug-inを使用する場合のRDエリア容量の見積もり方法について説明します。
見積もりの必要なRDエリア容量は,ユーザ用RDエリア,ユーザLOB用RDエリア,データディクショナリ用RDエリア,レジストリ用RDエリアおよびレジストリLOB用RDエリアの容量です。
(1) SGMLプラグインおよびn-gramインデクスプラグインの場合
(a) ユーザ用RDエリア容量
SGMLTEXT型列を定義した表を格納するユーザ用RDエリアの容量は,次の値で見積もってください。ユーザ用RDエリアの見積もり式は,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
設定個所 |
変数 |
設定値 |
---|---|---|
各列のデータ長 |
di |
26[バイト] |
(b) ユーザLOB用RDエリア容量
HiRDBのユーザLOB用RDエリアの容量の見積もりでは,次に説明するSGMLTEXTデータ格納用RDエリアとn-gramインデクス情報格納用RDエリアの容量を計算します。
- SGMLTEXTデータ格納用RDエリア
-
次の値を設定して,SGMLTEXTデータを格納するユーザLOB用RDエリアの容量を見積もってください。ユーザLOB用RDエリアの容量の見積もり式は,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
設定個所
変数
設定値
LOB列の行の総数
b
2 + 登録文書数
各BLOBデータのデータ長
Cj
次の説明を参照してください
- 一般の場合
-
Cj = ↑(docsize×2.5)/8192↑×8192+8192(j > 2)[バイト]
- DocumentBrokerを使用している場合
-
Cj = ↑(docsize×2.5)/8192↑×8192+8192+docbrodtdsize(j > 2)[バイト]
- Preprocessing Library for Text Searchを使用してXML文書を登録する場合
-
Cj = ↑(docsize×1.5)/8192↑×8192+8192(j > 2)[バイト]
docsize:1文書当たりのサイズ[バイト]
docbrodtdsize:DocumentBrokerに定義したDTDサイズ[バイト]
- n-gramインデクス情報格納用RDエリア
-
次の値を設定して,n-gramインデクス情報を格納するユーザLOB用RDエリアの容量を見積もってください。ユーザLOB用RDエリアの容量見積もり式は,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
- 注意事項
-
-
差分インデクスまたは分割遅延登録を使用する場合は,指定した差分インデクスサイズまたはインデクス分割遅延登録用領域サイズを加算したサイズとなります。
-
1つのRDエリアの最大サイズは64GBです。64GBを超える場合は表分割してください。
-
インデクスのサイズは,登録テキスト(削除更新で発生した無効部分を含む)の3〜5倍となります。
-
インデクス容量の上限は設計値であり,性能を考慮し,上限以下で分割することを推奨します。
-
1RDエリア当たりのインデクスで管理できる1つの文字および文字列を登録できる上限は約21億個です。例えば,半角数字を多く含むテキストを登録するシステムでは,表分割をしない場合,1つのインデクスには,すべての文書に含む0〜9のどれかで合計約21億文字(2GB)を超えることが想定されるときには,表分割が必要となります。
-
設定個所
変数
設定値
LOB列の行の総数
b
8
各BLOBデータのデータ長
Cj
次の説明を参照してください
- C1のサイズ
-
C1 = max((↑(24×doccnt)/8192↑+↑(4×doccnt)/(512×8192)↑
+↑(4×doccnt)/(1024×8192)↑)×8192+8192, 128000+8192)
- C2のサイズ
-
- 概念検索を使用する場合
-
C2 = 4875×8192+8192
- 概念検索を使用しない場合
-
C2 = 3750×8192+8192
- C3のサイズ
-
- 通常インデクスの場合または英文検索用インデクス(ENGLISH)の場合
-
C3 = max(↑(doccnt×docsize×3)/8192↑×8192+8192,200×1024×1024)
- インデクス作成ルール追加機能(INDEX_ALL)を使用した場合
-
C3 = max(↑(doccnt×docsize×7)/8192↑×8192+8192,200×1024×1024)
- インデクス作成ルール追加機能(INDEX_MEDIUM)または英文検索用インデクス(ENGLISH_STANDARD)を使用した場合
-
C3 = max(↑(doccnt×docsize×5)/8192↑×8192+8192,200×1024×1024)
- 文字単位インデクス作成機能(INDEX_GRAM1)を使用した場合
-
C3 = max(↑(doccnt×docsize×2)/8192↑×8192+8192,200×1024×1024)
- 検索高速化インデクス(V2)機能(INDEX_V2)を使用した場合
-
-
通常インデクスの場合
C3 = max(↑(doccnt×docsize×4)/8192↑×8192+8192,250×1024×1024)
-
インデクス作成ルール追加機能(INDEX_ALL)を使用した場合
C3 = max(↑(doccnt×docsize×9)/8192↑×8192+8192,250×1024×1024)
-
インデクス作成ルール追加機能(INDEX_MEDIUM)を使用した場合
C3 = max(↑(doccnt×docsize×7)/8192↑×8192+8192,250×1024×1024)
-
英文検索用インデクス(ENGLISH)を使用した場合
C3 = max(↑(doccnt×docsize×5)/8192↑×8192+8192,250×1024×1024)
-
英文検索用インデクス(ENGLISH_STANDARD)を使用した場合
C3 = max(↑(doccnt×docsize×8)/8192↑×8192+8192,250×1024×1024)
-
- C4のサイズ
-
C4 = 160×8192+8192
- C5のサイズ
-
C5 = 160×8192+8192
- C6のサイズ
-
- CREATEMODE=0の即時登録用インデクスおよびCREATEMODE=1の初期分割登録用インデクスの場合
-
C6 = 0
- CREATEMODE=2の分割遅延登録用インデクスの場合(DELAY_SIZE設定値のインデクス分割遅延登録用領域サイズ)
-
C6 = C1×2+1024×1024
ただし,C1中のdoccntは分割遅延登録文書数です。
- CREATEMODE=3の分割遅延登録・更新系SQL同時実行用インデクスの場合(DELAY_SIZE設定値の遅延登録時に情報を退避する領域サイズ)
-
C6 = 16×delaydoccnt+12×8192
- C7のサイズ
-
- 統合統計情報を反映していない場合
-
C7 = 0
- 統合統計情報を反映した場合(1回目)
-
C7 = ↑反映する統合統計情報ファイルサイズ(バイト)/8192↑×8192+8192
- 統合統計情報を反映した場合(2回目以降)
-
C7 = 1回目に反映したサイズ+↑(反映する統合統計情報ファイルサイズ(バイト)−1回目に反映したサイズ)/4188↑×4188
- C8のサイズ
-
- UCS4インデクスでない場合
-
C8 = 0
- UCS4インデクスの場合(初期作成)
-
C8 = 50×1024×1024
- UCS4インデクスの場合
-
次のサイズをAvailable Work Area Size(使用可能ワーク領域サイズ)※1に確保してください。
C8 = 200×1024×1024 + doccnt×1文書中のUCS4文字数※2×7
- 検索高速化インデクス(V2)機能(INDEX_V2)を使用した場合
-
-
UCS4インデクスの場合
次のサイズをAvailable Work Area Size(使用可能ワーク領域サイズ)※1に確保してください。
C8 = 350×1024×1024 + doccnt×1文書中のUCS4文字数※2×7
-
- 注※1
-
インデクス情報の取得ユティリティを使って取得したインデクス情報に表示されます。インデクス情報の取得ユティリティについての詳細は,「3.2.9 phnidxls(インデクス情報の取得ユティリティ)」を参照してください。また,HiRDBのデータベース構成変更ユティリティを使用すると,RDエリアが拡張されます。pdmod(データベース構成変更ユティリティ)については,マニュアル「HiRDB コマンドリファレンス」を参照してください。
- 注※2
-
UCS4で表現できる文字の中で,UCS2を超える範囲。
0x00010000〜0x7fffffff
doccnt:登録文書数
docsize:平均登録文書長[バイト]
delaydoccnt:分割遅延登録文書数
(c) データディクショナリ用RDエリアの容量
Text Search Plug-inで,SGMLTEXT型やNGRAMインデクス型を表に適用する場合は,次の値を設定してHiRDBのデータディクショナリ用RDエリアの容量を見積もってください。データディクショナリ用RDエリア容量の見積もり式は,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
-
設定項目
設定値
ユーザ定義型の名称長の平均値
8[バイト]
プラグインオプション指定長の平均値
72+DTD名称長+正規化パラメタ名称長
[バイト]
ユーザ定義型の総数
1[個]
1データ型当たりの属性数の平均値
1[個]
データ型識別子の長さの平均値
8[バイト]
ユーザ定義型で定義された属性数
1[個]
プラグインの総数
2[個]
プラグイン名称の長さの平均値
8[バイト]
抽象データ型/インデクス型名称の長さの平均値
8[バイト]
インデクス型の総数
1[個]
インデクス型識別子の長さの平均値
4[バイト]
抽象データ型名称の長さの平均値
8[バイト]
プラグインインデクスの総数
1[個]
インデクス型識別子の長さの平均値
4[バイト]
抽象データ型名称の長さの平均値
8[バイト]
抽象データ型で定義された属性の総数
1[個]
プラグインインデクス適用関数名称の長さの平均値
10[バイト]
1プラグインインデクス当たりの適用関数の数
30[個]
LOB列を定義した表の総数
ユーザLOB列に加えてSGMLTEXT型列を定義した表の数
1プラグイン当たりのパラメタ名称の長さの平均値
30[バイト]
プラグインライブラリパス名称の長さの平均値
255[バイト]
プラグインの注釈の長さの平均値
255[バイト]
1インデクス型当たりの適用関数の数
30[個]
サブタイプとして定義された抽象データ型の総数
0[個]
抽象データ型の総数
SGMLTEXTは1個として加算
-
設定項目
設定値
作成するユーザ定義データ型の数
1[個]
ユーザ定義データ型名称の長さの平均値
8[バイト]
1ユーザ定義データ型当たりの属性数の平均値
1[個]
ユーザ定義データ型属性名称の長さの平均値
30[バイト]
プラグイン名称の長さの平均値
8[バイト]
作成するプラグイン数
2[個]
インデクス型名称の長さの平均値
8[バイト]
プラグイン関数の数の平均値
30[個]
複数ある場合は各プラグインの適用関数の数との平均
プラグイン関数名称の長さの平均値
20[バイト]
1プラグイン関数当たりのパラメタ数の平均値
6[個]
1プラグイン関数当たりのパラメタ名称の長さの平均値
8[バイト]
(2) FREEWORDプラグインおよびIXFREEWORDプラグインの場合
(a) ユーザ用RDエリア容量
FREEWORD型列を定義した表を格納するユーザ用RDエリアの容量は,次の値で見積もってください。ユーザ用RDエリアの見積もり式は,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
設定個所 |
変数 |
設定値 |
---|---|---|
各列のデータ長 |
di |
次の説明を参照してください |
- freewordsize ≦ rdareasize − 表データの合計(各列のデータ長の総和) − 100 の場合
-
di[バイト]= freewordsize+50
- freewordsize > rdareasize − 表データの合計(各列のデータ長の総和) − 100 の場合
-
di[バイト]= 60
この場合,表の格納ページ数(ページ)に,次の値を加算してください。
↑freewordsize/rdareasize↑×freewordcnt
freewordsize:登録文字列データ長[バイト]
freewordcnt:登録文字列データ件数
rdareasize:ユーザ用RDエリアのページ長[バイト]
(b) ユーザLOB用RDエリア容量
HiRDBのユーザLOB用RDエリアの容量の見積もりでは,次に説明するIXFREEWORDインデクス情報格納用RDエリアの容量を計算します。
- IXFREEWORDインデクス情報格納用RDエリア
-
次の値を設定して,IXFREEWORDインデクス情報を格納するユーザLOB用RDエリアの容量を見積もってください。
ユーザLOB用RDエリアの容量見積もり式は,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
- 注意事項
-
-
分割遅延登録を使用する場合は,指定したインデクス分割遅延登録用領域サイズを加算したサイズとなります。
-
1つのRDエリアの最大サイズは64GBです。64GBを超える場合は表分割してください。
-
インデクスのサイズは,登録テキスト(削除更新で発生した無効部分を含む)の3〜5倍となります。
-
インデクス容量の上限は設計値であり,性能を考慮し,上限以下で分割することを推奨します。
-
1RDエリア当たりのインデクスで管理できる1つの文字および文字列を登録できる上限は約21億個です。例えば,半角数字を多く含むテキストを登録するシステムでは,表分割をしない場合,1つのインデクスには,すべての文書に含む0〜9のどれかで合計約21億文字(2GB)を超えることが想定されるときには,表分割が必要となります。
-
設定個所
変数
設定値
LOB列の行の総数
b
7
各BLOBデータのデータ長
Cj
次の説明を参照してください
- C1のサイズ
-
C1 = max((↑(24×freewordcnt)/8192↑
+↑(4×freewordcnt)/(512×8192)↑
+↑(4×freewordcnt)/(1024×8192)↑)×8192+8192, 128000
+8192)
- C2のサイズ
-
C2 = 3750×8192+8192
- C3のサイズ
-
- 通常インデクスの場合または英文検索用インデクス(ENGLISH)の場合
-
C3 = max(↑(freewordcnt×freewordsize×3)/8192↑×8192+8192,200×1024×1024)
- 英文検索用インデクス(ENGLISH_STANDARD)を使用した場合
-
C3 = max(↑(freewordcnt×freewordsize×5)/8192↑×8192+8192,200×1024×1024)
- 検索高速化インデクス(V2)機能(INDEX_V2)を使用した場合
-
-
通常インデクスの場合
C3 = max(↑(doccnt×docsize×4)/8192↑×8192+8192,250×1024×1024)
-
インデクス作成ルール追加機能(INDEX_ALL)を使用した場合
C3 = max(↑(doccnt×docsize×9)/8192↑×8192+8192,250×1024×1024)
-
インデクス作成ルール追加機能(INDEX_MEDIUM)を使用した場合
C3 = max(↑(doccnt×docsize×7)/8192↑×8192+8192,250×1024×1024)
-
英文検索用インデクス(ENGLISH)を使用した場合
C3 = max(↑(doccnt×docsize×5)/8192↑×8192+8192,250×1024×1024)
-
英文検索用インデクス(ENGLISH_STANDARD)を使用した場合
C3 = max(↑(doccnt×docsize×8)/8192↑×8192+8192,250×1024×1024)
-
- C4のサイズ
-
C4 = 160×8192+8192
- C5のサイズ
-
C5 = 160×8192+8192
- C6のサイズ
-
- CREATEMODE=0の即時登録用インデクスおよびCREATEMODE=1の初期分割登録用インデクスの場合
-
C6 = 0
- CREATEMODE=2の分割遅延登録用インデクスの場合(DELAY_SIZE設定値のインデクス分割遅延登録用領域サイズ)
-
C6 = C1×2+1024×1024
ただし,C1中のfreewordcntは分割遅延登録文書数です。
- CREATEMODE=3の分割遅延登録・更新系SQL同時実行用インデクスの場合(DELAY_SIZE設定値の分割遅延登録時に情報を退避する領域サイズ)
-
C6 = 16×delayfreewordcnt+12×8192
delayfreewordcnt:分割遅延登録文書数
- C7のサイズ
-
- UCS4インデクスでない場合
-
C7 = 0
- UCS4インデクスの場合(初期作成)
-
C7 = 50×1024×1024
- UCS4インデクスの場合
-
次のサイズをAvailable Work Area Size(使用可能ワーク領域サイズ)※1に確保してください。
C7 = 200×1024×1024 + freewordcnt×1登録文字列中のUCS4文字数※2×5
- 検索高速化インデクス(V2)機能(INDEX_V2)を使用した場合
-
-
UCS4インデクスの場合
次のサイズをAvailable Work Area Size(使用可能ワーク領域サイズ)※1に確保してください。
C7 = 350×1024×1024 + doccnt×1文書中のUCS4文字数※2×7
-
- 注※1
-
phxidxls(インデクス情報取得ユティリティ)を使って取得したインデクス情報に表示されます。HiRDBのpdmodコマンドによるRDエリアの拡張を行うと拡張されます。
- 注※2
-
UCS4で表現できる文字の中で,UCS2を超える範囲。
0x00010000〜0x7fffffff
- 英語文字列検索用インデクスの場合
-
freewordcnt:登録文字列データ件数
freewordsize:平均登録文字列データ長[バイト]
(c) データディクショナリ用のRDエリア容量
Text Search Plug-inで,FREEWORD型とIXFREEWORD型を表に適用する場合は,次の値を設定してHiRDBのデータディクショナリ用RDエリアの容量を見積もってください。データディクショナリ用RDエリア容量の見積もり式は,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
-
設定項目
設定値
ユーザ定義型の名称長の平均値
8[バイト]
プラグインオプションの平均値
80[バイト]
抽象データ型名称の長さの平均値
8[バイト]
ユーザ定義型の総数
1[個]
1データ型当たりの属性数の平均値
1[個]
データ型識別子の長さの平均値
8[バイト]
ユーザ定義型で定義された属性数
1[個]
プラグインの総数
2[個]
プラグイン名称の長さの平均値
8[バイト]
抽象データ型/インデクス型名称の長さの平均値
8[バイト]
インデクス型の総数
1[個]
インデクス型識別子の長さの平均値
4[バイト]
抽象データ型名称の長さの平均値
8[バイト]
プラグインインデクスの総数
1[個]
インデクス型識別子の長さの平均値
4[バイト]
抽象データ型名称の長さの平均値
8[バイト]
抽象データ型で定義された属性の総数
1[個]
プラグインインデクス適用関数名称の長さの平均値
10[バイト]
1プラグインインデクス当たりの適用関数の数
30[個]
1プラグイン当たりのパラメタ名称の長さの平均値
30[バイト]
プラグインライブラリパス名称の長さの平均値
255[バイト]
プラグインの注釈の長さの平均値
255[バイト]
1インデクス型当たりの適用関数の数
30[個]
サブタイプとして定義された抽象データ型の総数
0[個]
抽象データ型の総数
FREEWORDは1[個]として加算
-
設定項目
設定値
作成するユーザ定義データ型の数
1[個]
ユーザ定義データ型名称の長さの平均値
8[バイト]
1ユーザ定義データ型当たりの属性数の平均値
1[個]
ユーザ定義データ型属性名称の長さの平均値
30[バイト]
プラグイン名称の長さの平均値
8[バイト]
作成するプラグイン数
2[個]
インデクス型名称の長さの平均値
8[バイト]
プラグイン関数の数の平均値
30[個]複数ある場合は各プラグインの適用関数の数との平均
プラグイン関数名の長さの平均値
20[バイト]
1プラグイン関数当たりのパラメタ数の平均値
6[個]
1プラグイン関数当たりのパラメタ名の長さの平均値
8[バイト]