ある EC サイトが商品カタログデータの管理に Amazon DynamoDB を使用しています。 全読み取りリクエストの 80% が「人気商品トップ 100」への集中アクセスであり、ピーク時の読み取りコスト(RCU)が急増しています。 また、P99 レイテンシーを 1ms 未満に抑えるという新たな SLA が設けられました。 コスト削減と低レイテンシーを同時に実現する最も適切な方法はどれですか?
DAXはDynamoDBとAPI互換のインメモリキャッシュサービスで、マイクロ秒オーダー(通常1ms未満)の読み取りレイテンシーを実現します。アクセスが集中するhot itemをキャッシュすることでDynamoDBへのRCU消費を大幅に削減し、コスト低下とレイテンシー改善を同時に達成できます。アプリケーションのエンドポイントをDAXに向けるだけで既存コードをほぼそのまま流用できます。 選択肢AのGSIは新たなクエリパターンを追加するものであり、既存hot itemの読み取りレイテンシーやRCU削減には直接寄与しません。 選択肢BのDynamoDB Streamsは変更データキャプチャ用途であり、即時キャッシュの仕組みとして利用するには別途インフラが必要で複雑です。 選択肢Dのオンデマンドモードはスロットリング防止には有効ですが、1ms未満のSLA達成やコスト削減の手段にはなりません。