Hitachi

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 10


2.3.3 ファイル容量

Text Search Plug-inのファイル容量の見積もり方法について説明します。

〈この項の構成〉

(1) SGMLプラグインおよびn-gramインデクスプラグインの場合

(a) 同義語辞書ファイル

同義語辞書ファイルの容量は,次に示す式で計算します。

同義語辞書容量[バイト] = (wordnum×(20+wordlen)+1000)×dicnum

  • wordnum:登録語数

  • wordlen:平均語長[バイト]

  • dicnum:登録辞書数

同義語辞書ファイルの格納場所については,表B-1および表B-3を参照してください。

(b) 概念検索用統計情報サイズ(1RDエリア当たりのphnconget結果)

収集モード指定:normal

概念検索用統計情報サイズ[バイト]=phnidxlsで表示された概念統計情報サイズ(Size of Original Concept File)×8192

収集モード指定:all

概念検索用統計情報サイズ[バイト]=phnidxlsで表示された概念統計情報サイズ(Size of Original Concept File)×8192×1.5

(c) 概念検索用統合統計情報サイズ(phnconbuild結果)

概念検索用統合統計情報サイズ[バイト] = Σ(各概念検索用統計情報サイズ)+max(各概念検索用統計情報サイズ)

(d) ログ量

ログ量は,既登録文書量や登録する文書を構成する文字列に依存します。ここでは平均値で記載します。

SGMLTEXT型列の追加

jnl[キロバイト] = 32

PURGE TABLE

jnl[キロバイト] = 48

これ以降のINSERT時,DELETE時,UPDATE時,一括更新時およびインクリメンタル処理のログ取得には,ログ取得モード,更新前ログ取得モードおよびログレスモードが指定できます。ただし,ログ取得モードでは,更新前ログ取得モードの約2倍のログ量が必要になります。ここでは更新前ログ取得モードで記載します。

INSERT時

jnl[キロバイト]

=(↑(docsize×3×10-3)/4↑+1)×4+↑(60×docsize×10-3)/4↑×4

docsize:平均登録文書サイズ[バイト]

注※

検索高速化インデクス(V2)機能使用時は,80で計算してください。ただし,英文検索用インデクスを同時に使用する場合は,100で計算してください。

DELETE時
無効文書を含む登録文書の件数が348,160件以下の場合

jnl[キロバイト]= 40

無効文書を含む登録文書の件数が348,161件以上の場合

jnl[キロバイト]= 40 + (↑(doccnt-348160)/174080↑×8)

doccnt:無効文書を含む登録文書の件数

バージョン09-05-01以降の場合

jnl[キロバイト]= 32

UPDATE時

jnl[キロバイト] = INSERTで必要分+DELETEで必要分

一括更新時(pdload,pdrorg,phnmerge,CREATE INDEX,phxstartidx)

jnl[キロバイト]

=(↑(docsize×3×10-3)/4↑+1)×4×doccnt

+↑(30×docsize×10-3×doccnt)/4↑×4

docsize:平均登録文書サイズ[バイト]

doccnt:登録文書数

注※

検索高速化インデクス(V2)機能使用時は,40で計算してください。ただし,英文検索用インデクスを同時に使用する場合は,50で計算してください。

インクリメンタル処理

jnl[キロバイト]

=↑(余剰インデクス容量×8×103)/インクリメント対象トライノード数↑

×インクリメント対象トライノード数×10

インクリメンタル処理で使用する余剰インデクス容量およびインクリメント対象トライノード数については,インデクス情報の取得ユティリティで取得できます。インデクス情報の取得ユティリティの詳細については,「3.2.9 phnidxls(インデクス情報の取得ユティリティ)」を参照してください。

インデクス詰め替え処理

jnl[キロバイト] = インデクスデータ量

統計情報反映処理

jnl[キロバイト] = 反映する統計情報サイズ+24

(2) FREEWORDプラグインおよびIXFREEWORDプラグインの場合

(a) 同義語辞書ファイル

同義語辞書ファイルの容量は,次に示す式で計算します。

同義語辞書容量[バイト] = (wordnum×(20+wordlen)+1000)×dicnum

  • wordnum:登録語数

  • wordlen:平均語長[バイト]

  • dicnum:登録辞書数

同義語辞書ファイルの格納場所については,表B-2および表B-4を参照してください。

(b) ログ量

ログ量は,既登録文字列データ量や登録する文字列の内容に依存します。ここでは平均値で記載します。

FREEWORD型列の追加

jnl[キロバイト] = 32

PURGE TABLE

jnl[キロバイト] = 48

これ以降のINSERT時,DELETE時,UPDATE時,一括更新時およびインクリメンタル処理のログ取得には,ログ取得モード,更新前ログ取得モードおよびログレスモードが指定できます。ただし,ログ取得モードでは,更新前ログ取得モードの約2倍必要になります。ここでは更新前ログ取得モードで記載します。

INSERT時

jnl[キロバイト]

=↑(freewordsize×3×10-3)/4+1↑×4

+↑(60×freewordsize×10-3)/4↑×4

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

注※

検索高速化インデクス(V2)機能使用時は,80で計算してください。ただし,英文検索用インデクスを同時に使用する場合は,100で計算してください。

DELETE時
無効文書を含む登録文書の件数が348,160件以下の場合

jnl[キロバイト]= 40

無効文書を含む登録文書の件数が348,161件以上の場合

jnl[キロバイト]= 40 + (↑(doccnt-348160)/174080↑×8)

doccnt:無効文書を含む登録文書の件数

バージョン09-05-01以降の場合

jnl[キロバイト]= 32

UPDATE時

jnl[キロバイト] = INSERTで必要分+DELETEで必要分

一括更新時(pdload,pdrorg,phnmerge,CREATE INDEX)

jnl[キロバイト]

=↑(freewordsize×3×10-3)/4+1↑×4×freewordcnt

+↑(30×freewordsize×10-3×doccnt)/4↑×4

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

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

doccnt:登録文書数

注※

検索高速化インデクス(V2)機能使用時は,40で計算してください。ただし,英文検索用インデクスを同時に使用する場合は,50で計算してください。

インクリメンタル処理

jnl[キロバイト]

=↑(余剰インデクス容量×8×103)/インクリメント対象トライノード数↑

×インクリメント対象トライノード数×10

インクリメンタル処理で使用する余剰インデクス容量およびインクリメント対象トライノード数については,インデクス情報の取得ユティリティで取得できます。インデクス情報の取得ユティリティの詳細については,「3.3.5 phxidxls(インデクス情報の取得ユティリティ)」を参照してください。

インデクス詰め替え処理

jnl[キロバイト] = インデクスデータ量