Q43 — AWS DVA-C02 第3章

第 43/100 問 | ← 第3章

開発者が、価格データをAmazon DynamoDBに保存し、その前にAmazon ElastiCacheを配置したWebアプリケーションを構築しました。商品の価格は頻繁に変更されます。顧客が商品の価格を更新した後、商品リストに表示される価格が実際には変更されていないと不満を述べ始めました。この問題の原因は何ですか?

正解: A. 商品の価格が変更されたときにキャッシュが無効化されない

解説

この問題において、重要な情報は、市場価格が更新された後でも、商品リストに表示される価格がリアルタイムで反映されないという点です。フロントエンドにAmazon ElastiCacheがキャッシュ層として配置されていることを考慮すると、キャッシュの目的は、バックエンドデータベース(ここではDynamoDB)への直接アクセスを減らし、応答速度を向上させ、データベースの負荷を軽減することです。バックエンドデータ(例:商品価格)が更新された場合、キャッシュ層が適切に更新または無効化されない限り、ユーザーは最新のデータではなく古いキャッシュデータを表示します。選択肢A「商品の価格が変更されたときにキャッシュが無効化されない」は、ユーザーが価格の更新を確認できない理由を説明しています。キャッシュの無効化ロジックが正しく管理されていない場合、DynamoDB内の価格が変更されても、ユーザーは依然として古いキャッシュ価格を表示します。選択肢B「直書き型ElastiCacheクラスターを使用して商品の価格を取得する」は問題と直接関係なく、直書き型キャッシュは通常、書き込み操作時にキャッシュとデータベースを同時に更新することを意味し、古いデータの読み取りを引き起こす原因ではありません。選択肢CおよびDは、それぞれDynamoDBの読み込みおよび書き込みキャパシティ不足について言及していますが、これはキャッシュ内のデータが更新されないという問題とは直接関係ありません。DynamoDBのキャパシティが限られていても、キャッシュ内のデータが更新されない状況を引き起こすことはありません。したがって、正しい答えはAです。 【ランタン認定提供:swufelp1999】