無限ノック › DEA 練習問題一覧 › 問題
DEAデータストアの管理

あるeコマース企業が Amazon Redshift でデータウェアハウスを運用しています。週次の売上集計レポートは複数の大型ファクトテーブルとディメンションテーブルを結合するため実行に30分以上かかります。データは毎日1回のバッチETLで更新されます。事前に定義されたレポートクエリのパフォーマンスを最も効果的に改善する方法はどれですか?

A
Amazon Redshift マテリアライズドビューを作成し、毎日のバッチETL完了後に自動更新するようスケジュールを設定する
✓ 正解
マテリアライズドビューは複数テーブルの結合・集計結果を事前計算して物理保存するため、クエリ実行時の計算コストを大幅に削減できます。バッチETL完了後の自動更新設定により常に最新データを維持でき、自動クエリリライトにより間接参照クエリも恩恵を受けます。
B
Amazon Redshift の結果キャッシュ(Result Cache)を有効化し、同一クエリの再実行を高速化する
完全に同一のSQLとパラメータで再実行される場合のみキャッシュが有効であり、フィルタ条件や集計単位が少しでも変わると無効となります。最初の実行は通常通り30分かかるため、事前定義レポートの根本的な高速化策としては不十分です。
C
AQUA(Advanced Query Accelerator)を有効化してクエリ処理をオフロードし、全体的な実行速度を向上させる
ra3ノード向けに提供されたハードウェアアクセラレーション機能ですが、2023年にAWSにより廃止されており現在は利用できません。集計結果を事前に計算・保存する仕組みでもないため、クエリ実行のたびに全計算が必要でした。
D
Amazon Redshift Concurrency Scaling を有効化して同時実行ユーザーへの対応能力を強化する
同時実行クエリが増加した際に追加クラスターを自動起動してスループットを維持する機能であり、個々のクエリ自体の処理時間を短縮するものではありません。単一クエリの実行に30分かかる問題には直接対応できません。

解説

Amazon Redshift マテリアライズドビューは、複雑な集計クエリの結果を事前に計算して物理的に保存します。クエリ実行時はマテリアライズドビューの事前計算済み結果を読み込むため、元のクエリより大幅に高速化されます。自動更新スケジュールをバッチETL完了後に設定することで、常に最新データを反映したビューを維持できます。また、マテリアライズドビューの結果を利用するクエリは、ビューを直接参照しなくても自動リライト(Automatic Query Rewriting)によって恩恵を受けることもあります。 選択肢Bの結果キャッシュは、まったく同一のクエリを同じパラメータで再実行する場合のみ有効であり、レポートのバリエーションや異なるフィルタ条件では機能しません。 選択肢CのAQUA(Advanced Query Accelerator)はra3ノード向けに提供されたハードウェアアクセラレーション機能ですが、2023年にAWSにより廃止されており現在は利用できません。また、集計結果を事前計算して保存する機能も持っていませんでした。 選択肢DのConcurrency Scalingは同時実行クエリ数が増えた際に追加クラスターを動的に起動する機能であり、個々のクエリ実行時間の短縮には寄与しません。

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

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

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