自動テーブル最適化の有効化、無効化、モニタリング
デフォルトでは、ソートキーまたはディストリビューションキーを明示的に定義せずに作成されたテーブルは AUTO
に設定されています。テーブルの作成時に、ソートキーまたはディストリビューションキーを手動で明示的に設定することもできます。ソートキーまたはディストリビューションキーを設定した場合、テーブルは自動的に管理されません。
自動テーブル最適化の有効化
既存のテーブルを自動的に最適化できるようにするには、ALTER ステートメントオプションを使用して、テーブルを AUTO
に変更します。ソートキーには自動化を定義できますが、ディストリビューションキーには自動化を定義することができません (逆も同様)。ALTER ステートメントを実行してテーブルを自動テーブルに変換する場合、既存のソートキーとディストリビューションスタイルは保持されます。
ALTER TABLE table_name
ALTER SORTKEY AUTO;
ALTER TABLE table_name
ALTER DISTSTYLE AUTO;
詳細については、「ALTER TABLE」を参照してください。
最初は、テーブルにはディストリビューションキーまたはソートキーがありません。ディストリビューションスタイルは、テーブルのサイズに応じて EVEN
または ALL
のいずれかに設定されます。テーブルのサイズが大きくなるにつれて、Amazon Redshift は最適なディストリビューションキーとソートキーを適用します。最適化は、最小数のクエリが実行されてから数時間以内に適用されます。ソートキーの最適化を決定するとき、Amazon Redshift はテーブルスキャン中にディスクから読み込んだデータブロックを最適化しようとします。ディストリビューションスタイルの最適化を決定するとき、Amazon Redshift はクラスターノード間で転送されるバイト数を最適化しようとします。
テーブルからの自動テーブル最適化の削除
自動最適化からテーブルを削除できます。オートメーションからテーブルを削除するには、ソートキーまたはディストリビューションスタイルを選択します。ディストリビューションスタイルを変更するには、特定のディストリビューションスタイルを指定します。
ALTER TABLE table_name
ALTER DISTSTYLE EVEN;
ALTER TABLE table_name
ALTER DISTSTYLE ALL;
ALTER TABLE table_name
ALTER DISTSTYLE KEY DISTKEY c1
;
ソートキーを変更するには、ソートキーを定義するか、[none (なし)] を選択します。
ALTER TABLE table_name
ALTER SORTKEY(c1, c2
);
ALTER TABLE table_name
ALTER SORTKEY NONE;
自動テーブル最適化のモニタリング
システムビュー SVV_ALTER_TABLE_RECOMMENDATIONS
は、テーブルに対する現在の Amazon Redshift Advisor のレコメンデーションを記録します。このビューには、自動最適化用に定義されているテーブルと定義されていないテーブルのすべてのレコメンデーションが表示されます。
テーブルが自動最適化用に定義されているかどうかを表示するには、システムビュー SVV_TABLE_INFO
にクエリを実行します。エントリは、現在のセッションのデータベースに表示されているテーブルに対してのみ表示されます。レコメンデーションは、クラスターの作成時刻から数時間以内に開始され、1 日に 2 回ビューに挿入されます。レコメンデーションが利用可能になると、1 時間以内に開始されます。(Amazon Redshift またはユーザーのいずれかによって) レコメンデーションが適用されると、ビューに表示されなくなります。
システムビュー SVL_AUTO_WORKER_ACTION
には、Amazon Redshift によって実行されたすべてのアクションに関する監査ログとテーブルの以前の状態が表示されます。
システムビュー SVV_TABLE_INFO
には、システム内のすべてのテーブルが、テーブルのソートキーとディストリビューションスタイルが AUTO
に設定されているかどうかを示す列とともに一覧表示されます。
これらのシステムビューの詳細については、システムモニタリング (プロビジョニングのみ) を参照してください。