SAA-C03:AWS Certified Solutions Architect - Associate 高性能なアーキテクチャの設計 問10
高性能なアーキテクチャの設計/高性能なデータベースソリューションの決定同じ読み取りクエリが繰り返し実行されてデータベースの負荷が高くなっています。ミリ秒未満の応答で読み取りを肩代わりし、DB の負荷を下げたいと考えています。最も適切なのはどれですか。
当サイトのオリジナル問題(SAA-C03:AWS Certified Solutions Architect - Associateの出題範囲「高性能なアーキテクチャの設計」に対応。実際の試験問題ではありません)
- ADB インスタンスを大型化し続ける
- Bすべての読み取りを毎回ディスクから実行する
- Cリードレプリカだけを 10 台に増やす
- DAmazon ElastiCache(Redis/Memcached)でインメモリキャッシュを導入し、頻出するクエリ結果を保持して DB の読み取り負荷を減らす
正解:D
解説
Amazon ElastiCache(Redis/Memcached)は、インメモリのデータストアで、ミリ秒未満の応答を提供します。頻繁に実行される読み取りクエリの結果をキャッシュしておくことで、データベースへの読み取りを肩代わりし、DB の負荷とレイテンシを下げられます。
選択肢ごとの解説
- A誤り。DB の大型化はコスト効率が悪く、繰り返し読み取りの負荷を根本的に下げる手段ではありません。
- B誤り。毎回ディスクから読む方式は高速化にならず、問題の解決になりません。
- C誤り。リードレプリカの増設は読み取りスケールには有効ですが、ミリ秒未満の応答やインメモリの効果は得られず、過剰な台数はコストもかさみます。
- D正しい。ElastiCache でインメモリキャッシュを導入すれば、頻出クエリ結果を高速に返して DB の読み取り負荷を下げられます。