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

あるデータエンジニアリングチームは、複数の部門が共有するAmazon Redshiftクラスターを管理しています。特定のアドホッククエリが数時間実行され続け、業務ダッシュボード向けの短時間クエリのパフォーマンスが低下する問題が頻発しています。長時間実行されるクエリを自動的に強制終了させ、優先度の高いキューへの影響を最小化するための最も適切な方法はどれですか?

A
Redshift WLMのQuery Monitoring Rules(QMR)に実行時間上限ルールを定義し、超過したクエリにabortアクションを自動適用するよう設定する
✓ 正解
WLMのQuery Monitoring Rules(QMR)はキュー単位でquery_execution_timeなどのメトリクスに基づくルールを定義し、abortアクションで長時間クエリを自動強制終了できます。データベースエンジン内でリアルタイムに動作するため、人手を介さず優先キューへの影響を即時最小化できます。
B
Amazon CloudWatchでRedshiftのQueryDurationメトリクスを監視してアラームを設定し、しきい値超過時にLambda関数でpg_cancel_backendを呼び出す
Amazon CloudWatchのQueryDurationメトリクスはRedshiftクラスター全体の集計クエリ実行時間を示す指標です。個別クエリを特定してリアルタイムに強制終了させることはできず、Lambda関数経由のDB操作も別途VPC設定などが必要で構成が複雑になります。
C
Amazon EventBridgeのスケジュールルールでAWS Lambdaを定期起動し、Redshiftシステムテーブルを照会して長時間クエリをAPIでキャンセルする
Amazon EventBridgeとAWS Lambdaの組み合わせによる定期ポーリングは長時間クエリのキャンセルに利用できますが、ポーリング間隔の遅延が避けられません。WLM QMRがDBエンジン内でリアルタイムに検知・対応するのと比べて即時性が劣ります。
D
Amazon Redshift Advisorの自動分析機能でパフォーマンス問題を検出し、推奨事項に従ってWLMキューのスロット数と優先度設定を手動で調整する
Amazon Redshift AdvisorはWLM設定やクエリのパフォーマンス改善に関する推奨事項を自動生成しますが、長時間クエリを自動的に強制終了させる機能は持っていません。推奨事項に基づいた手動設定変更が必要なため、リアルタイムの自動対応要件を満たせません。

解説

Amazon RedshiftのワークロードWLM(Workload Management)のQuery Monitoring Rules(QMR)機能を使用すると、WLMキュー単位でクエリの実行時間やリソース消費量に基づくルールを定義できます。query_execution_timeなどのメトリクスでしきい値を設定し、超過したクエリに対してlog(記録)、hop(別キューへ移動)、abort(強制終了)のアクションを自動実行できます。データベースエンジン内でリアルタイムに動作するため、人手を介さず即時に対処できます。 選択肢BのAmazon CloudWatchのQueryDurationメトリクスはクラスターレベルの集計値であり、個別クエリを特定してリアルタイムに強制終了させることはできません。 選択肢CのAmazon EventBridgeとLambdaの定期ポーリングは実装可能ですが、ポーリング間隔分の遅延が避けられず、WLM QMRのリアルタイム対応に比べて即時性が劣ります。 選択肢DのAmazon Redshift Advisorは改善推奨事項を自動生成しますが、長時間クエリを自動終了させる機能はなく手動対応が必要です。

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

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

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