第4章 Symfoware/RDB運用パラメタの定義
C.7 アーカイブログファイルの見積り
リカバリログ量
リカバリログ量は、定常性能およびダウンリカバリ時間に影響を与えます。RDBシステムは、リカバリログ量を一定に保つ ように、一定間隔で、データベースバッファからディスクへの書込みを行います。
リカバリログ量が少ない場合は、データベースバッファの書込み頻度が増えるため、定常性能に悪い影響を与える可能 性があります。
リカバリログ量が多い場合は、ダウンリカバリ時間が長くなります。
したがって定常性能を重視する場合は、ダウンリカバリ時間が運用に問題ない程度までリカバリログ量を多くとるようにし てください。
ただし、フラッシュトリートメントリカバリ機能を利用する場合は、ダウンリカバリ時間の計算方法が異なります。以下にフラッ シュトリートメントリカバリ機能を利用した場合と、利用しない場合に分けて説明します。
参照
フラッシュトリートメントリカバリ機能についての詳細は、“クラスタ導入運用ガイド”を参照してください。
フラッシュトリートメントリカバリ機能を利用する場合
フラッシュトリートメントリカバリ機能を利用する場合のダウンリカバリ時間は、以下の式で見積もります。
同期フラッシュトリートメントリカバリの場合 以下の式で見積もってください。
ダウンリカバリ時間 = リカバリログ量10メガバイトにつき約5秒 非同期フラッシュトリートメントリカバリの場合
以下の式で見積もってください。
ダウンリカバリ時間 = リカバリログ量10メガバイトにつき約3秒
上記の非同期フラッシュトリートメントリカバリの場合のダウンリカバリ時間は、仕掛りデータの閉塞処理にかかる時 間であり、クラスタアプリケーションの切替えと非同期に実行するリカバリが完了しないと、データベースへのアクセ スがエラーとなる可能性があります。
すべてのデータがアクセス可能となる時間は、以下の式で見積もってください。
ダウンリカバリ時間 = リカバリログ量10メガバイトにつき約5秒 フラッシュトリートメントリカバリ機能を利用しない場合
リカバリログ量の指定を省略した場合、デフォルト値は、AIログ域サイズが1.25メガバイト以上では512キロバイトが設 定され、1.25メガバイト未満ではAIログ域サイズの40%が設定されます。その場合のダウンリカバリの時間は、およそ1
~2秒です。リカバリログ量10メガバイトごとに5秒から15秒程度のダウンリカバリ時間がかかるとみて初期設定します。
ただし、リカバリログ量と、ダウンリカバリ時間の関係は、ディスク性能、バッファのサイズにより大きく影響を受けます。
したがって、より精度の高いリカバリログ量とするためには、実際の運用に沿った環境下でダウンリカバリ時間を実測 し、rdblogコマンドのUオプション、tオプションおよびcオプションで、リカバリログ量を再設定してください。
アーカイブログファイルには、上記資源のバックアップを取得した時点から、次のバックアップを取得するまでの間の更新 ログを保持する必要があります。
アーカイブログのバックアップを取る運用の場合
アーカイブログファイルのバックアップを取得した時点から、次のアーカイブログファイルのバックアップを取得するまでの 更新データを保存する容量が必要です。アーカイブログファイルのバックアップは、データベースなどの差分バックアッ プと考えてください。たとえば、アーカイブログファイルのバックアップを毎日行うとした場合、アーカイブログファイルの容 量は、最低でも1日分の更新データを保存する容量が必要です。この運用の場合でも、データベースなどを定期的にバッ クアップする必要があります。データベースなどを定期的にバックアップして、古いアーカイブログを破棄しないと、デー タベースをリカバリするためのアーカイブログが膨大になり、データベースのリカバリ時間が長時間になる可能性がありま す。
アーカイブログのバックアップを取らない運用の場合
データベースなどのバックアップを取得した時点から、次のバックアップを取得するまでの更新データを保存する容量が 必要です。たとえば、データベースなどのバックアップを1週間に1回行うとした場合、アーカイブログファイルの容量は、
最低でも1週間分の更新データを保存する容量が必要です。
C.8 インダウトログファイルの見積り式
インダウトログファイルの見積り式を以下に示します。
インダウトログファイル = Lb × M1 × (1 + S) × λ Lb : トランザクションの更新データ量の最大値(バイト数) M1 : 同時に実行するトランザクション数の最大値(最大の多重度)
S : コマンドキャンセル(SQL文単位のキャンセル)を含むコミットトランザクションの割合(0~1) --- 割合が50%の場合は 0.5
λ : 安全率(1.5以上) (注) 注) 2を推奨しています。
C.9 作業域の見積り
データベースの運用および操作では、以下の場合に作業用のディスクが必要になります。
・ RDBコマンドやアプリケーションの入力ファイルおよび出力ファイル
・ RDBコマンドやSQL文の処理内部で使用する作業域
データベースの運用および操作において必要な作業域(ディスク容量)は、次の合計値となります。多重で実行するRDB コマンドやアプリケーションで使用する入力ファイル、出力ファイル、および、多重で実行するRDBコマンドやSQL文の処 理が内部で使用する作業域をすべて合計したものと考えてください。
作業域サイズ = (Σ(RDBコマンドやアプリケーションの入力ファイル) + Σ(RDBコマンドやアプリケーションの出力ファイル) + Σ(RDBコマンドやSQL文の処理内部で使用する 作業域サイズ))×λ
λ: 安全率(1.5以上)
RDBコマンドやアプリケーションの入力ファイルおよび出力ファイル 以下の入力ファイルと出力ファイルのサイズを見積もってください。
・ データベースの創成データファイル(ロードファイル)
・ データベースからの抽出データファイル(アンロードファイル)
・ メディアリカバリのためのDSIのバックアップファイル
・ Symfoware/RDBがダウンしたときのコアファイル
・ Symfoware/RDBがメッセージ出力するメッセージログファイル
・ アプリケーションが使用するファイル
入出力ファイル 見積り内容
ロードファイル 表DSI容量で見積もってください。
作業域サイズは、ロードファイルをディスクにどれだけ保持 して処理するかによります。
アンロードファイ ル
表DSI容量で見積もってください。
作業域サイズは、アンロードファイルをディスクにどれだけ 保持するかによります。
バックアップファイ ル
表DSI容量で見積もってください。
全バックアップデータをディスク上に保持する場合は、全 DSI容量となります。バックアップデータをテープ装置など にバックアップする場合は、一時的に保持するバックアッ プデータのファイルサイズになります。
アーカイブログ ファイル
メディアリカバリを実施する前に、アーカイブログファイルを すべてディスクに保持することが必要です。したがって、
アーカイブログファイルをテープ装置などにバックアップし て運用している場合、そのアーカイブログファイルのサイズ のディスク容量が必要になります。
コアファイル Symfoware/RDBが異常となってダウンしたときに出力され る調査用のコアファイルです。Symfoware/RDBやコマンド が使用するメモリ量で見積もることができます。最大量は、
マシンに実装されるメモリ量とスワップ域サイズの合計にな ります。
メッセージログ ファイル
Symfoware/RDBが出力するエラーメッセージやインフォ メーションメッセージのファイルです。RDB構成パラメタファ
イルのRDBREPORTSIZEに指定したサイズの2倍が使用
量になります。
アプリケーション の入出力ファイル
アプリケーションごとに入出力ファイルのサイズを見積もっ てください。
RDBコマンドやSQL文の処理内部で使用する作業域
RDBコマンドの処理やSQL文の処理は、処理するデータ量に応じて内部で使用する作業域のサイズが変わります。作 業域のサイズが少量の場合はメモリのみ使って処理されますが、作業域のサイズが大量になると自動的にディスクが使 用されます。使用される作業域のサイズは、以下のように見積もってください。
Symfoware/RDBの処理 見積り内容
データベースの 創成系コマンド
rdbsaloader 作業用領域として必要な容量の見積りを以下に示しま
す。
以下について関連する全てのインデックスのソート作業 域のうち最大のもののサイズを見積もってください。
・ インデックスがBTREE構造の場合
ソート作業域サイズ = (インデックスを構成する列の 合計長 * 2 + 26) * (入力ファイル中のレコード件数 + 表のDSIに格納済みのレコード件数)
・ インデックスがXML構造の場合
ソート作業域サイズ = (インデックスに定義されてい る検索パスの長さの最大サイズ * 2 + 36) * (入力
Symfoware/RDBの処理 見積り内容
ファイル中および表のDSIに格納済みのXML文書 に対して検索対象となる要素・属性の数)
備考. 列のデータ型がCHAR(VARYING含む)、
NCHAR(VARYING含む)の場合は列の長さを1.5倍に します。(BTREE構造の場合とXML構造の場合)
rdbsloader 作業用領域として必要な容量の見積りを以下に示しま
す。
・ iオプションを指定し、かつ、hオプションを指定しな
い場合
作業用領域 = max(Size1 , Size2) Size1 : 表のDSIのソート作業域のサイズ
Size2 : すべてのインデックスのDSIのソート作業域
のうち最大のもののサイズ
・ iオプションを指定し、かつ、-hオプションを指定した 場合
作業用領域 = Size3 + Size4
Size3 : 表のDSIのソート作業域のサイズ
Size4 : すべてのインデックスのDSIのソート作業域 の合計サイズ
・ vオプションを指定し、かつ、hオプションを指定しな
い場合
作業用領域 = max(Size5 , Size6)
Size5 : すべての表のDSIのソート作業域の合計サ
イズ
Size6 : すべての表のDSIに属するインデックスのDSI のソート作業域のうち最大のものの合計サイズ
・ vオプションを指定し、かつ、hオプションを指定した 場合
作業用領域 = Size7 + Size8
Size7 : すべての表のDSIのソート作業域の合計サ イズ
Size8 : すべてのインデックスのDSIのソート作業域
の合計サイズ
表のDSIのソート作業域のサイズの見積りを以下に示し ます。
これらは、上記のSize1、Size3、Size5またはSize7の算 出に使用します。
・ SEQUENTIALかつkオプション指定なしの場合
ソート作業域のサイズ = 0
・ SEQUENTIALかつkオプション指定ありの場合
ソート作業域のサイズ = (Size9 + 28 + Size10 * 2) * レコード件数 + Size11 / 32 / 1024 * 16
Size9 : 表を構成する列の長さの合計サイズ
Size10 : PRIMARY KEYに対応するインデックスを 構成する列の長さの合計サイズ
Size11 : 入力ファイルのサイズ
・ RANDOMの場合
ソート作業域のサイズ = (Size12 + 36 + Size13 * 2) *