觀點 · 資訊分享

AWS 推出開源的 ExtendDB 0.1:DynamoDB 的寫法,在筆電和自家機房也能跑

AWS 公開 ExtendDB 0.1,一個開源的 DynamoDB 相容轉接層。程式碼不用改,就能在筆電、地端機房或離線的邊緣環境使用 DynamoDB 的程式模型;首發的儲存後端是 PostgreSQL。

發布
2026-05-21
篇幅
約 3 分鐘 · 1,326 字
結構
7 節 + 3 題常見問題
標籤
#AWS#DynamoDB#ExtendDB#開源#PostgreSQL
AWS 推出開源的 ExtendDB 0.1:DynamoDB 的寫法,在筆電和自家機房也能跑

一句話看懂:AWS 開源了 ExtendDB 0.1,讓你用 DynamoDB 的寫法,把資料存在筆電、地端機房或自己的 PostgreSQL 裡。

ExtendDB:開源的 DynamoDB 相容層資訊圖卡:用 DynamoDB 的寫法,把資料放在自己的 PostgreSQL

先用白話講:ExtendDB 是什麼?

出國旅行時,不同國家的插座長得不一樣,你會帶一個轉接頭,電器本身不用改。

ExtendDB 就是 DynamoDB 的轉接頭:你的程式照舊用 DynamoDB(AWS 的雲端 NoSQL 資料庫,特色是不管資料量多大,回應都維持在個位數毫秒)的方式說話,ExtendDB 在後面把指令翻成別種資料庫聽得懂的語言。

發生什麼事

AWS 在 2026 年 5 月 20 日宣布 ExtendDB 0.1 版,一個開源專案,用可抽換的儲存後端實作 DynamoDB API。官方說明的目標,是讓開發者、平台團隊與企業架構師,在 DynamoDB 託管服務到不了的地方,也能沿用 DynamoDB 的程式模型,而且不用改寫應用程式碼:

  • 開發者的筆電
  • 地端資料中心
  • 離線的邊緣站點

它做了什麼

項目 內容
支援的 API DynamoDB 控制平面與資料平面,包含資料表、項目、資料流(streams)
首發儲存後端 PostgreSQL(參考實作)
擴充方式 社群可新增儲存後端,不必改動核心轉接層
授權與維護 由 AWS 維護,Apache 2.0 授權,在 GitHub 公開開發

給開發者的技術細節

官方提到的使用方式有兩種:

  • 高擬真的本機開發與持續整合(CI)測試:測試時不必連到雲端的 DynamoDB
  • 在地端運行 DynamoDB 形狀的工作負載:背後用你有支援的資料庫

公告沒有列出目前支援哪些 DynamoDB 功能、效能表現或與雲端服務的行為差異。這些請看專案頁面、AWS 資料庫部落格與 GitHub 倉庫,這幾個連結我沒有逐一打開核對,本文只依公告內容整理。

我的看法

我自己接案時,資料庫多半選 PostgreSQL 或 SQL Server,DynamoDB 不是常用選項。但這個專案有一個值得注意的方向:雲端服務的 API 被做成開源轉接層,讓人可以把同一套程式搬到別的地方跑,降低「被綁在某一家」的顧慮。

如果你的專案已經用 DynamoDB,又被要求「客戶機房要能跑」或「開發機要離線測試」,這個專案值得關注。不過目前才 0.1 版,我會先用在本機測試,等功能覆蓋度與社群回饋更清楚了,再評估能不能放進正式環境。

名詞小辭典

  • DynamoDB:AWS 的雲端 NoSQL 資料庫,用資料表與項目存資料,不用自己管伺服器。
  • 轉接層(Adapter):把一種介面翻成另一種介面的中間層,上面的程式不用知道下面換了什麼。
  • CI(持續整合):每次程式碼更新就自動跑測試的流程。
  • 邊緣站點:離資料產生地點很近、可能網路不穩或離線的小型運算環境。

資料來源

常見問題

ExtendDB 是什麼?
一個實作 DynamoDB API 的開源轉接層。你的程式照樣用 DynamoDB 的方式呼叫,資料則存在你自己選的後端資料庫(目前參考實作是 PostgreSQL)。
和 DynamoDB 本身有什麼不同?
DynamoDB 是 AWS 託管的雲端服務;ExtendDB 是軟體,要自己部署與維運,用在 DynamoDB 服務到不了的地方,例如筆電、機房或離線站點。
可以直接用在正式環境嗎?
官方公告提到可用於本機開發、CI 測試,也可在地端資料中心運行 DynamoDB 形狀的工作負載。但目前只是 0.1 版,是否適合你的正式環境,建議自己先測試。
LINE