SAP-C02#4(improvement)
ある小売企業は、Amazon RDS for MySQL を本番 DB として稼働させています。読み取り負荷の増加によりレスポンスタイムが悪化しており、特に商品カタログの参照クエリ (同一クエリの繰り返し) が CPU を占有しています。アプリケーションは EC2 上で稼働し、書き込みは 1 日 1 万件程度ですが読み取りは 1 日 5,000 万件に達します。コードの大幅な変更を避けながらレスポンスを改善する施策はどれですか。
正解:B
正解の根拠
読み取り重視で同一クエリが多いワークロードには ElastiCache for Redis のキャッシュ層導入が最適です。cache-aside パターンであればアプリケーション変更を最小限に抑えつつ、RDS への負荷を劇的に減らしレスポンスを改善できます。書き込み量が少ないため、キャッシュ無効化の運用も簡素です。
| 方式 | レスポンス改善 | コード変更 |
|---|---|---|
| ElastiCache cache-aside | 大 (μs オーダー) | 小 |
| RDS Proxy | 限定的 | 小 |
| 垂直スケール | 中 | 無 |
不正解の理由
- A: RDS Proxy は接続プーリングが目的で、CPU バウンドな読み取り改善には効果が限定的です。
- C: 垂直スケールはコスト増の割に伸び代が小さく、CPU 占有の根本対策になりません。
- D: マテリアライズドビュー方式はクエリ全面書換が必要で「コード変更回避」要件に反します。

コメント