スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

17.5 データディクショナリLOB用RDエリアの容量の見積もり

<この節の構成>
(1) ソース格納用のデータディクショナリLOB用RDエリアの容量の見積もり
(2) オブジェクト格納用のデータディクショナリLOB用RDエリアの容量の見積もり
(3) QOi(SQLオブジェクト長)の計算式
(4) PR(ルーチン制御用オブジェクト長)の計算式
(5) PR及びQOiの計算式で使用する変数

(1) ソース格納用のデータディクショナリLOB用RDエリアの容量の見積もり

ソース格納用のデータディクショナリLOB用RDエリアの容量は,次に示す計算式で求めます。

計算式
ソース格納用のデータディクショナリLOB用RDエリアの容量(単位:バイト)
={
    a
  [ Σ ↑Si÷64000↑×96 +7+3×(a−1)]※1
   i=1
     b
  +[ Σ ↑(Cj+1024)÷8192↑]※2
    j=1
  }※3×8192※4

a:ソース格納用のデータディクショナリLOB用RDエリアを構成するHiRDBファイル数

b:次の総数
  • 手続き(CREATE PROCEDURE)
  • 抽象データ型内の関数と手続き(各FUNCTION(ただし,プラグイン関数を除きます),PROCEDURE)
  • ユーザ定義関数(CREATE FUNCTION)

Si:セグメント数
データベース初期設定ユティリティ(pdinit)又はデータベース構成変更ユティリティ(pdmod)のcreate rdarea文で指定する各HiRDBファイルのセグメント数

Cj:次の長さ
  • 手続き(各CREATE PROCEDUREの長さ)
  • 抽象データ型内の関数と手続き(各FUNCTION(ただし,プラグイン関数を除きます),PROCEDUREの長さ)
  • ユーザ定義関数(CREATE FUNCTIONの長さ)

注※1 ディレクトリページ部分の総ページ数です。

注※2 データページ部分の総ページ数です。

注※3 ソース格納用のデータディクショナリLOB用RDエリアの総ページ数です。

注※4 ソース格納用のデータディクショナリLOB用RDエリアのページ長です。

(2) オブジェクト格納用のデータディクショナリLOB用RDエリアの容量の見積もり

オブジェクト格納用のデータディクショナリLOB用RDエリアの容量は,次に示す計算式で求めます。

計算式
オブジェクト格納用のデータディクショナリLOB用RDエリアの容量(単位:バイト)
={
    a
  [ Σ ↑Si÷64000↑×96+7+3×(a−1)]※1
   i=1
     b
  +[ Σ ↑(Cj+1024)÷8192↑]※2
    j=1
  }※3×8192※4+500000※5

a:オブジェクト格納用のデータディクショナリLOB用RDエリアを構成するHiRDBファイル数

b:手続き(CREATE PROCEDURE),抽象データ型内の関数と手続き(各FUNCTION(ただし,プラグイン関数を除きます),PROCEDURE),ユーザ定義関数(CREATE FUNCTION)及びトリガ定義(CREATE TRIGGER)の総数

Si:セグメント数
データベース初期設定ユティリティ(pdinit)又はデータベース構成変更ユティリティ(pdmod)のcreate rdarea文で指定する各HiRDBファイルのセグメント数

Cj:QOi+PR(QOiの計算式を(3)に,PRの計算式を(4)に示します。これらの計算式で使用する変数を(5)に示します)

注※1 ディレクトリページ部分の総ページ数です。

注※2 データページ部分の総ページ数です。

注※3 オブジェクト格納用のデータディクショナリLOB用RDエリアの総ページ数です。

注※4 オブジェクト格納用のデータディクショナリLOB用RDエリアのページ長です。

注※5 抽象データ型,又はプラグイン使用時に加算します。

(3) QOi(SQLオブジェクト長)の計算式

