SAA-018
DynamoDBテーブルに対する読み取りが非常に多く、同じキーへのアクセスが繰り返されています。マイクロ秒レベルの低遅延読み取りを実現したい場合、最も適したサービスはどれですか?
選択肢
解説と正解
解説と正解を読む(先に自分で回答してから開くのがおすすめです)
正解:C. DynamoDB Accelerator
解説
DynamoDB AcceleratorはDynamoDB向けのインメモリキャッシュで、読み取りレイテンシを低減できます。
選択肢ごとの解説
A. AWS CloudFormation
CloudFormationはIaCサービスです。
B. AWS Budgets
Budgetsは課金監視サービスです。
C. DynamoDB Accelerator
正解です。DynamoDB読み取りキャッシュとして使います。
D. Amazon EBS
EBSはEC2向けブロックストレージです。
実務での使いどころ
DynamoDB Accelerator(DAX)は、DynamoDB 専用のフルマネージド型インメモリキャッシュクラスターであり、ミリ秒級である DynamoDB の読み取りレイテンシをマイクロ秒級まで引き下げる。アプリケーション側は DAX クライアント SDK を経由するだけで、既存の DynamoDB API(GetItem / Query / Scan 等)をそのまま利用でき、コードの大幅な書き換えは不要である。同じキーへの繰り返し読み取り(ホットキー)が多いワークロード、レイテンシ要件が極めて厳しいゲームのリーダーボード・広告配信・リアルタイム入札(RTB)などで効果が大きい。 代替として ElastiCache for Redis / Memcached を DynamoDB の前段に置く実装もあるが、その場合キャッシュとの整合性管理(書き込み時の invalidation、TTL 設計)をアプリケーションで自前管理する必要がある。DAX は DynamoDB 専用に最適化されており、書き込みスルー(write-through)でキャッシュと DynamoDB を同期するため、アプリ側の整合性管理コードを減らせる。一方で、DAX クラスターのノード費用が常時発生するため、読み取りパターンがホットでない・キャッシュヒット率が低いワークロードでは費用対効果が出にくい。 SAA-C03 では、「DynamoDB のマイクロ秒級読み取り」「同じキーへの繰り返しアクセス」「レイテンシをさらに下げたい」というキーワードが含まれる場合、DAX が正答となる。誤答として「ElastiCache を使う」(汎用キャッシュで DynamoDB 専用最適化なし)「グローバルセカンダリインデックス(GSI)を追加」(クエリパターン拡張用、レイテンシ短縮目的ではない)「プロビジョンドキャパシティを増やす」(スループット拡張、レイテンシ短縮には直接寄与しにくい)を当て込む選択肢が混入する。