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

D.9 データベースアクセスの使用メモリ量

アプリケーションからのデータベースアクセスに伴い、RDBプロセス内に獲得するメモリ量です。

データベースアクセスの使用メモリ量の見積り対象は、アクセス対象の表を構成するDSI(表とインデックスのDSI)のうち、当該RDBシステムに偏在するDSIです。(当該RDBシステム配下に定義する表DSIとインデックスDSIが対象)

データベースアクセスの使用メモリ量の概算は、次の式で見積もってください。

データベースアクセスの使用メモリ量
      = 排他情報の使用メモリ量                ‥ (A)
        + インデックス更新情報の使用メモリ量  ‥ (B)

(A) 排他情報の使用メモリ量

データベースの排他制御で使用するメモリ量です。

排他情報の使用メモリ量の概算は、次の式で見積もってください。

排他情報の使用メモリ量
      = ΣDSI単位の排他を使用するトランザクション単位の使用メモリ量
        + Σページ単位の排他を使用するトランザクション単位の使用メモリ量
        + Σ行単位の排他を使用するトランザクション単位の使用メモリ量

    DSI単位の排他を使用するトランザクション単位の使用メモリ量
          = アクセス対象のDSI数 × 128

    ページ単位の排他を使用するトランザクション単位の使用メモリ量
          = アクセス対象のページ数 × 256

    行単位の排他を使用するトランザクション単位の使用メモリ量
          = アクセス対象のレコード数 × 256
            + キー排他情報の使用メモリ量

        キー排他情報の使用メモリ量
              = ΣインデックスDSI単位のキー排他情報の使用メモリ量

            インデックスDSI単位のキー排他情報の使用メモリ量
                  = 2068 + 更新キー値数 × 2128

                更新キー値数
                      = 追加(INSERT)するキー値数
                        + 更新(UPDATE)するキー値数
ΣDSI単位の排他を使用するトランザクション単位の使用メモリ量

DSI単位の排他を使用するトランザクション単位の使用メモリ量の総和です。

DSI単位の排他を使用するトランザクション単位に使用メモリ量を求め、それらを合計します。

Σページ単位の排他を使用するトランザクション単位の使用メモリ量

ページ単位の排他を使用するトランザクション単位の使用メモリ量の総和です。

ページ単位の排他を使用するトランザクション単位に使用メモリ量を求め、それらを合計します。

Σ行単位の排他を使用するトランザクション単位の使用メモリ量

行単位の排他を使用するトランザクション単位の使用メモリ量の総和です。

行単位の排他を使用するトランザクション単位に使用メモリ量を求め、それらを合計します。

アクセス対象のDSI数

トランザクション内でアクセスするDSI数です。(表とインデックスのDSI数の合計)

アクセス対象のページ数

トランザクション内でアクセスするページ数です。(表とインデックスのページ数の合計)

アクセスするページ数を見積もることは困難ですので、ページ単位の排他であっても、行単位の排他としてメモリ見積りすることをお勧めします。ページ単位の排他より、行単位の排他の方が見積り結果が大きくなることが予想されますが、多めに見積もる方が安全です。

アクセス対象のレコード数

トランザクション内でアクセスするレコード(行)数です。(表のレコード(行)数)

ΣインデックスDSI単位のキー排他情報の使用メモリ量

インデックスDSI単位のキー排他情報の使用メモリ量の総和です。

行単位の排他を使用するトランザクション内で更新するインデックスDSI単位に、キー排他情報の使用メモリ量を求め、それらを合計します。

更新キー値数

当該インデックスDSIの更新キー値数です。

追加(INSERT)するキー値数と、更新(UPDATE)するキー値数の合計です。

キー排他情報では、削除(DELETE)するキー値数は、更新キー値数に含みません。

(B) インデックス更新情報の使用メモリ量

行単位の排他を使用し、インデックスのキー値を更新するときに使用するメモリ量です。

インデックス更新情報の使用メモリ量の概算は、次の式で見積もってください。

XML構造のインデックスを使用する場合は、“BTREE構造データ部のページ長”を“XML構造データ部のページ長”に置き換えて読んでください。

参照

更新作業用インデックス部のページ数および更新作業用データ部のページ数の見積りについては、“RDB運用ガイド(XMLアダプタ編)”の“XMLデータのインデックスの容量見積り”を参照してください。

インデックス更新情報の使用メモリ量
      = Σトランザクション単位のインデックス更新情報の使用メモリ量

    トランザクション単位のインデックス更新情報の使用メモリ量
          = ΣインデックスDSI単位のインデックス更新情報の使用メモリ量

        インデックスDSI単位のインデックス更新情報の使用メモリ量
              = 更新作業用インデックス部のページ数 
                ×(150 + BTREE構造データ部のページ長)
                + 更新作業用データ部のページ数 
                ×(150 + BTREE構造データ部のページ長)
Σトランザクション単位のインデックス更新情報の使用メモリ量

トランザクション単位のインデックス更新情報の使用メモリ量の総和です。

行単位の排他を使用するトランザクション単位に、インデックス更新情報の使用メモリ量を求め、それらを合計します。

ΣインデックスDSI単位のインデックス更新情報の使用メモリ量

インデックスDSI単位のインデックス更新情報の使用メモリ量の総和です。

行単位の排他を使用するトランザクション内で更新するインデックスDSI単位に、インデックス更新情報の使用メモリ量を求め、それらを合計します。

更新作業用インデックス部のページ数

更新作業用のインデックス部のページバッファ数です。

参照

“RDB運用ガイド(データベース定義編)”の“データベーススペースの所要量の見積り”の“BTREE構造のインデックス部”を参照し、更新作業用インデックス部のページ数を見積もってください。

ただし、“データ部のページ数”で計算する箇所を“更新作業用データ部のページ数”で、“インデックス部のページ長”で計算する箇所を“BTREE構造データ部のページ長”で計算してください。

更新作業用データ部のページ数

更新作業用のデータ部のページバッファ数です。

参照

“RDB運用ガイド(データベース定義編)”の“データベーススペースの所要量の見積り”の“BTREE構造のデータ部”を参照し、更新作業用データ部のページ数を見積もってください。

ただし、“表のレコード数”で計算する箇所を“更新キー値数”で計算してください。

更新キー値数 
      = 追加(INSERT)するキー値数 + 更新(UPDATE)するキー値数 × 2
       + 削除(DELETE)するキー値数
BTREE構造データ部のページ長

当該インデックスDSI(BTREE構造)のデータ部のページ長です。(バイト)

更新作業用インデックス部のページ長、および更新作業用データ部のページ長は、当該インデックスDSI(BTREE構造)のデータ部のページ長となります。

更新キー値数

当該インデックスDSIの更新キー値数です。

追加(INSERT)するキー値数と、更新(UPDATE)するキー値数×2と、削除(DELETE)するキー値数の合計です。