13.4.4 再編成時期予測機能使用時の注意事項
- 〈この項の構成〉
(1) 予測対象外のリソース
次に示すユーザLOB用RDエリアは再編成時期の予測の対象外になります。
-
プラグインインデクスを格納しているユーザLOB用RDエリア
(2) 正しい予測ができないケース
次に示す場合は,再編成時期の正しい予測ができません。
(a) 予測データを正しく取得していない場合
データの格納状態に変化がある予測データが4件以上蓄積されないと,再編成時期予測機能は実行できません。また,予測データを定期的に取得しないと,正しい予測ができません。例えば,週末に更新を行うシステムで,週の始めの4日間だけ予測データを取得しても,正しい予測ができません。
- 参考
-
予測データを定期的に取得するほど,予測の精度が上がります。
(b) データの格納状態が急激に変化するような運用をする場合
RDエリアの使用セグメント比率の変移(履歴)から今後の使用状況を予測するため,データの格納状態が急激に変化するような運用をする場合は正しい予測ができません。例を次の図に示します。
注 基準値については,「再編成時期予測のカスタマイズ」を参照してください。
(c) 最適なページサイズのRDエリアに表を格納していない場合
表の行長に合わせた最適なページサイズのRDエリアに表を格納していない場合,再編成時期の正しい予測ができません。例えば,再編成しても効果のない表に対して再編成を指示したり,再編成の直後に再編成の指示を出したりすることがあります。
(d) カレントRDエリアにオリジナルRDエリアとレプリカRDエリアの両方が混在する運用をしている場合
再編成時期の予測はオリジナルRDエリアを対象にしています。レプリカRDエリアは再編成時期の予測の対象外です。レプリカRDエリアに対するコマンドやSQLの解析結果は,解析情報表及び運用履歴表に反映されません。したがって,カレントRDエリアにオリジナルRDエリアとレプリカRDエリアの両方が混在する運用をした場合,正しい予測結果が算出されません。
(e) キー値に偏りがあるリバランス表の場合
リバランス表を定義する場合は,データが均等に配置されるハッシュ関数や分割キーを選択してください。キー値に偏りがある場合,特定のハッシュグループ(セグメント)にデータが格納されるため,正しい予測ができません。
(3) 予測の傾向
次に示す条件をすべて満たす表は,RDエリアの拡張を行う予測が出やすくなります。
-
表に可変長文字列(VARCHAR,NVARCHAR,又はMVARCHAR)が定義されている
-
上記の列にノースプリットオプションが定義されていない
-
pdloadコマンドを使用したデータロード以外の方法でデータを格納した
(4) ユーザが定義した抽象データ型がある場合
ユーザが定義した抽象データ型(プラグインが提供する抽象データ型でない場合)が定義されている表は,pdrorgコマンドによる再編成及びpdreclaimコマンドによる使用中空きページの解放ができないため,再編成の指示は行いません。RDエリア内に該当表しかない場合,必ずRDエリアの拡張又は再初期化の指示になります。
(5) 予測時の制限
実長が255バイト以下の可変長文字列(VARCHAR,NVARCHAR,又はMVARCHAR)が,別のページに分岐した状態の場合(256バイト以上のデータが255バイト以下に更新されたケースが該当する),再編成すると行分岐を解消し,格納効率及びアクセス効率を上げることができますが,データ長の情報までは取得しないため,これを予測に反映できません。
また,NO SPLITを指定していない可変長文字列のデータ型がある表の場合,ページ長よりも実長が短いデータが多量にあると,再編成直後でもページ使用率が低い状態のページが多量に存在する状態となります。そのため,基準値定義ファイルによるカスタマイズが必要となります。
(6) 解析情報表及び運用履歴表の再編成
ディクショナリ表の再編成をする場合,解析情報表及び運用履歴表も再編成の対象になります。ほかのディクショナリ表とまとめて再編成してください。解析情報表及び運用履歴表だけを再編成する必要はありません。
- 参考
-
表やインデクスを大量に削除すると,両表のアクセス効率を向上するために定義しているインデクスに無効領域が発生します。この場合,表やインデクスが定義されたときに再利用されるため,データディクショナリ用RDエリアの容量が十分なときは再編成をする必要はありません。
(7) 予測精度
予測レベル1の場合,RDエリア内にリソースが一つだけあるときは(例えば,1RDエリアに1表だけ格納されているなど),解析情報表及び運用履歴表の情報から予測します。RDエリア内にリソースが複数ある場合,解析情報表の情報から予測します。したがって,後者よりは前者の方が,予測精度は上がります。