DynamoDB はインメモリですか?
いいえ。DynamoDB はインメモリデータベースではありません。すべての書き込みは耐久ストレージに永続化され、3 つのアベイラビリティーゾーンへ自動的にレプリケートされます。インメモリの速さが必要なときは、DynamoDB Accelerator(DAX)がフルマネージドのインメモリキャッシュを追加し、結果整合性のある読み取りを一桁ミリ秒からマイクロ秒に短縮します。
設計として耐久的
DynamoDB は耐久性のある運用データベースです。書き込みは耐久メディアに保存され、既定で 3 つのアベイラビリティーゾーンにレプリケートされ、99.99% の可用性 SLA を支えています。データが RAM に置かれ耐久性が任意である純粋なインメモリストアとは、逆のトレードオフです。
キャッシュがなくても十分に速い
素の DynamoDB は、どんな規模でも一貫した一桁ミリ秒の読み書きを実現します。すべての読み取りがスキャンではなくパーティションキーを直接狙うからです。ほとんどのワークロードはキャッシュをまったく必要としません。
インメモリな DynamoDB はエミュレーターだけ
混乱はたいてい DynamoDB Local から始まります。こちらには確かにインメモリモードがあります。起動するとバナーがそう告げます。
docker run -p 8000:8000 amazon/dynamodb-local -jar DynamoDBLocal.jar -inMemory -sharedDbInitializing DynamoDB Local with the following configuration:
Port: 8000
InMemory: true
Version: 3.3.0アイテムを書き、コンテナを再起動して、もう一度探してみます。
after write: {"total":{"N":"42"},"pk":{"S":"ORDER#1"}}
tables after restart: []
read after restart: ResourceNotFoundException | Cannot do operations on a non-existent table消えたのはアイテムだけでなく、テーブルごとです。このフラグはテスト用エミュレーターのものです。マネージドサービスに同等の設定はなく、確認応答された書き込みが RAM にしか存在しないようなモードもありません。
DAX、インメモリの層
マイクロ秒が効いてくる場面 — リアルタイム入札、ゲームのリーダーボード、人気商品のページ — での AWS の答えが DAX です。DynamoDB 互換のライトスルー型インメモリキャッシュで、わずかなコード変更で結果整合性のある読み取り性能を桁違いに改善します。強い整合性のある読み取りや書き込み中心のワークロードには向きません。
読み取りに払うか、キャッシュを足すか
DAX はホットなキーの読み取りレイテンシを下げますが、元のテーブルを小さくすることも、書き込みの耐久性を変えることもありません。DAX を前段に置いても置かなくても、確認応答された PutItem は 3 つのアベイラビリティーゾーンのディスクに書かれます。10 GB のテーブルでは、強力な整合性の Scan は us-east-1 のオンデマンドでおよそ 250 万 読み取りリクエストユニットになります — キャッシュクラスターのサイズを決める前に、料金計算ツールで自分のパターンを測ってください。
DynoTable では: クエリのプレビューが Scan と Query のどちらかを明示し、テーブルのメタデータが揃っていれば RCU の見積もりも表示します。全件読み取りのコストを、実行する前に確認できます。通常のパーティションキーによる Query では RCU の行は出ません。SQL Workbench — クエリコストのプレビューを参照してください。
さらに詳しく
整合性のトレードオフは整合性ガイドで理解し、逆側の問いはDynamoDB はキャッシュとして使えますか?を参照し、読み取りコストは料金計算ツールで見積もり、テーブルを調べるにはDynoTable をダウンロードしてください。
参考資料
- In-memory acceleration with DynamoDB Accelerator (DAX) — Amazon DynamoDB Developer Guide
- What is Amazon DynamoDB? — Amazon DynamoDB Developer Guide
- DynamoDB read consistency — Amazon DynamoDB Developer Guide
- Setting up DynamoDB local (downloadable version) — Amazon DynamoDB Developer Guide
最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。
2026-07-28 に、Node v24.18.0 上の @aws-sdk/client-dynamodb 3.1095.0 で DynamoDB Local 3.3.0 に対して再現しました。バナーと 3 行の出力は逐語です。