DynamoDB 是記憶體資料庫嗎?

不是。DynamoDB 不是記憶體資料庫——每一次寫入都會被持久化到持久儲存上,並自動跨三個可用區複製。當你需要記憶體級速度時,DynamoDB Accelerator(DAX)會加上一層全託管的記憶體快取,把最終一致讀取從個位數毫秒壓到微秒。

從設計上就是持久的

DynamoDB 是一個持久化的操作型資料庫:寫入被存放在持久介質上,並預設跨三個可用區複製,支撐著 99.99% 的可用性 SLA。這與純記憶體儲存的取捨正好相反——在後者裡資料活在 RAM 中,永續性是可選的。

不加快取它也很快

基礎的 DynamoDB 在任何規模下都提供穩定的個位數毫秒級讀寫,因為每次讀取都直接命中一個分割區索引鍵,而不是去掃描。大多數工作負載壓根不需要快取。

唯一「記憶體版」的 DynamoDB 是那個模擬器

混淆通常從 DynamoDB Local 開始,它確實有一個記憶體模式。啟動它,橫幅就這麼寫著:

docker run -p 8000:8000 amazon/dynamodb-local -jar DynamoDBLocal.jar -inMemory -sharedDb
Initializing 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:那層記憶體

當微秒真的要緊時——實時競價、遊戲排行榜、熱門商品頁——DAX 就是 AWS 的答案:一個與 DynamoDB 相容的寫穿式記憶體快取,用極少的程式碼改動把最終一致讀取的效能提升一個數量級。它不適合強一致讀取或寫密集型工作負載。

深入瞭解

一致性指南裡理解一致性上的取捨,反過來的問題見 DynamoDB 能當快取用嗎?,用定價計算器估算讀取成本,並下載 DynoTable 來檢視你的表。

在 DynoTable: 查詢預覽標籤 ScanQuery 並在表後設資料允許時顯示 RCU 估計,因此您可以在執行之前檢視完整讀取的成本。普通分割區索引鍵 Query 呼叫不會顯示 RCU 線路。參見SQL Workbench — preview the query cost

深入了解

最後核實於 2026-07-13,依據上方連結的 AWS 官方文件。

2026-07-28 針對 DynamoDB Local 3.3.0,經由 @aws-sdk/client-dynamodb 3.1095.0、Node v24.18.0 復現。上方的橫幅與三行輸出均為原樣照錄。

深入了解

根據上面連結的官方AWS文件上次驗證時間為 2026 年 7 月 13 日。

於 2026 年 7 月 28 日在 Node v24.18.0 上透過 @aws-sdk/client-dynamodb 3.1095.0 針對 DynamoDB Local 3.3.0 複製。橫幅和三個輸出行是逐字記錄的。

不必透過主控台就能操作 DynamoDB

一款快速的 DynamoDB 桌面用戶端,可執行 DynamoDB 無法執行的真正 SQL — JOINs、GROUP BY、聚合 — 並支援視覺化編輯與使用你自己的 Bedrock 金鑰的 AI 代理。

30 天免費試用,無需信用卡 — 之後為無時間限制的免費方案。