無限ノック › DEA 練習問題一覧 › 問題
DEAデータオペレーションとサポート

あるデータエンジニアリングチームは、Amazon Redshiftを使用して日次ETLパイプラインを運用しています。毎日大量のDELETEおよびUPDATE操作を実行した後、クエリのパフォーマンスが徐々に低下しています。Redshiftのシステムビュー SVV_TABLE_INFO(テーブルのストレージ・ソート状態を確認できるシステムビュー)を参照したところ、主要なファクトテーブルで unsorted_pct(未ソート行の割合)が高く、stats_off(クエリプランナーが使う統計情報の乖離度)も大きくなっていました。クエリパフォーマンスを回復させるための適切な操作はどれですか?

A
VACUUM FULL を実行してデータを再ソートし不要な領域を回収した後、ANALYZE を実行してテーブルの統計情報を更新する
✓ 正解
Amazon RedshiftではDELETE/UPDATE操作を繰り返すと論理削除行(ゴーストロウ)が蓄積されてストレージが断片化し、ソートキー順序も乱れます。また統計情報が古くなるとクエリプランナーが非効率な実行計画を選択します。VACUUM FULLでゴーストロウ削除とデータ再ソートを行い、ANALYZEで統計情報を最新化することでクエリパフォーマンスを回復できます。
B
テーブルのソートキー(SORTKEY)の定義を ALTER TABLE で変更し、現在のクエリパターンに最適化する
SORTKEY変更は今回の劣化原因(断片化・統計情報の陳腐化)への直接対処ではなく、テーブルの実質的な再構築を伴う大規模作業です。
C
クラスターの一時停止(Pause)と再開(Resume)を実行して内部キャッシュをクリアする
クラスター一時停止・再開はキャッシュをクリアしますが、データの断片化やソート乱れ・統計情報の問題は解消しません。
D
影響を受けているテーブルを DROP して再作成し、バックアップからデータを再ロードする
DROPと再作成はバックアップからの再ロードが必要で時間がかかり、VACUUMとANALYZEで対応できる問題に対して過剰な対応です。

解説

Amazon RedshiftではDELETE/UPDATE操作を繰り返すと論理削除行(ゴーストロウ)が蓄積されてストレージが断片化し、ソートキー順序も乱れます。また統計情報が古くなるとクエリプランナーが非効率な実行計画を選択します。VACUUM FULLでゴーストロウ削除とデータ再ソートを行い、ANALYZEで統計情報を最新化することでクエリパフォーマンスを回復できます。 選択肢BのSORTKEY変更は今回の劣化原因(断片化・統計情報の陳腐化)への直接対処ではなく、テーブルの実質的な再構築を伴う大規模作業です。 選択肢Cのクラスター一時停止・再開はキャッシュをクリアしますが、データの断片化やソート乱れ・統計情報の問題は解消しません。 選択肢DのDROPと再作成はバックアップからの再ロードが必要で時間がかかり、VACUUMとANALYZEで対応できる問題に対して過剰な対応です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DEA の問題一覧に戻る