スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
境界値で分割した表の,特定の格納範囲のデータを複数のRDエリアに分割します。機能の詳細を次に示します。
分割機能での上限値を次の表に示します。
表13-7 分割機能での上限値(境界値指定の場合)
項目 | 上限値 | 上限値を超えた場合の動作 |
---|---|---|
分割の対象にできるRDエリア数 | 1 | ALTER TABLEをエラーとします。 |
1回の操作で分割できる数 | 16 | |
分割した結果の総分割RDエリア数 | 1024 | |
分割した結果の総境界値上限数(otherを含む) | 3000 |
ALTER TABLEのCHANGE RDAREAに指定された分割対象の境界値によって,その格納条件に合致するRDエリアを分割対象のRDエリアとします。境界値が指定されれば,対象となるRDエリアが特定できるため,RDエリアの指定は必要ありません。ALTER TABLEの指定と分割対象RDエリアの決定方法を次の表に示します。
表13-8 ALTER TABLEの指定と分割対象RDエリアの決定方法(境界値指定の場合)
指定内容 | 条件 | 指定可否 | 分割対象RDエリアの決定方法 |
---|---|---|---|
境界値 | 表定義中に指定された境界値あり | ○ | 指定された境界値を格納しているRDエリアを分割対象とします。 |
表定義中に指定された境界値なし | × | − | |
'MAX' | − | ○ | 最大境界値より大きい分割キー値のデータを格納しているRDエリアを分割対象とします。 |
ALTER TABLEのCHANGE RDAREAに指定された,変更後の境界値とRDエリアの指定によって,格納するRDエリアを決定します。このとき,分割後の境界値の指定は,昇順になっている必要があり,指定した境界値の最大値は,分割前の境界値と等しくなければなりません。また,分割したすべての境界値が,分割前の格納条件の範囲内でなければなりません。ALTER TABLEの指定値と分割後のRDエリアの決定方法を次の表に示します。表で参照される,分割前後の境界値の条件を図13-21に示します。
表13-9 ALTER TABLEの指定値と分割後のRDエリアの決定方法(境界値指定の場合)
分割前の境界値 | 分割後の境界値の指定 | 条件 | 指定可否 | 分割対象RDエリアの決定方法 |
---|---|---|---|---|
最小境界値 (図の1.) |
境界値 | 分割後の境界値が最小境界値より小さい値(図の4.) | ○ | 指定された格納条件とRDエリアを分割後のRDエリアとします。 |
分割後の境界値が最小境界値以上の値(図の1.,2.,3.,5.) | × | ALTER TABLEをエラーとします。 | ||
省略 | なし | ○ | 分割された格納条件の中の,最大値の範囲の格納対象を指定されたRDエリアとします。 | |
中間境界値又は最大境界値(図の2.) | 境界値 | 分割後の境界値が分割前の境界値の一つ前の境界値以下(分割前の境界値が200の場合:図の1.,4.) | × | ALTER TABLEをエラーとします。 |
分割後の境界値が分割前の境界値より小さく,一つ前の境界値より大きい値(分割前の境界値が200の場合:図の5.) | ○ | 指定された格納条件とRDエリアを分割後のRDエリアとします。 | ||
分割後の境界値が分割前の境界値以上の値(分割前の境界値が200の場合:200以上) | × | ALTER TABLEをエラーとします。 | ||
省略 | なし | ○ | 分割された格納条件の中の,最大値の範囲の格納対象を指定されたRDエリアとします。 | |
'MAX' (図の3.) |
境界値 | 分割後の境界値が最大境界値より小さい値(図の1.,2.,4.,5.) | × | ALTER TABLEをエラーとします。 |
分割後の境界値が最大境界値より大きい値(図の3.) | ○ | 指定された格納条件とRDエリアを分割後のRDエリアとします。 | ||
省略 | なし | ○ | 最大境界値より大きいデータの格納対象を指定されたRDエリアとします。 |
図13-21 分割前後の境界値の条件(境界値指定の場合)
分割後のRDエリアは,分割前のRDエリアを再利用しても,新たに用意したものであってもかまいません。また,変更後のRDエリアは複数の格納範囲を同じRDエリアに格納できます。このとき,指定によっては,システムが自動的に境界値を統合したり,ALTER TABLEをエラーにしたりできます。システムの処置のパターンを次に示します。
複数の格納範囲を同じRDエリアに格納するときのシステムの処置を次の表に示します。
表13-10 複数の格納範囲を同じRDエリアに格納するときのシステムの処置
変更後RDエリアの指定 | 指定されたRDエリアの中で分割対象の格納範囲以外で使用されているRDエリア | 分割統合後の結果 | システムの処置 | ||
---|---|---|---|---|---|
指定した分割後のRDエリアだけに着目すると,連続した複数の境界値を同じRDエリアに格納していない | 分割前の表で使われていないRDエリアを指定 | − | − | − | 指定されたとおりに分割します。 図13-22の例1−1が該当します。 |
分割前の表で使われているRDエリアを指定 | 分割対象の格納範囲でしか使用されていない | − | − | 指定されたとおりに分割します。 図13-22の例1−2が該当します。 |
|
分割対象の格納範囲以外で使用されている | 分割後の先頭に指定 | 分割対象の格納範囲の直前のRDエリアと同じ | 直前の境界値と格納範囲を統合します。 図13-24の例2−1が該当します。 |
||
分割対象の格納範囲の直前のRDエリアと異なる | 指定されたとおりに分割します。 図13-22の例1−3が該当します。 |
||||
分割の中間に指定 | − | 指定されたとおりに分割します。 図13-23の例1−4が該当します。 |
|||
分割の最後に指定 | 分割対象の格納範囲の直後のRDエリアと同じ | 直後の境界値と格納範囲を統合します。 図13-24の例2−2が該当します。 |
|||
分割対象の格納範囲の直後のRDエリアと異なる | 指定されたとおりに分割します。 図13-23の例1−5が該当します。 |
||||
指定した分割後のRDエリアだけに着目すると,連続した複数の境界値を同じRDエリアに格納している | − | − | − | − | ALTER TABLEをエラーとします。 図13-25の例3−1が該当します。 |
(凡例)−:該当しません。
図13-22 複数の格納範囲を同じRDエリアに格納するときのシステムの処置の例1(その1)
図13-23 複数の格納範囲を同じRDエリアに格納するときのシステムの処置の例1(その2)
図13-24 複数の格納範囲を同じRDエリアに格納するときのシステムの処置の例2
図13-25 複数の格納範囲を同じRDエリアに格納するときのシステムの処置の例3
分割格納条件を変更する表に分割キーインデクスなどが定義されている場合,インデクスなどのデータをRDエリアに格納する必要があるため,表格納用RDエリアと同様に分割しなければなりません。表と表以外のRDエリアの指定方法(境界値分割での格納条件の分割)を次の表に示します。表に示すリソースが複数定義されている場合はすべてが対象となります。正しく指定されていない場合,ALTER TABLEをエラーとします。表と表以外のRDエリアの対応の例を次の図に示します。この例では,表と表以外のRDエリアを三つに分割しています。
表13-11 表と表以外のRDエリアの指定方法(境界値分割での格納条件の分割)
リソース名 | 指定方法 | |
---|---|---|
列 | BLOB列 | 表格納用RDエリアと1対1で指定します。 表格納用RDエリアが重複指定されている場合は,表に対応するよう重複指定します。また,既存の表格納用RDエリアを変更後に使用する場合は,同じ境界値に対応するように既存のインデクス,LOB格納用RDエリアを指定しなければなりません。 |
インデクス | クラスタキーインデクス プライマリキーインデクス(プライマリキー及びクラスタキーを定義したインデクスを含む) B-treeインデクス |
図13-26 表と表以外のRDエリアの対応の例
境界値による格納範囲を分割する場合,基本的にはシステムが自動的にRDエリアの該当する表のデータを削除します。ただし,条件によってはデータを削除しないで残すこともできます。
表13-12 WITHOUT PURGE句の指定とデータの扱い(境界値指定の場合)
変更前後のRDエリアの関係 | WITHOUT PURGE句の指定可否 | WITHOUT PURGE句の指定あり | WITHOUT PURGE句の指定なし |
---|---|---|---|
分割前のRDエリアを分割後のRDエリアに含みます。 | 指定できます。 | 分割前のRDエリアのデータを削除しません。 | 分割前のRDエリアのデータを削除します。 |
分割前のRDエリアを分割後のRDエリアに含みません。 | 指定できません。 | 該当しません。 |
図13-27 WITHOUT PURGE指定なしの場合のデータの削除対象RDエリアの例
図13-28 変更対象RDエリアのデータの扱い(WITHOUT PURGE指定がある場合)の例
図13-29 RDエリアのデータを削除する場合の例
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.