ログ量の見積り式について以下に示します。
ここで見積もるログ量は、アプリケーションによるデータベース更新で出力されるログ量です。ログ量は、テンポラリログファイルおよびアーカイブログファイルを見積もるための基礎値となります。
ログ量は、“レコード長”をベースに求めます。
厳密には、データベースの更新以外(データベースの定義、DSIの動的容量拡張など)にもログが取得されますが、概算としては“レコード長”と“更新回数”から求めることができます。
トランザクション単位のBIログ量は、以下の式で見積もります。
なお、算出したトランザクションのBIログ量に、安全率(1.3)を乗算することをお勧めします。
トランザクションの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
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ログ量に、安全率(1.3)を乗算することをお勧めします。
トランザクションの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
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運用ガイド(データベース定義編)”の“データベーススペースの所要量の見積り”を参照してください。
レコード長 = 固定長部 + 可変長データ制御部 + 可変長部 + NULLタグ部 + 26 × (1/圧縮率) 固定長部 : 固定長列の長さの総和 可変長データ制御部: 可変長列の数 × 4 + 2 可変長部 : 可変長列の長さの総和 NULLタグ部 : NOT NULL指定なしの列の数 圧縮率(注) : 表のデータ圧縮機能を利用してない場合は1を指定 可変長列がない場合は、可変長データ制御部および可変長部は、 ともに0として計算してください。
注) 設計時に測定した圧縮率です。データの種類により圧縮率が変化するため、設計時に圧縮率を見積もる必要があります。圧縮率の詳細については、“RDB運用ガイド(データベース定義編)”の“圧縮率の確認”を参照してください。
表のデータ圧縮機能を利用していても、データベース二重化機能およびSymfoware Server Mirroring Controllerを利用している場合、テンポラリログに出力されるログデータは圧縮されません。その場合は、テンポラリログの更新ログ量の算出に利用するレコード長を求めるには、圧縮率に1を指定してください。
レコード長 = 固定長部 + 可変長データ制御部 + 可変長部 + NULLタグ部 + 26 固定長部 : 固定長列の長さの総和(クラスタキー構成列は除く) 可変長データ制御部: 可変長列の数(クラスタキー構成列は除く) × 4 + 6 可変長部 : クラスタキー構成列および可変長列の長さの総和 + 12 NULLタグ部 : NOT NULL指定なしの列の数 可変長列がない場合でも、可変長データ制御部および可変長部を計算 してください。
インデックスのレコード長は以下の式で見積もります。
キー圧縮については、概算では考慮しません。
インデックスのレコード長 = インデックスキー構成列の長さの総和 + 20
インデックスのレコード長は以下の式で見積もります。
キー圧縮については、概算では考慮しません。
インデックスのレコード長 = インデックスキー構成列の長さの総和 + クラスタキー構成列の長さの総和 + 20