• 検索結果がありません。

メモリ所要量

ドキュメント内 HiRDB Text Search Plug-in Version 10 (ページ 44-50)

2.3  リソースの見積もり

2.3.1  メモリ所要量

config 指定メモリ:n-gram インデクスプラグインの環境設定項目「一括登録時最大メモリ」の設定値

[キロバイト]

(b) データ操作(文書削除)

使用メモリ[キロバイト] = 24

(c) データ操作(インデクス情報の取得ユティリティ)

使用メモリ[メガバイト] = 2

(d) データ操作(インデクスのインクリメンタルユティリティ)

使用メモリ[メガバイト] = config 指定メモリ×10-3

• config 指定メモリ:n-gram インデクスプラグインの環境設定項目「一括登録時最大メモリ」の設定値

[キロバイト]

(e) データ操作(インデクス詰め替えユティリティ)

使用メモリ[メガバイト] = 10

(f) データ操作(統計情報収集ユティリティ)

収集モード指定:normal

使用メモリ[メガバイト] = 5

収集モード指定:all

使用メモリ[メガバイト] =config 指定メモリ×10-3

• config 指定メモリ:n-gram インデクスプラグインの環境設定項目「一括登録時最大メモリ」の設 定値[キロバイト]

(g) データ操作(統計情報統合ユティリティ)

使用メモリ[メガバイト] = 20

(h) データ操作(統計情報反映ユティリティ)

使用メモリ[メガバイト] = 10

(i) 検索

差分インデクスを使用していない場合

• 1 回の全文検索での使用メモリ[メガバイト]= min(config 指定メモリ×10-3,ヒット件数×検 索ターム数×↑検索ターム平均長/2↑×20×10-6)+ヒット件数×12×10-6+同義語異表記展開 用メモリ+ 3

• 1 回の概念検索での使用メモリ[メガバイト]= max (種文章数×種文章の平均長[バイト]×8

×10-6,min(config 指定メモリ×10-3,ヒット件数×config 検索用特徴ターム数×60×10-6))

+ヒット件数×12×10-6+同義語異表記展開用メモリ+ 3

差分インデクスを使用している場合

• 1 回の全文検索での使用メモリ[メガバイト]= min(config 指定メモリ×10-3,ヒット件数×検 索ターム数×↑検索ターム平均長/2↑×20×10-6)+ヒット件数×12×10-6+同義語異表記展開 用メモリ+ 5

• 1 回の概念検索での使用メモリ[メガバイト]= max (種文章数×種文章の平均長[バイト]×8

×10-6,min(config 指定メモリ×10-3,ヒット件数×config 検索用特徴ターム数×60×10-6))

+ヒット件数×12×10-6+同義語異表記展開用メモリ+ 5

同義語異表記展開用メモリを使用している場合

• 全文検索での同義語異表記展開用メモリ[メガバイト]=((検索ターム数×↑検索ターム平均長/

2↑×40 + 24)×平均同義語異表記展開数+ 24)×10-6

• 概念検索での同義語異表記展開用メモリ[メガバイト]=((config 検索用特徴ターム数×120 + 24)×平均同義語異表記展開数+ 24)×10-6

config 指定メモリ:n-gram インデクスプラグインの環境設定項目「検索時最大ワークメモリサイズ」の 設定値[キロバイト]

config 検索用特徴ターム数:n-gram インデクスプラグインの環境設定項目「検索用特徴ターム数」

注※ 平均同義語異表記展開数の見積もりについては,「4.3.6 異表記展開指定」を参照してください。

1SQL でプラグイン関数(contains 関数,contains_with_score 関数,および concept_with_score 関 数)を複数指定した場合

• 検索時のメモリ所要量の最大値[バイト] =「1 回の検索使用メモリ×1SQL 文中に記述したプラ グイン関数の個数」

(j) 文書抽出

反転位置情報取得をしない場合

