あるEコマース企業の商品カタログシステムは、Amazon RDS MySQL (db.r6g.2xlarge) に 50 万件の商品データを保存しています。商品データの更新頻度は 1 日 2〜3 回ですが、アプリケーションからは 1 分あたり 5 万件の読み取りクエリが発行されており、RDS のコストが高騰しています。データモデルを変更せずに読み取りコストを最大限削減したい場合、最も効果的な対策はどれですか?
Amazon ElastiCache for Redis はインメモリキャッシュサービスです。更新頻度が低く(1 日 2〜3 回)読み取り頻度が非常に高い(1 分あたり 5 万件)商品カタログのような参照データのキャッシュに最適です。データを ElastiCache にキャッシュすることで RDS への読み取りクエリを 90% 以上削減でき、場合によっては RDS インスタンスのダウンサイズも可能になります。リードレプリカを追加するよりも費用対効果が高く、データモデルの変更も不要です。 選択肢Aの RDS リードレプリカは読み取り負荷を分散できますが、各レプリカはプライマリと同等の時間課金が発生します。3 台追加すると総コストが約 4 倍になり、コスト削減の目的に反します。 選択肢Cの RDS インスタンスのスケールアップはクエリ処理能力を増やしますが、費用も増加します。発行されるクエリ数は変わらないため、根本的なコスト削減にはなりません。 選択肢Dの DynamoDB Accelerator(DAX)は Amazon DynamoDB 専用のインメモリキャッシュです。RDS MySQL には使用できないため、このシナリオには適用できません。