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

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

13.11.2 ハッシュ分割表のリバランス機能を使用するための準備

<この項の構成>
(1) リバランス表の定義
(2) リバランス表を格納するRDエリア
(3) リバランス表にインデクスを定義する場合
(4) グローバルバッファ

(1) リバランス表の定義

CREATE TABLEで指定するハッシュ関数にHASHA〜HASHFを指定します。HASHA〜HASHFを指定した表をリバランス表といいます。ハッシュ関数(HASHA〜HASHF)については,マニュアル「HiRDB Version 8 SQLリファレンス」を参照してください。

 
CREATE TABLE TABLE01
    (SCODE DEC(5) NOT NULL,SNAME NCHAR(15), … ) HASH HASHF BY SCODE
     IN (RDAREA01,RDAREA02);
CREATE INDEX INDX01 …
     IN ((RDAREA11),(RDAREA12));
 

(2) リバランス表を格納するRDエリア

  1. リバランス表を格納するRDエリアには,そのリバランス表だけしか格納できません。ほかの表及びインデクスを格納できません。
  2. リバランス表を格納するRDエリアには,↑1024÷分割RDエリア数↑分のセグメント数が必要です。RDエリアを作成するときにはこの条件を満たすようにしてください。
  3. RDエリアの容量を見積もる場合,↑1024÷分割RDエリア数↑分のセグメント数の余裕値をとってください。
  4. リバランス表にデータを格納するには,未使用セグメントが必要になります。このため,空きページがあってもRDエリア満杯エラーとなることがあります。したがって,RDエリアの残容量は空きページ数ではなく,未使用セグメント数で管理してください。

(3) リバランス表にインデクスを定義する場合

(4) グローバルバッファ

表格納RDエリアごとにグローバルバッファの面数を↑1024÷分割RDエリア数↑×2以上にしてください。そうしないと,バッファリング効果が得られなくなります。