QOi(単位:バイト)=
a
Σ{
i=1
  1840+46×RCN+298×Si+20×Pi+1138×Ti+76×Ti×Di+80×Ci+40×Ii+534×Wi
  +20×Ki+Li+8×TCi+656×Di+48×nFF+100×nFP+148×nFC+696×nPFF
  +16×(nAT+nPAT)+20×nCAT+28×(nAF+nCAF)+20×(nAA+nPAA+nCAA)
  +1057×nSPA+120×nSPP+287×nSFF+8×nSFP+813×nJFC+20×nJFP
  〔+60×nFT+nFTS+32×nFTQ〕※1
  〔+1057×nTR+120×(nTSN+nTSO)+20×(nTCN+nTCO)〕※2
  〔+760+376×RCC+1880×RCT〕※3
  〔+32×Si+16〕※4
  〔+↑(42×SiT)+{52+152×(SiTA+SiSA+SiNA)×(SiT+SiS+SiN)}↑〕※5
 }

a:ストアドプロシジャ内のSQL文数

注※1 外部表を指定する場合に加算する計算式です。

注※2 トリガを使用する場合に加算する計算式です。

注※3 参照制約を使用する場合に加算する計算式です。

注※4 列名記述領域長の計算式です。動的SQLの場合に加算します。

注※5 型名記述領域長の計算式です。動的SQLの場合に加算します。

(4) PR(ルーチン制御用オブジェクト長)の計算式

(a) ユーザが定義する場合

ストアドプロシジャ,ストアドファンクション,又はトリガを定義した場合の,ルーチン制御用オブジェクト長は次に示す計算式から求めます。

PR(単位:バイト)=
a
Σ{
i=1
  600+28×sRi+32×(sRUi+sDi)+56×sSXi+sCUi+sSi+sPi+sLA
  +sKi+sL+80×sWi+24×sCM+32×sCCR+2×sDCR+60×sCHD+72×sDHD+64×sHCN
  +8×sCHD×sHCN+48×nRFF+100×nRFP+148×nRFC+200×nPRFF+8×nPRFP
  +196×nPA+64×nPP+36×nPPI+20×nPPO+200×nPPA+8×nPPP+20×nAR+48×nARA
  +16×nRPAT+20×nCAT+28×(nRPAF+nRCAF)+20×(nRPAA+nRCAA)+287×nRSFF
  +8×nRSFP+813×nPJA+20×nPJP+813×nRJFC+20×nRJFP
  〔+28×(nTSN×2+nTSO)〕
 }

a:次のSQL文数
  • 手続き(CREATE PROCEDURE)
  • 抽象データ型内の関数と手続き(各FUNCTION(ただし,プラグイン関数を除きます),PROCEDURE)
  • ユーザ定義関数(CREATE FUNCTION)
  • トリガ定義(CREATE TRIGGER)

注※ トリガを使用する場合に加算する計算式です。
(b) HiRDBが自動的に作成する場合

表定義時,参照動作にCASCADEを指定した場合,HiRDBが制約制御のためにトリガを作成したときのルーチン制御用オブジェクト長は次に示す計算式から求めます。

PR(単位:バイト)=
a
Σ{240+608×RCC+(5120+100×RDi+256×RIi)×RCP×RCT}
i=1

a:次のSQL文数
  • 手続き(CREATE PROCEDURE)
  • 抽象データ型内の関数と手続き(各FUNCTION(ただし,プラグイン関数を除きます),PROCEDURE)
  • ユーザ定義関数(CREATE FUNCTION)
  • トリガ定義(CREATE TRIGGER)

(5) PR及びQOiの計算式で使用する変数

