HITSENSER5

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

付録A.6 集約テーブルを格納するユーザ用RDエリアの算出

集約テーブルを格納するために,次の格納領域を用意します。なお,インデックス設定はなしとします。

集約テーブルの列は,元の分析データベースから選択したキー項目とそのキー項目の表示用名称,選択した分析項目のSUM,及び件数列から構成されます。

[図データ]

列の属性については,キー項目と表示用名称は引き継がれますが,件数列の属性はINTEGERになります。また,SUM(分析項目)の属性は,次のようになります。

分析項目の属性 SUM(分析項目)の属性
INTEGER INTEGER
SMALLINT INTEGER
FLOAT FLOAT
SMALLFLT SMALLFLT
DECIMAL(p,s) DECIMAL(29,s)

また,集約テーブルの行数は,選択したキー項目とそのキー項目の表示用名称で元の分析データベースのデータをグルーピングした件数となります。

次に,表A-15と表A-16に示す集約テーブルの例を使用して,集約テーブルを格納するユーザ用RDエリアの算出例を示します。

表A-15 集約テーブルの例(属性)

キー項目 SUM(分析項目) 表示用名称 件数列
CHAR(100) INTEGER CHAR(100) INTEGER

表A-16 集約テーブルの例(値)

項目
行の総数(件) 300
各列のデータ長の合計(バイト) 208
列のデータ長の平均値 0
表に定義する列の総数(個) 4
<この項の構成>
(1) 使用する計算式
(2) 算出例に使用する値
(3) 算出例
(4) create rdarea文の指定例

(1) 使用する計算式

マニュアル「スケーラブルデータベースサーバ HiRDB Version 5.0 システム導入・設計ガイド」,「スケーラブルデータベースサーバ HiRDB Version 6 システム導入・設計ガイド」又は「スケーラブルデータベースサーバ HiRDB Version 7 システム導入・設計ガイド」に記載されている次に示す計算式を使用します。

(2) 算出例に使用する値

表(テーブル)の格納ページ数の計算で使用する値とデータ格納領域(ユーザ用RDエリア)の総ページ数の計算で使用する値を次に示します。

表A-17 表(テーブル)の格納ページ数の計算で使用する値

変数 内容 代入先
a
表(テーブル)に格納する行の総数
表A-16の「行の総数(件)」の値 式2
式3
b
データ格納領域(ユーザ用RDエリア)のページ長
4,096(バイト) 式2
式3
c
create table文で指定する未使用領域の比率
30(%) 式2
di
各列のデータ長
表A-16の「各列のデータ長の合計(バイト)」の値 式2
ei
列のデータ長の平均値
なし 式3
f
表(テーブル)に定義する列の総数
表A-16の「表に定義する列の総数(個)」の値 式2
g
表(テーブル)を格納するデータ格納領域(ユーザ用RDエリア)のセグメントサイズ
10(ページ) 式1
h
create table文で指定するセグメント内の空きページ比率
10(%) 式1
n
列数
1 式1

表A-18 データ格納領域(ユーザ用RDエリア)の総ページ数の計算で使用する値

変数 内容 代入先
a
データ格納領域(ユーザ用RDエリア)を構成するHiRDBファイル数
1(個)
式4
b
データ格納領域(ユーザ用RDエリア)のページ長
4,096(バイト)
式4
c
データ格納領域(ユーザ用RDエリア)に格納する表(テーブル)の総数
集約テーブルの総数:1(個)
式4
d
データ格納領域(ユーザ用RDエリア)に格納するインデックスの総数
0(個)
式4
e
表(テーブル)を格納するデータ格納領域(ユーザ用RDエリア)のセグメントサイズ
10(ページ)
式4
f
↓(b-20)/((↑e/32↑×8)+56)↓
式4
g
↑(250×b)/(256×f)↑×f
式4
Si
↑Ti/e↑
HiRDBファイルのセグメント数です。この値をcreate rdarea文のinitialに指定します。
式4
Ti
表(テーブル)の格納ページ数
式1〜3で求めます
式4

この算出例では,ユーザ用RDエリアの容量は4,689,920バイトとなります。

算出例を次に示します。

(3) 算出例

(a) 表(テーブル)の格納ページ数の計算

表(テーブル)の格納ページ数の計算方法を,表A-15と表A-16に示した集約テーブルを例に説明します。

  1. 式2に列のデータ長を代入して計算
    P=↑1000/(MIN(255,↓(↓(4096×(100-30))/100↓-48)
    /(208+8+2×4)↓))↑
    =25(ページ)
  2. 式3の計算
    eiの値がないため,計算不要。
  3. 式1へ,式2と式3で求めた値を代入して,表(テーブル)の格納ページ数を計算
    表の格納ページ数(Ti)
    =↑((25+0)×10)/(10−↓(10×10)/100↓)↑=28(ページ)
(b) データ格納領域(ユーザ用RDエリア)の総ページ数の計算
  1. 式4のf,g,Siの計算
    f=↓(4096-20)/((↑10/32↑×8)+56)↓=63
    g=↑(250×4096)/(256×63)↑×63=64×63=4032
    Si=↑1090/10↑=109
  2. 式4:データ格納領域(ユーザ用RDエリア)の総ページ数の計算
    データ格納領域(ユーザ用RDエリア)の総ページ数
    =(↑109/63↑+↑109/4032↑)+(28×10)+0+6×(1+1)+2
    ×↑20480/4096↑
    =3+280+0+6×(1+1)+2×↑20480/4096↑
    =305(ページ)
(c) データ格納領域(ユーザ用RDエリア)の容量の計算
  1. 式5:データ格納領域(ユーザ用RDエリア)の容量の計算
    データ格納領域(ユーザ用RDエリア)の容量=4096×305
    =1,249,280(バイト)

(4) create rdarea文の指定例

create rdarea文の指定例を次に示します。

[図データ]