ページの先頭行へ戻る
Symfoware Server V10.0.0 セットアップガイド

E.3 ログ量の見積り式

ログ量の見積り式について以下に示します。

ここで見積もるログ量は、アプリケーションによるデータベース更新で出力されるログ量です。ログ量は、テンポラリログファイルおよびアーカイブログファイルを見積もるための基礎値となります。

ログ量は、“レコード長”をベースに求めます。

厳密には、データベースの更新以外(データベースの定義、DSIの動的容量拡張など)にもログが取得されますが、概算としては“レコード長”と“更新回数”から求めることができます。

BIログ量

トランザクション単位のBIログ量は、以下の式で見積もります。

なお、算出したトランザクションのBIログ量に、安全率(1.3)を乗算することをお勧めします。

トランザクションのBIログ量 = 表更新のBIログ量
                                + インデックス更新のBIログ量
表更新のBIログ量
表更新のBIログ量 = ΣINSERT文のBIログ量
                   + ΣDELETE文のBIログ量
                   + ΣUPDATE文のBIログ量

  ΣINSERT文のBIログ量: INSERT文単位にBIログ量を求め、
                        トランザクション内で実行するINSERT文の
                        BIログ量を合計します。
  ΣDELETE文のBIログ量: DELETE文単位にBIログ量を求め、
                        トランザクション内で実行するDELETE文の
                        BIログ量を合計します。
  ΣUPDATE文のBIログ量: UPDATE文単位にBIログ量を求め、
                        トランザクション内で実行するUPDATE文の
                        BIログ量を合計します。

レコード長を“TL”とすると、BIログ量は以下の値となります。

INSERT文のBIログ量 = 100

DELETE文のBIログ量 = TL + 100

UPDATE文のBIログ量 = TL + 100
インデックス更新のBIログ量

XML構造を使用する場合は、“BTREE構造”を“XML構造”に置き換えて読んでください。

参照

ページ内エントリ数の見積りについては、“RDB運用ガイド(XMLアダプタ編)”の“XMLデータのインデックスの容量見積り”を参照してください。

インデックス更新のBIログ量 = ΣINSERT文のBIログ量
                               + ΣDELETE文のBIログ量
                               + ΣUPDATE文のBIログ量
                               + ページ分割およびページ縮退のBIログ量

  ΣINSERT文のBIログ量: INSERT文単位にBIログ量を求め、
                        トランザクション内で実行するINSERT文の
                        BIログ量を合計します。
  ΣDELETE文のBIログ量: DELETE文単位にBIログ量を求め、
                        トランザクション内で実行するDELETE文の
                        BIログ量を合計します。
  ΣUPDATE文のBIログ量: UPDATE文単位にBIログ量を求め、
                        トランザクション内で実行するUPDATE文の
                        BIログ量を合計します。

インデックスのレコード長(エントリ長)を“XL”とすると、BIログ量は以下の値となります。

INSERT文のBIログ量 = XL + 102

DELETE文のBIログ量 = XL + 102

UPDATE文のBIログ量 = (XL + 102) × 2

また、インデックスではページ分割、ページ縮退といった処理が不定期に実行されます。このときのBIログ量の概算は、以下の式で見積もります。

ページ分割およびページ縮退のBIログ量 = (168 + ページ長 ×2) × ページ操作回数

  ページ長      : BTREE構造のデータ部のページ長です。
  ページ操作回数: BTREE構造のデータ部のページ操作回数です。

ページ操作回数は、以下の式で算出します。

小数点以下は、整数に切り上げます。

ページ操作回数 = 更新レコード数
                 / (ページ内エントリ数 × ページ操作発生係数)

  更新レコード数    : トランザクション内で更新(INSERT文、UPDATE文、
                      DELETE文)するインデックスのレコード数
                      (エントリ数)です。
  ページ操作発生係数: 概算として0.5を指定してください。
  ページ内エントリ数: “RDB運用ガイド(データベース定義編)”の
                     “データベーススペースの所要量の見積り”の
                     “BTREE構造のデータ部”を参照してください。

AIログ量

トランザクション単位のAIログ量は、以下の式で見積もります。

なお、算出したトランザクションのAIログ量に、安全率(1.3)を乗算することをお勧めします。

トランザクションのAIログ量 = 表更新のAIログ量
                               + インデックス更新のAIログ量
表更新のAIログ量
表更新のAIログ量 = ΣINSERT文のAIログ量
                     + ΣDELETE文のAIログ量
                     + ΣUPDATE文のAIログ量

  ΣINSERT文のAIログ量: INSERT文単位にAIログ量を求め、
                        トランザクション内で実行するINSERT文の
                        AIログ量を合計します。
  ΣDELETE文のAIログ量: DELETE文単位にAIログ量を求め、
                        トランザクション内で実行するDELETE文の
                        AIログ量を合計します。
  ΣUPDATE文のAIログ量: UPDATE文単位にAIログ量を求め、
                        トランザクション内で実行するUPDATE文の
                        AIログ量を合計します。

