Hitachi

ノンストップデータベース HiRDB Version 9 パフォーマンスガイド


11.1.2 グローバルバッファ面数の設計

ここでは,グローバルバッファのバッファ面数の初期設計について説明します。バッファ面数は,システム共通定義のpdbufferオペランドの-nオプションで指定します。指定方法の詳細は,マニュアル「HiRDB Version 9 システム定義」の「グローバルバッファに関するオペランド」を参照してください。

グローバルバッファの面数は,アクセス頻度の高いページをバッファ上に常駐できるように設計します。一般的に,アクセス頻度の高いページは,次に示す順序です。

  1. インデクスのページ

  2. LOB用RDエリアのディレクトリページ

  3. 表のページ

  4. LOB用RDエリアのデータページ

グローバルバッファの面数は,この順序で設計することをお勧めします。なお,LOB用RDエリアを使用していない場合,LOB用RDエリアのバッファ面数の設計は不要です。

〈この項の構成〉

(1) インデクスのバッファ面数

条件に一致するデータを取り出す場合,インデクスのページを参照して条件に一致するデータを絞り込んでから,表のページにアクセスします。よって,インデクスのページの方がアクセスする頻度が高いです。このため,インデクス用のグローバルバッファは優先して割り当ててください。

(a) メモリに余裕がある場合

インデクス格納用RDエリアの全ページをグローバルバッファに常駐できる面数にしてください。

(b) メモリに余裕がない場合

メモリに余裕がない場合は,性能の優先度によって,バッファに常駐する面数を設計してください。次に考え方を説明します。

  • 性能を優先する表に定義したインデクスを格納しているRDエリア

    性能を優先するインデクス格納用RDエリアは,全ページをグローバルバッファに常駐できる面数にしてください。

  • その他のRDエリア

    その他のインデクス格納用RDエリアは,全ページの60%以上が常駐できる面数にすることをお勧めします。この割合でもメモリに余裕がない場合は,リーフページ以外のページが常駐できるように,全ページの15%以上の面数にすることをお勧めします。

[図データ][表特性別のポイント]

マスタ表および採番表は,データ量が少なく,すべてのデータが偏りなくアクセスされるため,インデクスは全ページを常駐してください。

[図データ][こんなときは]

RDエリアに複数のインデクスが格納されている場合,特定のインデクスについて優先的にグローバルバッファを割り当てたいときは,インデクス用グローバルバッファを指定してください。インデクス用グローバルバッファは,システム共通定義のpdbufferオペランドの-iオプションで指定します。詳細は,マニュアル「HiRDB Version 9 システム定義」の「グローバルバッファに関するオペランド」を参照してください。

ただし,サーバ内の横分割表に定義した分割インデクスの場合は,インデクス用グローバルバッファを使用しないで,格納先RDエリアをほかのインデクスとは分けてください。インデクス用グローバルバッファにすると,サーバ内にある複数の格納先RDエリアのページが,1つのグローバルバッファに割り当てられるため,バッファ競合,およびそれに伴う排他待ちが発生する確率が高くなります。

(2) 表のバッファ面数

(a) メモリに余裕がある場合

表格納用RDエリアの全ページをグローバルバッファに常駐できる面数にしてください。

(b) メモリに余裕がない場合

メモリに余裕がない場合は,性能の優先度によって,バッファに常駐する面数を設計してください。次に考え方を説明します。

  • 性能を優先する表を格納したRDエリアの場合

    表格納用RDエリアの全ページをグローバルバッファに常駐できる面数にしてください。

  • その他のRDエリアの場合

    その他の表格納用RDエリアは,全ページの50%以上が常駐できる面数にすることをお勧めします。この割合でもメモリに余裕がない場合は,全ページの5%以上の面数にすることをお勧めします。

[図データ][特性別のポイント]

マスタ表および採番表は,データ量が少なく,すべてのデータが偏りなくアクセスされるため,表は全ページを常駐してください。

(3) LOB用RDエリア(ディレクトリページ)のバッファ面数

LOB用RDエリアのディレクトリページに割り当てるグローバルバッファは,システム共通定義のpdbufferオペランドの-rオプションで指定します。LOB用RDエリアのすべてのディレクトリページが常駐できる面数にしてください。

ディレクトリページはRDエリアの管理情報を格納するページであるため,データページよりもアクセスする頻度が高いです。LOB用RDエリアのデータページよりも,LOB用RDエリアのディレクトリページの方を優先的にグローバルバッファへ割り当ててください。ディレクトリページ数は,全ページ数の0.2%を目安にしてください。詳細なページ数の計算式は,マニュアル「HiRDB Version 9 システム導入・設計ガイド」の「ユーザLOB用RDエリアの容量の見積もり」を参照してください。

(4) LOB用RDエリア(データページ)のバッファ面数

LOB用RDエリアのデータページに割り当てるグローバルバッファは,システム共通定義のpdbufferオペランドの-bオプションで指定します。

次の場合に,このバッファを割り当てると性能が良くなります。