DynamoDB 是開源的嗎?

不是。DynamoDB 是專有、全受管的 AWS 服務 — 原始碼並未公開,而且你無法自行託管正式環境的引擎。至於本機開發,AWS 提供了 DynamoDB Local,一個免費、可下載的模擬器,另外也有一些第三方資料庫宣稱提供你可以自行執行的 DynamoDB 相容 API。

這在實務上代表什麼

DynamoDB 只在 AWS 內部執行。你是以 API 的形式消費它 — 沒有伺服器軟體可下載、可授權、可檢視或可維運,也沒有社群版。那同時也是它的賣點:AWS 負責建置、修補、複寫、擴充與備份,而這個服務沒有版本,也沒有維護時段。

DynamoDB Local 是免費的,不是開放的

AWS 提供 DynamoDB Local,一個可在你電腦上執行的 DynamoDB 下載版,形式為 Docker 映像檔、Java archive 或 Apache Maven 相依項。它免費可用、可離線運作,但它是供開發與測試用的模擬器 — 不是正式環境的引擎,而且同樣不是開源的。

模擬器不是引擎

這個落差比授權更重要,因為模擬器從不強制執行容量。建一張 1 RCU 的表格,存一個略小於 4 KB 的項目,然後在循序迴圈中以強一致方式讀回它:

for (let i = 0; i < 500; i++) {
  await client.send(
    new GetItemCommand({TableName: 'demo', Key: {pk: {S: 'HOT'}}, ConsistentRead: true})
  );
}

500 次讀取在 353 毫秒內完成,而且沒有任何東西被節流。那大約是每秒 1,400 次強一致讀取,而那張表格只佈建了一個單位。模擬器收下 ProvisionedThroughput,然後忽略它。

對真正的服務執行同樣形狀的迴圈,會在第 49 次讀取時被節流,也就是累積的爆量額度用完之後。

所以一次在本機一路綠燈的負載測試,對容量什麼都沒告訴你。本機測試重試與退避也一樣沒用,因為根本沒有東西會被節流到需要重試。

相容的替代方案

由於 DynamoDB API 有完整文件,有些開源與第三方資料庫實作了 DynamoDB 相容的 endpoint。相容程度因功能而異,所以在把它們任何一個當成無痛替代品之前,請先驗證你仰賴的那些操作(交易、streams、secondary index)。

深入了解

DynamoDB Local 指南在本機執行模擬器,在運算式建構器裡以視覺化方式建構查詢,並下載 DynoTable — 它能同時連接 AWS 與本機端點。

參考資料

最後驗證於 2026-07-13,對照上方連結的官方 AWS 文件。

已於 2026-07-28 在 Node v24.18.0 上,透過 @aws-sdk/client-dynamodb 3.1095.0 對照 DynamoDB Local 3.3.0 量測。第 49 次讀取那個線上服務的數字,來自我們自己較早前對 us-east-1 的 DynamoDB 所做的重現。

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

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

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