6.12.14 更新行のカラム化機能のメンテナンス処理に必要なユーザログ容量(変数max_user_log)の求め方
更新行のカラム化機能を有効にする場合は,更新行のカラム化機能のメンテナンス処理に必要なユーザログ容量を求めてください。
更新行のカラム化機能のメンテナンス処理は,カラムストア表のチャンクごとに実行されます。そのため,更新行のカラム化機能の対象となるカラムストア表のチャンクごとにユーザログ容量(COLUMNIZELOG)を計算し,その中で最も大きい値を更新行のカラム化機能のメンテナンス処理に必要なユーザログ容量としてください。チャンクごとのユーザログ容量(COLUMNIZELOG)は,次に示す計算式から求めてください。
計算式(単位:バイト)
COLUMNIZELOG = 1,428 +(rowdata_sgmt_num×112+var_sgmt_num×1,428 +dbarea_file_num×SEGSIZE×144)×COMPRESSION_RATE +dbarea_file_num×2,080
変数の説明
- rowdata_sgmt_num
-
更新行のカラム化機能のメンテナンス処理の対象となるローデータ用セグメント数
「5.8.1 データ用DBエリアの総ページ数の求め方」の「(2) 変数の説明」の「(g) 変数SGCOLUMNTBLの求め方(マルチチャンク表の場合)」にある変数UPDATESEGNUM(i)を参照して,該当するチャンクのローデータ用セグメント数を求めてください。
- var_sgmt_num
-
作成される分岐行を格納するセグメント数
該当するチャンクにINSERT文またはUPDATE文によって追加または更新されたデータを,adbimportコマンドでインポートすると仮定して,次に示す変数を参照して求めてください。
-
「5.8.1 データ用DBエリアの総ページ数の求め方」の「(2) 変数の説明」の「(g) 変数SGCOLUMNTBLの求め方(マルチチャンク表の場合)」にある変数ROWDATASEGNUM(i,k)
-
- dbarea_file_num
-
カラムストア表が格納されるDBエリアのDBエリアファイル数
- SEGSIZE
-
セグメントサイズ(単位:ページ数)
次に示す計算式から求めてください。
SEGSIZE= 1セグメントの容量(単位:バイト)÷page_size
- page_size
-
データ用DBエリアのページサイズ(単位:バイト)
- COMPRESSION_RATE
-
元データの圧縮率
「5.8.1 データ用DBエリアの総ページ数の求め方」の「(2) 変数の説明」の「(g) 変数SGCOLUMNTBLの求め方(マルチチャンク表の場合)」にある変数COMPRESSION_RATEを参照して求めてください。
圧縮率が不明な場合は0.5を仮定してください。