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