DynamoDB はキャッシュとして使えますか?

はい。DynamoDB の高速なキーバリュー検索と TTL は、セッション、トークン、計算結果のための堅実な永続キャッシュになります。サブミリ秒の読み取りが必要なら、DynamoDB Accelerator(DAX)と組み合わせましょう。テーブルの前段に立つフルマネージドのインメモリ・ライトスルーキャッシュで、キャッシュ無効化のコードを一切書かずに、結果整合性のある読み取りをマイクロ秒で返します。

永続キャッシュとしての DynamoDB

読み取りがキー指定で一桁ミリ秒であるため、DynamoDB は永続的なキャッシュ層としてよく機能します。TTLが古くなったエントリを代わりに期限切れにするので、キャッシュしたセッションや事前計算した結果は自分で片づきます。

マイクロ秒のために DAX を足す

DAX は DynamoDB の前に座るインメモリキャッシュです。

  • リードスルー / ライトスルー — 投入と無効化を代わりに管理します。
  • マイクロ秒の読み取り — 結果整合性のある読み取りで最大 10 倍の改善。
  • API 互換 — アプリケーションの変更は最小限。

DAX が元を取るまでにかかるもの

DAX はレイテンシを買う買い物です。値段を出してみると、相当に読んでいなければ節約にはなりません。

dax.t3.small ノードは us-east-1 で 1 時間 $0.04 で、AWS は本番向けにアベイラビリティーゾーンをまたいで最低 3 ノードを推奨しています。3 という数がクラスターを耐障害性のあるものにするからです。それは月 $87.60 です。オンデマンドで 4 KB までのアイテムを結果整合性で読む費用は $0.0000000625 なので、同じ $87.60 で テーブルから直接 14 億回の読み取り が買えます。1 か月ずっと続けて毎秒 533 回に相当します。

その数字ですら DAX に甘いものです。すべての読み取りがキャッシュにヒットする前提だからで、実際にはミスのたびにクラスターの費用に加えてテーブルの読み取りが課金されます。1 ノードの開発用クラスターは月 $29.20、毎秒 178 回に相当しますが、AWS は本番で 3 ノード未満にしないよう助言しています。1 ノードや 2 ノードのクラスターはキャッシュしたデータをまるごと失いうるからです。

TTL は無料だが、迅速ではない

エントリを自分で期限切れにすると書き込みユニットを消費します。1 KB までのアイテムに対する DeleteItem 100 万回で $0.63 です。TTL は同じ仕事を書き込みスループットを消費せずに行い、これがキャッシュにおける実務上の論拠です。

落とし穴はタイミングです。AWS は期限切れになったアイテムを、通常は期限から数日以内に削除します。つまりアプリケーションが消えたとみなしているエントリにストレージ料金がかかり続け、請求は設定した TTL ではなく削除の遅れに追随します。1 KB のアイテムを毎秒 1,000 件、TTL 1 時間でキャッシュすると生きているデータは 3.4 GB、月 $0.86 です。そこに 2 日の遅れが加わると、死んだエントリ 165 GB が隣に居座り、月 $41.19 になります。期限切れのアイテムは物理的に取り除かれるまで QueryScan の結果に現れ続けるので、TTL を信用するのではなく、読み取り時に期限属性でフィルターしましょう。

向く場合と、向かない場合

結果整合性を許容できる読み取り中心のワークロードには最適です(DAX が提供するのは結果整合性のあるデータです)。すべての読み取りで強い整合性が必要なら、テーブルに直接行きましょう。DAX のノード同士も結果整合的にレプリケートするので、同じクラスターを叩く 2 つのクライアントが、同じキーについて一時的に異なる値を読むことがあります。

さらに詳しく

DynamoDB の TTLDynamoDB の整合性を読んでみてください。キャッシュ用テーブルを調べるにはDynoTable をダウンロードしてください。

参考資料

最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。

2026-07-28 に費用を算出しました。DAX のノード時間単価は AWS Price List API(us-east-1、dax.t3.small、$0.040)から読み取り、読み取り・書き込み・ストレージの単価は当社の料金計算ツールが同期しているのと同じフィードによります。上記の計算は当社によるもので、入力値はすべてこのページ上にあります。

Console なしで DynamoDB を扱う

DynamoDB では実行できない本物の SQL(JOINs、GROUP BY、集計)を実行する高速な DynamoDB デスクトップクライアント。ビジュアル編集と、あなた自身の Bedrock キーで動く AI エージェントを備えています。

30日間無料トライアル、クレジットカード不要 — その後は期限のない Free プラン。