あるデータエンジニアリングチームはAmazon Redshift(ra3.4xlarge × 4ノード)を運用しています。業務時間中にデータサイエンティストによる複雑なアドホッククエリが単体でクラスターメモリの80%以上を占有し、ETLジョブ(SLA: 開始から5分以内に完了)がキューで待機してSLAを超過する事象が頻発しています。「ETLジョブが業務時間中に常に1分以内に実行開始できること」「アドホッククエリは引き続き実行できること」「手動介入を最小化すること」の3要件をすべて満たす構成はどれですか?
Amazon Redshift の Automatic WLM(自動ワークロード管理)はキューごとにpriority(Highest / High / Normal / Low / Lowest)を設定することで、Redshift がメモリとスロットを動的に配分します。ETLユーザーグループのキューをHighest 優先度に設定すると、アナリストのクエリが実行中でもETLジョブが優先的にリソースを確保し、1分以内の実行開始を自動で保証します。Short Query Acceleration(SQA)は実行時間が短いクエリを専用の高速キューで処理し、Query Monitoring Rules(QMR)で25分を超えたアナリストクエリを自動的にホップさせることでリソースを解放します。これらはすべて設定のみで実現でき、人的介入なしに3要件を同時に満たします。 選択肢AのManual WLMは、ETLキューにWLMタイムアウト60秒を設定するとETLジョブが1分以内に実行開始できない場合に自動キャンセルされる。「1分以内に実行開始を保証する」という要件とは逆の動作であり、タイムアウトはアナリストキューに設定してリソースを解放すべきである。 選択肢CのConcurrency Scalingは、キューの同時実行数が上限に達した際にクエリをTransient クラスターへルーティングするが、本シナリオの問題は「単一クエリによるメモリ80%以上の占有」であり、同時実行数の上限超過ではない。メモリ輻輳はConcurrency Scaling のトリガー条件ではないため、ETLジョブの遅延は解消されない。 選択肢DのRedshift Serverlessへの移行は、全ETLジョブ・BI接続・接続文字列の変更という大規模な作業を必要とし「手動介入を最小化」要件に反する。32 RPU + 64 RPU の常時確保は既存クラスター(ra3.4xlarge ×4)と比較してコスト増大の可能性がある。