スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
マトリクス分割表で分割キーとなるどちらかの次元で分割されたデータを複数のRDエリアに分割します。機能の詳細を次に示します。
分割機能での上限値と下限値を次の表に示します。
表13-32 分割機能での上限値と下限値(マトリクス分割の場合)
項目 | 上限値 | 下限値 | 上限値又は下限値を超えた場合の動作 |
---|---|---|---|
変更できる次元数 | 1(固定) | 指定できません。 | |
分割の対象にできる特定境界値格納RDエリア群数※ | 1(固定) | ||
1回の操作で分割できる数 | 16 | 2 | ALTER TABLEをエラーとします。 |
分割した結果の総分割RDエリア数(重複を除く) | 1024 | 1 | |
分割した結果の総分割RDエリア数(重複を含む) | 3000 | 4 |
ALTER TABLEのCHANGE RDAREAに指定された変更対象列名と境界値によって,その格納条件に合致するRDエリアを分割対象のRDエリアとします。変更対象列名と格納条件が指定されれば,対象となるRDエリアが特定できるため,RDエリアの指定は必要ありません。分割対象の次元は,ALTER TABLEのCHANGE RDAREAに指定された変更対象列名で決定します。境界値についての,ALTER TABLEの指定と分割対象RDエリアの決定方法を次の表に示します。
表13-33 ALTER TABLEの指定と分割対象RDエリアの決定方法(マトリクス分割の場合)
指定内容 | 条件 | 指定可否 | 分割対象RDエリアの決定方法 |
---|---|---|---|
境界値 | 表定義中に,変更対象列名に対応する境界値あり | ○ | 格納条件に合致する特定境界値格納RDエリア群のRDエリアを分割対象とします。 |
表定義中に,変更対象列名に対応する境界値なし | × | − | |
'MAX' | − | ○ | 最大境界値より大きい分割キー値のデータを格納しているRDエリアを分割対象とします。 |
ALTER TABLEのCHANGE RDAREAに指定された次元の,変更後の境界値リスト(ある次元に指定された境界値の組み合わせ)とRDエリアを対にして,格納するRDエリアを決定します。このとき,分割後の境界値の指定は,次の条件を満たす必要があります。
ALTER TABLEの指定値と分割後のRDエリアの決定方法を次の表に示します。表で参照される,分割前後の境界値の条件を次の図に示します。
表13-34 ALTER TABLEの指定値と分割後のRDエリアの決定方法(マトリクス分割の場合)
分割前の境界値 | 分割後の境界値の指定 | 条件 | 指定可否 | 分割対象RDエリアの決定方法 |
---|---|---|---|---|
最小境界値 (図の1.) |
境界値 | 分割後の境界値が最小境界値以下の値(図の1.,4.) | ○ | 指定された格納条件とRDエリアを分割後のRDエリアとします。 |
分割後の境界値が最小境界値より大きい値(図の2.,3.,5.) | × | ALTER TABLEをエラーとします。 | ||
'MAX' | − | × | ||
中間境界値又は最大境界値(図の2.) | 境界値 | 分割後の境界値が分割前の境界値の一つ前の境界値より小さい値(分割前の境界値が200の場合:図の1.,4.) | × | ALTER TABLEをエラーとします。 |
分割後の境界値が分割前の境界値以下で,一つ前の境界値より大きい値(分割前の境界値が200の場合:200,図の5.) | ○ | 指定された格納条件とRDエリアを分割後のRDエリアとします。 | ||
分割後の境界値が分割前の境界値より大きい値(分割前の境界値が200の場合:200より大きい値) | × | ALTER TABLEをエラーとします。 | ||
'MAX' | − | × | ||
'MAX' (図の3.) |
境界値 | 分割後の境界値が最大境界値以下の値(図の1.,2.,4.,5.) | × | ALTER TABLEをエラーとします。 |
分割後の境界値が最大境界値より大きい値(図の3.) | ○ | 指定された格納条件とRDエリアを分割後のRDエリアとします。 | ||
'MAX' | − | × | 分割後の最大境界値より大きいデータの格納対象を指定されたRDエリアとします。 |
図13-78 分割前後の境界値の条件(マトリクス分割の場合)
分割後のRDエリアは,分割前のRDエリアを再利用しても,新たに用意したものであってもかまいません。また,変更後のRDエリアは複数の格納範囲を同じRDエリアに格納できます。
マトリクス分割表の場合,第1次元のRDエリアを分割するか,第2次元のRDエリアを分割するかで,ALTER TABLEのCHANGE RDAREAに指定するRDエリアの指定方法が異なります。分割対象となる特定境界値格納RDエリア群数,及び一つの特定境界値格納RDエリア群のRDエリア数は,分割対象ではない次元の分割数に依存します。分割対象となる次元及び指定するRDエリア数の関係を次の表に,表で使用している例を次の図に示します。
表13-35 分割対象となる次元及び指定するRDエリア数の関係
分割対象次元 | 分割対象の特定境界値格納RDエリア群数 | 分割対象の特定境界値格納RDエリア群ごとのRDエリア数 |
---|---|---|
第1次元 | 変更後の境界値リストで指定した境界値の数 (図中の(例1)の場合,2) |
第2次元の分割数 (図中の(例1)の場合,3) |
第2次元 | 第1次元の分割数 (図中の(例2)の場合,4) |
変更後の境界値リストで指定した境界値の数 (図中の(例2)の場合,2) |
図13-79 RDエリアの分割後のRDエリアの指定(マトリクス分割の場合)
分割格納条件を変更する表に分割キーインデクスなどが定義されている場合,インデクスなどのデータをRDエリアに格納する必要があるため,表格納用RDエリアと同様に分割しなければなりません。表と表以外のRDエリアの指定方法(マトリクス分割)を次の表に示します。表に示すリソースが複数定義されている場合はすべてが対象となります。正しく指定されていない場合,ALTER TABLEをエラーとします。
表13-36 表と表以外のRDエリアの指定方法(マトリクス分割)
リソース名 | 指定方法 | |
---|---|---|
列 | BLOB列 | 表格納用RDエリアと1対1で指定します。 表格納用RDエリアが重複指定されている場合は,表に対応するよう重複指定します。また,既存の表格納用RDエリアを変更後に使用する場合は,同じ境界値に対応するように既存のインデクス,LOB列格納用RDエリアを指定しなければなりません。 |
インデクス | クラスタキーインデクス プライマリキーインデクス(プライマリキー及びクラスタキーを定義したインデクスを含む) B-treeインデクス |
境界値による格納範囲を分割する場合,基本的にはシステムが自動的にRDエリアの該当する表のデータを削除します。ただし,条件によってはデータを削除しないで残すこともできます。
表13-37 WITHOUT PURGE句の指定とデータの扱い(マトリクス分割の場合)
変更前後のRDエリアの関係 | WITHOUT PURGE句の指定可否 | WITHOUT PURGE句の指定あり | WITHOUT PURGE句の指定なし |
---|---|---|---|
分割前の特定境界値格納RDエリア群を,分割後の特定境界値格納RDエリア群として使用します。 | 指定できます。 | 分割前の特定境界値格納RDエリア群のデータを削除しません。 | 分割前の特定境界値格納RDエリア群のデータを削除します。 |
分割前の特定境界値格納RDエリア群を,分割後の特定境界値格納RDエリア群として使用しません。 | 指定できません。 | ALTER TABLEをエラーとします。 |
WITHOUT PURGE句の指定が有効になる場合と,有効にならない場合の例を次の図に示します。
図13-80 WITHOUT PURGE句の指定が有効になる場合と有効にならない場合の例
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.