使用メモリ[メガバイト] = docsize×3×10-6

反転位置情報取得をする場合

使用メモリ[メガバイト] = docsize×8×10-6 docsize:登録文書サイズ[バイト]

(k) 1RD エリア当たりの排他制御用共用メモリ

登録・検索同時実行を実行する場合,BES またはシングルサーバ内の n-gram インデクス用の RD エリア 単位に,次のサイズの排他制御用共用メモリが必要です。この領域は,n-gram インデクス用の共用メモ リ中に確保されます。

使用メモリ[キロバイト] = max((user_cnt×lock_obj_size×10)×10-3,8)

• user_cnt:HiRDB システムで同時に実行できるユーザ数の最大数(HiRDB 環境定義 pd_max_users 指定値)

• lock_obj_size :1 排他オブジェクト当たりのサイズ[バイト]

UNIX の場合

64 ビット版 Text Search Plug-in の場合:48 バイト 64 ビット版以外の Text Search Plug-in の場合:32 バイト

Windows の場合

32 バイト固定

(l) 共用メモリ

登録・検索同時実行を実行する場合,BES またはシングルサーバ単位に,次のサイズの共用メモリが必要 です。

使用メモリ[キロバイト] = max((rd_serve×8192×↓lock_size/8↓)/1024 +↑(32+16×

rd_serve)/8192↑×8,16)

• rd_serve:1 サーバ内の n-gram インデクス用 RD エリア数

• lock_size:n-gram インデクスプラグインの環境設定項目「1RD エリア当たりの排他制御用共用メ モリサイズ」の設定値[キロバイト]

(m) 検索時最大ワークメモリサイズ

検索高速化インデクス(V2)機能を使用する場合

検索高速化インデクス(V2)機能を使用する場合の,検索時最大ワークメモリサイズ(phn_mem_search,

または phx_mem_search)に指定するメモリ使用量の目安(最低限必要な値)を次に示します。

使用メモリ[キロバイト] = (ターム数×2)×64+( NOT 検索指定数×登録データ件数/8)/1024 注※ (ターム数×2)の最大値は 200 です。

メモリ使用量は検索条件によって異なります。検索時最大ワークメモリサイズの指定値が大きいほど,検 索性能が向上します。そのため,ここで示した値より大きな値を検索時最大ワークメモリサイズに指定す ることをお勧めします。

(2) FREEWORD プラグインと IXFREEWORD プラグインの場合

(a) データ操作(文字列データ登録/更新)

単一文字列データ登録時

分割遅延登録機能またはインデクス未定義の場合

使用メモリ[メガバイト] = fesprocess + besprocess

インデクス作成の場合

使用メモリ[メガバイト] = max(min(config 指定メモリ×10-3,freewordsize×5×

10-6),fesprocess + besprocess)

fesprocess =0

besprocess=(docsize×3)×10-6 docsize:登録文書サイズ[バイト]

config 指定メモリ:IXFREEWORD プラグインの環境設定項目「1 件登録時最大メモリ」の設定値

[キロバイト]

fesprocess:FES での使用メモリ[メガバイト]

besprocess:BES での使用メモリ[メガバイト]

freewordsize:登録文字列データ長[バイト]

複数文字列データ一括登録

CREATE INDEX,分割遅延登録時のインデクス作成の場合