変数名 説明
RCN SQLオブジェクトで使用する表,及びインデクスの合計数
Si SQL文中にある検索項目数(SQL文で指定する列がインデクス列の場合はその列数)
Pi SQL文中にある埋込み変数又はパラメタ数
Ti SQL文中にある表名数
Ci SQL文中にある列名数
TCi SQL文中にある表の構成列数
Wi SQL文中にある論理演算子数※1
Ki SQL文中にある定数の数※1
Li SQL文中にある定数の合計長※1(単位:バイト)
Ii SQL文実行時に使用するインデクス数(SQL文で指定する表のうち,検索条件に指定するインデクス数)
Di SQL文中の表に定義された格納条件の総数(マトリクス分割表は2倍する)
SiT SQL文中にある選択式の抽象データ型数
SiS SQL文中にある選択式の抽象データ型のスーパタイプ数
SiN SQL文中にある選択式のサブタイプである抽象データ型のスーパタイプの総数
SiTA SQL文中にある選択式の抽象データ型の属性数
SiSA SQL文中にある選択式の抽象データ型のスーパタイプの属性数
SiNA SQL文中にある選択式のサブタイプである抽象データ型のコンポネント指定総数
nSPA SQL文中にある手続き文の呼び出し数
nSPP SQL文中にある手続き文の引数の総数
nFF SQL文中にある関数の呼び出し数※1
nFP SQL文中にある関数の引数の総数※1
nFC SQL文中にある関数の総関数定義候補数(関数呼出し数nFFに,引数が抽象データ型の各関数呼出しに対して,サブタイプを引数とする関数定義数を加算する)
nPFF SQLオブジェクトが使用するプラグイン関数呼出し数(SQL文中にあるプラグイン関数呼出し数+SELECTの場合は1,INSERT,UPDATE,DELETEの場合は6)
nSFF SQL文中にあるシステム定義スカラ関数の呼び出し数※1
nSFP SQL文中にあるシステム定義スカラ関数の引数の総数※1
nJFC SQL文中にある外部Java関数の呼び出し数
nJFP SQL文中にある外部Java関数の引数の総数
nAT SQL文中にあるコンポネント指定で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を除く)
nAA SQL文中にあるコンポネント指定で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を含む)
nAF SQL文中にあるコンポネント指定で使用する属性総数
nPAT SQLオブジェクトが使用するプラグイン関数の引数で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を除く)
nPAA SQLオブジェクトが使用するプラグイン関数の引数で使用する抽象データ型数(スーパタイプ,サブタイプを含む)
nCAT SQL文中にあるコンストラクタ関数の呼び出し数
nCAA SQL文中にあるコンストラクタ関数の抽象データ型数(スーパタイプを含む)
nCAF SQL文中にあるコンストラクタ関数の抽象データ型の属性総数
nFT SQL文中にある外部表数
nFTS 外部表を検索するSQL文の長さ※2
nFTQ 外部表を検索するSQL文中の埋込み変数又は?パラメタの数※2
nTR SQL文の実行によって起動されるトリガ数
nTSN SQL文の実行によって起動される各トリガのトリガSQL文中の新値相関名によって修飾された列の総数
nTSO SQL文の実行によって起動される各トリガのトリガSQL文中の旧値相関名によって修飾された列の総数
nTCN SQL文の実行によって起動される各トリガのトリガ動作条件中の新値相関名によって修飾された列の総数
nTCO SQL文の実行によって起動される各トリガのトリガ動作条件中の旧値相関名によって修飾された列の総数
RCC SQL文中で,更新対象の表を参照する表の外部キーの構成列数と,主キーの構成列数の総数
RCT SQL文中で,更新対象の表を参照する表,及び更新対象の表が参照する表の総数
RCP 参照表定義時に,参照動作に指定したCASCADEの総数
RIi 参照表定義時,参照指定をする被参照表に定義されたインデクスの総数
RDi 参照表定義時,参照指定をする被参照表に定義された分割格納条件の総数(マトリクス分割表の場合は,2倍する)
sRi 手続き及び関数中のSQLパラメタ数(INOUT指定のSQLパラメタ数は2倍する)
sRUi 手続き及び関数中のSQLパラメタの総数(又は,トリガ定義中のトリガSQL文中の新旧値相関名によって修飾された列の総数)
sDi 手続き,関数,及びトリガSQL文中のSQL変数(declare)の総数
sSXi 手続き,関数,及びトリガSQL文中のSQLCODE,SQLCOUNT変数の総数
sCUi 手続き,関数,及びトリガSQL文中のCURRENT_TIME,CURRENT_DATE定数の総数
sSi 手続き及びトリガSQL文中の操作系SQLの数(カーソル宣言を除くSQL文:OPEN,FETCH,CLOSE,UPDATE,DELETE,INSERT文など)
sPi 手続き,関数,及びトリガSQL文中のルーチン制御SQL数(BEGIN,SET,IF,ELSEIF,WHILEなど)
sLA 手続き,関数,及びトリガSQL文中のラベル数
sKi 手続き,関数,及びトリガSQL文中の定数の数(手続き及びトリガSQL文中に記述された操作系SQL文の定数を除く)
sL 手続き,関数,及びトリガSQL文中の定数の長さの合計(手続き及びトリガSQL文中に記述された操作系SQL文の定数を除く)
sWi 手続き,関数,及びトリガSQL文中の条件述語数
sCM 手続き,関数,及びトリガSQL文中の複合文の数
sCCR 手続き及びトリガSQL文のカーソル宣言を記述した複合文の数
sDCR 手続き及びトリガSQL文のカーソル宣言の数
sCHD 手続き,関数,及びトリガSQL文のハンドラ宣言を記述した複合文の数
sDHD 手続き,関数,及びトリガSQL文のハンドラ宣言の数
sHCN 手続き,関数,及びトリガSQL文のハンドラ宣言中に記述された条件値の数
nRFF ルーチン中にある関数呼出し数
nRFP ルーチン中にある関数の引数の総数
nRFC ルーチン中にある関数の関数定義候補の総数(関数呼出し数nFFに,引数が抽象データ型の各関数呼出しに対して,サブタイプを引数とする関数定義数を加算する)
nPRFF ルーチンのSQLオブジェクトが使用するプラグイン関数呼出し数
nPRFP ルーチンのSQLオブジェクトが使用するプラグイン関数のプラグインパラメタ総数
nPA ルーチン中にある手続き呼び出し数
nPP ルーチン中にある手続きのパラメタ総数
nPPI ルーチン中にある手続きの入力パラメタ総数(入出力パラメタを含む)
nPPO ルーチン中にある手続きの出力パラメタ総数(入出力パラメタを含む)
nPPA ルーチンのSQLオブジェクトが使用するプラグイン手続き呼び出し数
nPPP ルーチンのSQLオブジェクトが使用するプラグイン手続きのプラグインパラメタ総数
nRSFF ルーチン中にあるシステム定義スカラ関数の呼び出し数
nRSFP ルーチン中にあるシステム定義スカラ関数の引数の総数
nPJA ルーチン中にある外部Java手続きの呼び出し数
nPJP ルーチン中にある外部Java手続きの引数の総数
nRJFC ルーチン中にある外部Java関数の呼び出し数
nRJFP ルーチン中にある外部Java関数の引数の総数
nAR ルーチン中にあるコンポネント指定で使用する抽象データ型数(スーパタイプ,抽象データ型属性によって現れる抽象データ型を除く)
nARA ルーチン中にあるコンポネント指定で使用する属性総数
nRPAT ルーチンのSQLオブジェクトが使用するプラグインルーチンのパラメタで使用する抽象データ型数(ただし,スーパタイプ,抽象データ型属性の抽象データ型を除く)
nRPAA ルーチンのSQLオブジェクトが使用するプラグインルーチンのパラメタで使用する抽象データ型数(スーパタイプを含む)
nRPAF ルーチンのSQLオブジェクトが使用するプラグインルーチンのパラメタで使用する抽象データ型の属性総数
nRCAT ルーチン中にあるコンストラクタ関数の呼び出し数
nRCAA ルーチン中にあるコンストラクタ関数の抽象データ型数(スーパタイプを含む)
nRCAF ルーチン中にあるコンストラクタ関数の抽象データ型の属性総数

注※1
トリガを使用する場合は,SQL文の実行によって起動される各トリガのトリガ動作条件についても数える必要があります。

注※2
外部表を検索するSQL文はアクセスパス表示ユティリティ(pdvwoptコマンド)で確認できます。