レコード長を“TL”とすると、AIログ量は以下の値となります。

DELETE文のAIログ量 = 100

INSERT文のAIログ量 = TL + 100

UPDATE文のAIログ量 = TL + 100
インデックス更新のAIログ量

XML構造を使用する場合は、“BTREE構造”を“XML構造”に置き換えて読んでください。

参照

ページ内エントリ数の見積りについては、“RDB運用ガイド(XMLアダプタ

編)”の“XMLデータのインデックスの容量見積り”を参照してください。

インデックス更新のAIログ量 = ΣINSERT文のAIログ量
                               + ΣDELETE文のAIログ量
                               + ΣUPDATE文のAIログ量
                               + ページ分割およびページ縮退のAIログ量

  ΣINSERT文のAIログ量: INSERT文単位にAIログ量を求め、
                        トランザクション内で実行するINSERT文の
                         AIログ量を合計します。
  ΣDELETE文のAIログ量: DELETE文単位にAIログ量を求め、
                        トランザクション内で実行するDELETE文の
                        AIログ量を合計します。
  ΣUPDATE文のAIログ量: UPDATE文単位にAIログ量を求め、
                        トランザクション内で実行するUPDATE文の
                        AIログ量を合計します。

インデックスのレコード長(エントリ長)を“XL”とすると、AIログ量は以下の値となります。

INSERT文のAIログ量 = XL + 102

DELETE文のAIログ量 = XL + 102

UPDATE文のAIログ量 = (XL + 102) × 2

また、インデックスではページ分割、ページ縮退といった処理が不定期に実行されます。このときのAIログ量の概算は、以下の式で見積もります。

ページ分割およびページ縮退のAIログ量 = (168 + ページ長 ×2) × ページ操作回数

  ページ長      : BTREE構造のデータ部のページ長です。
  ページ操作回数: BTREE構造のデータ部のページ操作回数です。

ページ操作回数は、以下の式で算出します。

小数点以下は、整数に切り上げます。

ページ操作回数 = 更新レコード数
                  /(ページ内エントリ数 × ページ操作発生係数)

  更新レコード数    : トランザクション内で更新(INSERT文、UPDATE文、
                      DELETE文)するインデックスのレコード数
                      (エントリ数)です。
  ページ操作発生係数: 概算として0.5 を指定してください。
  ページ内エントリ数: “RDB運用ガイド(データベース定義編)”の
                     “データベーススペースの所要量の見積り”の
                     “BTREE構造のデータ部”を参照してください。

アーカイブログ量

トランザクション単位のアーカイブログ量は、AIログ量と同じです。

レコード長

レコード長は以下の式で見積もります。

参照

詳細については、“RDB運用ガイド(データベース定義編)”の“データベーススペースの所要量の見積り”を参照してください。

SEQUENTIAL構造
レコード長 = 固定長部 + 可変長データ制御部 + 可変長部
               + NULLタグ部 + 26

  固定長部          : 固定長列の長さの総和
  可変長データ制御部: 可変長列の数 × 4 + 2
  可変長部          : 可変長列の長さの総和
  NULLタグ部        : NOT NULL指定なしの列の数

  可変長列がない場合は、可変長データ制御部および可変長部は、
  ともに0として計算してください。
RANDOM構造
レコード長 = 固定長部 + 可変長データ制御部 + 可変長部
               + NULLタグ部 + 26

  固定長部          : 固定長列の長さの総和(クラスタキー構成列は除く)
  可変長データ制御部: 可変長列の数(クラスタキー構成列は除く)
                        × 4 + 6
  可変長部          : クラスタキー構成列および可変長列の長さの総和
                         + 12
  NULLタグ部        : NOT NULL指定なしの列の数

  可変長列がない場合でも、可変長データ制御部および可変長部を計算
  してください。
BTREE構造(表の格納構造がSEQUENTIAL構造の場合)およびXML構造

インデックスのレコード長は以下の式で見積もります。

キー圧縮については、概算では考慮しません。

インデックスのレコード長 = インデックスキー構成列の長さの総和 + 20
BTREE構造(表の格納構造がRANDOM構造の場合)

インデックスのレコード長は以下の式で見積もります。

キー圧縮については、概算では考慮しません。

インデックスのレコード長 = インデックスキー構成列の長さの総和
                             + クラスタキー構成列の長さの総和 + 20