HITSENSER5
集約テーブルを格納するために,次の格納領域を用意します。なお,インデックス設定はなしとします。
集約テーブルの列は,元の分析データベースから選択したキー項目とそのキー項目の表示用名称,選択した分析項目の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 |
マニュアル「スケーラブルデータベースサーバ HiRDB Version 5.0 システム導入・設計ガイド」,「スケーラブルデータベースサーバ HiRDB Version 6 システム導入・設計ガイド」又は「スケーラブルデータベースサーバ HiRDB Version 7 システム導入・設計ガイド」に記載されている次に示す計算式を使用します。
表(テーブル)の格納ページ数の計算で使用する値とデータ格納領域(ユーザ用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バイトとなります。
算出例を次に示します。
表(テーブル)の格納ページ数の計算方法を,表A-15と表A-16に示した集約テーブルを例に説明します。
P=↑1000/(MIN(255,↓(↓(4096×(100-30))/100↓-48) /(208+8+2×4)↓))↑ =25(ページ)
表の格納ページ数(Ti) =↑((25+0)×10)/(10−↓(10×10)/100↓)↑=28(ページ)
f=↓(4096-20)/((↑10/32↑×8)+56)↓=63 g=↑(250×4096)/(256×63)↑×63=64×63=4032 Si=↑1090/10↑=109
データ格納領域(ユーザ用RDエリア)の総ページ数 =(↑109/63↑+↑109/4032↑)+(28×10)+0+6×(1+1)+2 ×↑20480/4096↑ =3+280+0+6×(1+1)+2×↑20480/4096↑ =305(ページ)
データ格納領域(ユーザ用RDエリア)の容量=4096×305 =1,249,280(バイト)
create rdarea文の指定例を次に示します。
All Rights Reserved. Copyright (C) 2000, 2006, Hitachi, Ltd.