スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(Windows(R)用)
CREATE TABLEでFIX指定をするかどうかによって,表の格納ページ数の計算方法が異なります。それぞれの計算方法を(1)〜(2)に説明します。(1)及び(2)の計算式中で使用する変数については,(3)で説明しています。表の格納ページ数の計算例については,(7)で説明しています。また,リバランス機能を使用する場合のRDエリア容量見積もりを(6)で説明しています。
なお,表を横分割する場合,格納RDエリアごとにページ数を求めてください。
FIX指定がない場合の表の格納ページ数は,次に示す計算式で求めます。
|
SPN2 |
Pの求め方を次に示します。なお,Pの分母の括弧部は1ページに格納される行数であり,最小1,最大255とします。
PSiの求め方を次に示します。次に示す計算式で各PSiを計算し,その総和を求めてください。なお,nは「表16-2 可変長文字列型のデータ長一覧(抽象データ型及び繰返し列を除く)」に該当する列の数を示しています。
PSi=a×↑ei÷(b−62)↑ |
FIX指定がある場合の表の格納ページ数は,次に示す計算式で求めます。
Qの求め方を次に示します。なお,Qの分母の括弧部は1ページに格納される行数であり,最小1,最大255とします。
SPN1= f Σ↑分岐するとしたdiの値÷(b−61)↑×a×SF i=1 |
SPN2=SPN2A+SPN2B+SPN2C ・INSERT SQLによる分岐ページ数 SPN2A= f {Σ↓分岐するとしたdiの値÷(b−59)↓×a+A}×SF i=1 ・pdload又はpdrorgによる分岐ページ数 分岐するとしたdiの値>(b−2853)÷255 のとき SPN2B= f ↑{Σ(分岐するとしたdiの値+11)×a}÷(b−48)↑×SF i=1 分岐するとしたdiの値≦(b−2853)÷255 のとき SPN2C= ↑a÷255↑×SF |
分類 | データ型及び条件 | データ長 (単位:バイト) |
|||
---|---|---|---|---|---|
数値データ | INTEGER | 4 | |||
SMALLINT | 2 | ||||
LARGE DECIMAL(m,n) ※1 | ↓m÷2↓ +1※2 |
||||
FLOAT又はDOUBLE PRECISION | 8 | ||||
SMALLFLT又はREAL | 4 | ||||
文字データ | CHARACTER(n) | n※3 | |||
VARCHAR(n) | d≦255 | 繰返し列の要素 | d+2 | ||
上記以外 | d+1 | ||||
d≧256 | 6 | ||||
VARCHAR(n) ノースプリット オプション 指定あり |
n≦255 | 抽象データ型の属性 | d+3 | ||
繰返し列の要素 | d+2 | ||||
上記以外 | d+1 | ||||
n≧256 | 分岐する場合※5 | 6 | |||
分岐しない場合※5 | 抽象データ型の属性 | d+3 | |||
繰返し列の要素 | d+2 | ||||
上記以外 | d+3 | ||||
各国文字データ | NCHAR(n)又はNATIONAL CHARACTER(n) | 2×n ※4 | |||
NVARCHAR(n) | d≦127 | 繰返し列の要素 | 2×d+2 | ||
上記以外 | 2×d+1 | ||||
d≧128 | 6 | ||||
NVARCHAR(n) ノースプリット オプション 指定あり |
n≦127 | 抽象データ型の属性 | 2×d+3 | ||
繰返し列の要素 | 2×d+2 | ||||
上記以外 | 2×d+1 | ||||
n≧128 | 分岐する場合※5 | 6 | |||
分岐しない場合※5 | 抽象データ型の属性 | 2×d+3 | |||
繰返し列の要素 | 2×d+2 | ||||
上記以外 | 2×d+3 | ||||
混在文字データ | MCHAR(n) | n※3 | |||
MVARCHAR(n) | d≦255 | 繰返し列の要素 | d+2 | ||
上記以外 | d+1 | ||||
d≧256 | 6 | ||||
MVARCHAR(n) ノースプリット オプション 指定あり |
n≦255 | 抽象データ型の属性 | d+3 | ||
繰返し列の要素 | d+2 | ||||
それ以外 | d+1 | ||||
n≧256 | 分岐する場合※5 | 6 | |||
分岐しない場合※5 | 抽象データ型の属性 | d+3 | |||
繰返し列の要素 | d+2 | ||||
上記以外 | d+3 | ||||
日付データ | DATE | 4 | |||
時刻データ | TIME | 3 | |||
日間隔データ | INTERVAL YEAR TO DAY | 5 | |||
時間隔データ | INTERVAL HOUR TO SECOND | 4 | |||
時刻印データ | TIMESTAMP(n) | 7+(n÷2) | |||
長大データ | BLOB | 9 | |||
バイナリデータ | BINARY(n) | n≦255 | d+3 | ||
n≧256 | 分岐する場合※5 | 15 | |||
分岐しない場合※5 | d+3 |
BL>ページ長−50 f BL(バイト)=Σ di+2×f+6 i=1 |
この分岐条件が成立した場合は,分岐しないとした列を列番号の小さい方から分岐条件が成立しなくなるまで分岐するとしてBLを計算し直してください。
表16-2 可変長文字列型のデータ長一覧(抽象データ型及び繰返し列を除く)
データ型 | データ長 (バイト) |
|
---|---|---|
VARCHAR(n) | d≧256 | d+2 |
ノースプリットオプション指定あり | 0 | |
NVARCHAR(n) | d≧128 | 2×d+2 |
ノースプリットオプション指定あり | 0 | |
MVARCHAR(n) | d≧256 | d+2 |
ノースプリットオプション指定あり | 0 |
抽象データ型の列のデータ長diは,次に示す計算式で求めます。
h di= Σ ADTk+5 k=1 |
m ADTk= Σ attj+10+2×m i=1 |
各属性のデータ長については,「表16-1 データ長一覧」を参照してください。ただし,データ型が「表16-3 可変長文字列型のデータ長一覧(抽象データ型の場合)」で示す条件を満たしている場合は,表16-3に従ってデータ長を計算してください。
また,対応するattejの値を次に示す計算式に代入して,分岐行格納ページ数ADTLSをPに加算してください。
h ADTLS= Σ ↑attej÷(b−62)↑×a i=1 |
属性が抽象データ型で定義されている場合は,次に示す計算式で属性のデータ長を求めてください。
h attj(バイト)= Σ ADTk+5 k=1 |
表16-3 可変長文字列型のデータ長一覧(抽象データ型の場合)
データ型 |
条 件 |
データ長 attj (バイト) |
分岐部分の データ長 attej(バイト) |
---|---|---|---|
VARCHAR(n) | d≧256 | 8 | d+2 |
ノースプリットオプション指定あり | d+3 | 0 | |
NVARCHAR(n) | d≧128 | 8 | 2×d+2 |
ノースプリットオプション指定あり | 2×d+3 | 0 | |
MVARCHAR(n) | d≧256 | 8 | d+2 |
ノースプリットオプション指定あり | d+3 | 0 |
繰返し列のデータ長は,次に示す計算式で求めます。
di=4+(eli+1)×eni |
表16-4 可変長文字列型のデータ長一覧(繰返し列の場合)
データ型 |
条件 |
データ長 eli (バイト) |
分岐部分の データ長 esj(バイト) |
---|---|---|---|
VARCHAR(n) | d≧256 | 5 | d+2 |
ノースプリットオプション指定あり | d+2 | 0 | |
NVARCHAR(n) | d≧128 | 5 | 2×d+2 |
ノースプリットオプション指定あり | 2×d+2 | 0 | |
MVARCHAR(n) | d≧256 | 5 | d+2 |
ノースプリットオプション指定あり | d+2 | 0 |
可変長文字列型の繰返し列で,eliの値が表16-4の条件を満たす列について,次に示す計算式の値をPに加算してください。
m ↑Σ{ esi×eni+14×(eni−1)}÷(b−62)↑×a i=1 |
ハッシュ関数HASHA,HASHB,HASHC,HASHD,HASHE,HASHFを使用した分割表の場合,データは1,024個のハッシュ要素値に分けられ,値ごとに別々のセグメントに格納されます。
各分割RDエリアには,平均(1024÷分割数)のハッシュ要素数のデータが格納されます。このため,各RDエリアには,少なくともそのRDエリアに格納される要素数分のセグメントを割り当てる必要があります。
リバランス機能を使用する場合のRDエリア容量は次のように見積もります。
次に示す在庫表の表格納ページ数を求めます。
品番 | 商品名 | 規格 | 単価 | 数量 | 原価 |
---|---|---|---|---|---|
20180 | 掃除機 | C20 | 20000 | 26 | 15000 |
20190 | 掃除機 | C77 | 28000 | 105 | 23000 |
20130 | 冷蔵庫 | P10 | 30000 | 70 | 25000 |
20220 | テレビ | K18 | 35000 | 12 | 30000 |
20200 | 掃除機 | C89 | 35000 | 30 | 30000 |
20140 | 冷蔵庫 | P23 | 35000 | 60 | 30000 |
20280 | アンプ | L10 | 38000 | 200 | 33000 |
20150 | 冷蔵庫 | P32 | 48000 | 50 | 43000 |
20290 | アンプ | L50 | 49800 | 260 | 45000 |
20230 | テレビ | K20 | 50000 | 15 | 45000 |
20160 | 冷蔵庫 | P35 | 55800 | 120 | 50000 |
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.