投稿日: Dec 19, 2018

Amazon Redshift で、VACUUM DELETE オペレーションが自動実行されるようになりました。これにより、それまでの UPDATE および DELETE オペレーションで削除マークが付けられていた行により占有されていたディスク空間が返却されます。また、テーブルのデフラグが実行されるため、断片化で消費されていた空間が解放され、ワークロードのパフォーマンスが向上します。

VACUUM DELETE の実行スケジュールは、クエリ負荷とテーブル内の削除済み行数に基づいて設定されます。例えば、ユーザーやクエリへの影響を抑えるため、負荷の高い期間には VACUUM DELETE の実行頻度が下がります。VACUUM DELETE の実行は、入力されたクエリの負荷が高いときには自動的に一時停止し、しばらくたってから再開されます。Amazon Redshift ではバキューム処理が不要なテーブルについては処理がスキップされるため、定期実行がスケジュールされた VACUUM DELETE ジョブを変更する必要はありません。

さらに、バキュームオペレーションはテーブル全体に実行されるのではなく、一度にテーブルの一部のみに実行されるようになりました。これによって、バキューム処理に必要なメモリ、CPU、ディスク I/O といったリソースの量が劇的に減少しました。

バックグラウンドで実行中の VACUUM DELETE は、AWS マネジメントコンソールの [Cluster Performance] タブにある [Space reclaimed by auto vacuum delete] のモニタリングによって、および Cloudwatch メトリクス AutoVacuumSpaceFreed で追跡できます。詳細については、Amazon Redshift データベース開発者ガイドVACUUM を参照してください。

自動 VACUUM DELETE は、現在すべての AWS 商用リージョンにおいて、リリースバージョン 1.0.5290 以降で利用できます。Amazon Redshift のサービス提供範囲については、製品およびサービス一覧 (リージョン別) をご覧ください。