ページのトップに戻る
Interstage Data Effector ユーザーズガイド

E.3 集計機能のメモリ見積り式

集計機能のメモリ見積り式について、説明します。

見積り式

記号の説明

変数

意味

単位

N

集計結果見積りレコード数(グループ数)

件数

G

グループ式に指定したグループ項目の数

A

グループ式に指定したグループ項目の平均サイズ     (注1)

バイト

M

集計式、および仮想項目定義に指定した集合関数の数と、集計式に指定した項目名、テキスト式、仮想項目の数の合計(注2)

B

集計式に指定した、集合関数以外の関数、および項目名/テキスト式/仮想項目のデータ長の合計   (注3)

バイト

L

1レコードの最大長

バイト

MM

集計機能で利用するメモリサイズ(4)

メガバイト

α

グループキーの係数     (5)

0 < α < 1

P

並列数(6)

V

仮想項目定義数

VC

仮想項目の関係式に指定するリテラルの文字数(7)の合計

-

1)

グループ式に指定したデータ長を指定します。

  • val関数、数値関数、および数値型の仮想項目の場合: 16

  • substr関数の場合: substr関数の文字列長に指定した文字数分のバイト長(平均)

  • 項目名、テキスト式、文字列型の仮想項目、およびrtrim関数の場合: 項目名、テキスト式、文字列型の仮想項目、およびrtrim関数の引数に指定した項目が示すデータのバイト長(平均)
    20を超える場合は20を指定します。

  • 日付値関数、および日付型の仮想項目の場合: 6

  • 時刻関数、および時刻型の仮想項目の場合: 3

  • 日時値関数、および日時型の仮想項目の場合: 9

2)

集計式、および仮想項目定義に指定した集合関数と、集計式に指定したその他の関数、および項目名/テキスト式/仮想項目の数を指定します。ただし重複するものは数に含めないでください。
例:集計式がsum($A)+20, sum($A)+sum($B) の場合、sum($A)とsum($B)で2となります。
例:集計式がval($C), substr($D,10), substr($D,20), $E の場合、val($C)とsubstr($D)と$Eで3となります。

3)

集計式に指定した、集合関数以外の関数、および項目名/テキスト式/仮想項目のデータ長の合計を指定します。

1つずつのデータ長は以下のように求めます。

  • 項目名/テキスト式のデータ長: 項目名/テキスト式が示すデータの文字数分のバイト長

  • 文字列型の仮想項目のデータ長: 仮想項目が示すデータの文字数分のバイト長

  • 数値型の仮想項目のデータ長: 16

  • 日付型の仮想項目のデータ長: 6

  • 時刻型の仮想項目のデータ長: 3

  • 日時型の仮想項目のデータ長: 9

集合関数以外の関数のデータ長は、関数の引数に指定した項目名/テキスト式/仮想項目のデータ長を上記に従って求めます。

4)
  • コマンドの場合
    集計条件ファイルのMemorySizeパラメタに指定された値を指定してください。

  • C APIの場合
    AsisSetEnvAnalyze関数の呼出し時に指定したMemorySizeパラメタを指定してください。

見積り式には、メガバイト値を指定してください。バイトに換算する必要はありません。
ただし、32ビット用Data Effectorを使用する場合、指定可能サイズに制限があります。詳細は、“B.3.2 集計条件ファイル”を参照ください。

5)

グループ式に指定した項目のデータの内容に依存します。

  • キーの後半に値の変化が多い場合:0.4
    例:(000001、000002、000012、000125など)

  • キーの前半に値の変化が多い場合:0.6
    例:(100-001、210-001、321-001など)

  • キーの全体に値の変化が多い場合:0.8
    例:(123456、234512、912384など)

6)
  • C APIの場合は、1を指定します。

  • コマンドの場合は、analyze用動作環境ファイルのInFileパラメタおよび、ParallelNumパラメタの指定によって決定します。詳細は“B.3.1 analyze用動作環境ファイル”のParallelNumを参照してください。

7)

リテラルのバイト数は、以下のように計算します。

  • 文字列リテラルの場合のデータ長:指定したリテラルのバイト数

  • 数値リテラルの場合のデータ長:16

  • 日付リテラルの場合のデータ長:6

  • 時刻リテラルの場合のデータ長:3

  • 日時リテラルの場合のデータ長:9

  • EMPTYの場合のデータ長:0


見積り例

集計機能のメモリ見積り例を以下に示します。

変動要因が以下の条件の場合

変数

意味

数値例

N

集計結果見積りレコード数(グループ数)

100,000件数

G

グループ式に指定したグループ項目の数

4個

A

グループ式に指定したグループ項目の平均サイズ

8バイト

M

集計式に指定した関数および項目名/テキスト式の数

8個

B

集計式に指定したval関数、substr関数、および項目名/テキスト式のデータ長の合計

160バイト

L

1レコードの最大長

2,048バイト

MM

集計機能で利用するメモリサイズ

1,000

α

グループキーの係数

0.6

P

並列数

1

V

仮想項目定義数

1個

VC

仮想項目の関係式に指定するリテラルの文字数の合計

16


注意

グループ式に指定された項目の内容(ばらつき度合い)により、実際のメモリ使用量が見積り結果より大きくなる場合があります。
そのため、必ず実機で測定し、確認してください。