使用メモリ[メガバイト] = min(config 指定メモリ×10-3,freewordsize×freewordcnt×5×

10-6

pdload の場合

使用メモリ[メガバイト] = max(freewordsize×5×FREEWORD 型定義列数×10-6,min

(config 指定メモリ×10-3, freewordsize×freewordcnt×5×10-6))

freewordsize:平均登録文字列データ長[バイト]

freewordcnt:登録文字列データ件数

config 指定メモリ:IXFREEWORD プラグインの環境設定項目「一括登録時最大メモリ」の設定値

[キロバイト]

(b) データ操作(文字列データ削除)

使用メモリ[キロバイト] = 24

(c) データ操作(インデクス情報の取得ユティリティ)

使用メモリ[メガバイト] = 2

(d) データ操作(インデクスのインクリメンタルユティリティ)

使用メモリ[メガバイト] = config 指定メモリ×10-3

• config 指定メモリ:IXFREEWORD プラグインの環境設定項目「一括登録時最大メモリ」の設定値

[キロバイト]

(e) データ操作(インデクス詰め替えユティリティ)

使用メモリ[メガバイト] = 10

(f) 検索

1 回の全文検索での使用メモリ[メガバイト]= min(config 指定メモリ×10-3,ヒット件数×検索ター ム数×↑検索ターム平均長/2↑×20×10-6)+ヒット件数×12×10-6+同義語異表記展開用メモリ+ 3 同義語異表記展開用メモリ[メガバイト]=((検索ターム数×↑検索ターム平均長/2↑×40 + 24)×平 均同義語異表記展開数+ 24)×10-6

• config 指定メモリ:IXFREEWORD プラグインの環境設定項目「検索時最大ワークメモリサイズ」の 設定値[キロバイト]

注※

平均同義語異表記展開数の見積もりについては,「4.4.4 異表記展開指定」を参照してください。

1SQL でプラグイン関数(contains 関数)を複数指定した場合

• 検索時のメモリ所要量の最大値「1 回の検索使用メモリ×1SQL 文中に記述したプラグイン関数の 個数」

(g) 文字列データ抽出

使用メモリ[メガバイト] = freewordsize×3×10-6

• freewordsize:登録文字列データ長[バイト]

(h) 1RD エリア当たりの排他制御用共用メモリ

登録・検索同時実行を実行する場合,BES またはシングルサーバ内の IXFREEWORD インデクス用の RD エリア単位に,次のサイズの排他制御用共用メモリが必要です。この領域は,IXFREEWORD インデクス 用の共用メモリ中に確保されます。

使用メモリ[キロバイト] = max((user_cnt×lock_obj_size×10)×10-3,8)user_cnt:HiRDB シ ステムで同時に実行できるユーザ数の最大数(HiRDB 環境定義 pd_max_users 指定値)

• lock_obj_size :1 排他オブジェクト当たりのサイズ[バイト]

UNIX の場合

64 ビット版 Text Search Plug-in の場合:48 バイト 64 ビット版以外の Text Search Plug-in の場合:32 バイト

Windows の場合

32 バイト固定

(i) 共用メモリ

登録・検索同時実行を実行する場合,BES またはシングルサーバ単位に次のサイズの共用メモリが必要で す。

使用メモリ[キロバイト] = max((rd_serve×8192×↓lock_size/8↓)/1024 +↑(32+16×

rd_serve)/8192↑×8,16)

• rd_serve:1 サーバ内の IXFREEWORD インデクス用 RD エリア数

• lock_size:IXFREEWORD プラグインの環境設定項目「1RD エリア当たりの排他制御用共用メモ リサイズ」の設定値[キロバイト]

(j) 検索時最大ワークメモリサイズ

検索高速化インデクス(V2)機能を使用する場合

検索高速化インデクス(V2)機能を使用する場合の,検索時最大ワークメモリサイズ(phn_mem_search,

または phx_mem_search)に指定するメモリ使用量の目安(最低限必要な値)を次に示します。

使用メモリ[キロバイト] = (ターム数×2)×64+( NOT 検索指定数×登録データ件数/8)/1024 注※ (ターム数×2)の最大値は 200 です。

メモリ使用量は検索条件によって異なります。検索時最大ワークメモリサイズの指定値が大きいほど,検 索性能が向上します。そのため,ここで示した値より大きな値を検索時最大ワークメモリサイズに指定す ることをお勧めします。

ドキュメント内 HiRDB Text Search Plug-in Version 10 (ページ 44-50)