Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


2.3.7 SDBデータベースの横分割

SDBデータベースを複数のRDエリアに分割して格納することをSDBデータベースの横分割といいます。SDBデータベースの横分割をすると,ユーザ用RDエリア単位に,データロード,再編成,バックアップの取得などの運用ができます。

例えば,SDBデータベースを横分割してRDエリアに格納すると,バックアップの取得時にはバックアップ対象RDエリアにアクセスするUAPだけを停止すればよく,運用の操作性が向上します。

なお,横分割したレコードとインデクスを格納するRDエリアを同じバックエンドサーバに配置する必要があります。

SDBデータベースの横分割は,SDBデータベース格納定義で定義できます。SDBデータベースの横分割の例を次の図に示します。

図2‒16 SDBデータベースの横分割の例

[図データ]

[説明]
  • レコードとインデクスの横分割数は同じにする必要があります。

  • 1つのバックエンドサーバ内でSDBデータベースを横分割する形態をサーバ内横分割といい,複数のバックエンドサーバにわたってSDBデータベースを横分割する形態をサーバ間横分割といいます。

SDBデータベースを横分割する方法には,格納条件を指定して横分割する方法と境界値を指定して横分割する方法があります。それぞれの方法について説明します。

〈この項の構成〉

(1) 格納条件指定による横分割

RDエリアにデータを格納する際,ルートレコードの構成要素の値を格納条件(RDエリア分割キー値)として指定します。HiRDB/SDは,ルートレコードを格納するときに,指定された格納条件に従って,該当するRDエリアにレコードを格納します。ルートレコードを親レコードとする子レコード群は,対応するルートレコードと同じRDエリアに格納されます。

図2‒17 格納条件指定の例

[図データ]

(2) 境界値指定による横分割【4V FMB,SD FMB】

RDエリアにデータを格納する際,ルートレコードの構成要素の値に対して境界値となる値(RDエリア分割キー値)を指定します。HiRDB/SDは,ルートレコードを格納するときに,指定された境界値に従って,該当するRDエリアにレコードを格納します。ルートレコードを親レコードとする子レコード群は,対応するルートレコードと同じRDエリアに格納されます。

境界値指定による横分割は,4V FMBまたはSD FMBのSDBデータベースの場合に使用できます。

図2‒18 境界値指定の例

[図データ]

(3) 分割格納条件の変更機能【4V FMB,4V AFM】

SDBデータベースの横分割数の変更が必要となった場合は,分割格納条件の変更機能で横分割数を変更できます。

分割格納条件を変更するには,HiRDB/SD定義ユティリティ(pdsdbdef)で*ALTER DICTIONARY文および*ALTER DIRECTORY文を実行します。

分割格納条件の変更の種類は,追加,分割,削除,統合の4種類があります。それぞれについて説明します。

なお,SD FMBのSDBデータベースの場合,*ALTER DICTIONARY文および*ALTER DIRECTORY文を実行できないため,分割格納条件の変更機能で横分割数を変更することはできません。

(a) 追加

新たな分割キー値を格納条件とするRDエリアを追加することです。

■格納条件指定

[図データ]

■境界値指定

該当しません。

(b) 分割

使用中の分割キー値を,既存のRDエリアと追加するRDエリアの両方で格納条件として使用する格納条件の変更です。

■格納条件指定

[図データ]

■境界値指定

[図データ]

(c) 削除

使用中の分割キー値を削除し,さらに削除したキー値を格納するRDエリア自体も削除する格納条件の変更です。

■格納条件指定

[図データ]

■境界値指定

該当しません。

(d) 統合

使用中の分割キー値をほかのRDエリアの格納条件とし,それまでそのキー値を格納していたRDエリアを削除する格納条件の変更です。

■格納条件指定

[図データ]

■境界値指定

[図データ]