データベースへの繰り返しの読み取りクエリの結果をメモリ上にキャッシュし、応答を高速化してデータベースの負荷を下げたい場合、最も適したサービスはどれですか。

1 / 1
回答を選択してください
正解A

解説

インメモリキャッシュで応答を高速化するサービスを選ぶ問題。

  • 1メモリ上にキャッシュインメモリキャッシュ=ElastiCache
  • 2応答を高速化ミリ秒未満の低レイテンシ応答
  • 3データベースの負荷を下げたい繰り返しクエリを減らす
A正解

Amazon ElastiCache

正解。Amazon ElastiCache はRedis や Memcached を提供するインメモリキャッシュサービスです。よくアクセスされるデータをメモリにキャッシュすることで、応答をミリ秒未満に高速化し、背後のデータベースへの繰り返しクエリを減らして負荷を下げられます。

B不正解

Amazon CloudFront

Amazon CloudFront は、エッジロケーションで静的・動的コンテンツをキャッシュして配信する CDN です。

キャッシュという点は共通ですが、対象は ユーザーへ配信するコンテンツ であり、データベースへのクエリ結果をメモリ上にキャッシュする層ではない ため不正解です。

C不正解

Amazon RDS のリードレプリカ

リードレプリカは、データベースの 複製を作って読み取りリクエストを分散する 仕組みで、読み取り負荷の軽減には有効です。

ただし実体は ディスクベースのデータベース であり、メモリ上のキャッシュによる応答の高速化 という本問の要件には ElastiCache が適するため不正解です。

D不正解

Amazon DynamoDB

Amazon DynamoDB は、キーバリュー/ドキュメント型の フルマネージド NoSQL データベース です。

高速ですが、それ自体が 永続的なデータベース であり、既存データベースの手前に置くメモリキャッシュ層ではない ため不正解です。

ポイント

『インメモリ』『キャッシュ』『DB 負荷軽減・高速化』は Amazon ElastiCache(Redis/Memcached)。読み取り分散のリードレプリカ(ディスクベースの複製)、コンテンツ配信の CloudFront(エッジキャッシュ)と『何をどこにキャッシュするか』で区別する。