DynamoDB vs Amazon Aurora

DynamoDB 還是 Aurora 適合我的工作負載?

Amazon DynamoDB 是全受管的 NoSQL 鍵值與文件儲存,專為任何規模下的個位數毫秒效能而打造,且沒有固定 schema。Amazon Aurora 是相容 MySQL 與 PostgreSQL 的受管關聯式資料庫,使用完整 SQL,具備表格、joins 與 ACID 交易。若需要高規模的鍵值存取,選 DynamoDB;若需要關聯式查詢,選 Aurora。

DynamoDB vs Amazon Aurora 一覽

特性DynamoDBAmazon Aurora
資料模型NoSQL 鍵值與文件儲存;無 schema(僅需 primary key)關聯式:具有已定義 schema 與關係的結構化表格、列與欄
查詢語言AWS SDK/API 操作外加 PartiQL,一種用於 select/insert/update/delete 的 SQL 相容查詢語言完整 SQL,相容 MySQL 或 PostgreSQL
Joins沒有伺服器端 joins;你需事先為存取模式建模(通常採單一表格設計)透過關聯式引擎,跨表格原生 SQL JOIN
索引local 與 global secondary index(LSI / GSI)MySQL/PostgreSQL 提供的標準關聯式索引(primary 與 secondary)
一致性預設為最終一致讀取;可依請求使用強一致讀取強一致,具備完整關聯式完整性
擴充跨 partition 水平擴充;每個表格的項目數或表格大小沒有上限;隨需或佈建容量一個 writer 外加最多 15 個低延遲唯讀複本,橫跨三個可用區域;儲存自動成長至 256 TiB;Aurora Serverless v2 自動擴充容量
交易單一 Region 內最多 100 個項目(合計 4 MB)的 ACID 交易完整的多語句 ACID 交易
定價模型隨需或佈建容量(讀/寫單位)外加儲存執行個體容量(On-Demand 或 Reserved)或 Aurora Serverless v2,外加儲存與 I/O
最適合Web 規模的鍵值/文件工作負載,可預測的低延遲需要 joins、複雜查詢與 SQL 熟悉度的關聯式工作負載

何時 DynamoDB 是較佳選擇

當你的存取模式已知且基於鍵,並且需要隨流量成長仍可預測的個位數毫秒延遲時,DynamoDB 很適合。根據 AWS DynamoDB Developer Guide,它設計為在分散式硬體上向外擴充,項目數量或總表格大小沒有上限,這適合 Web 規模的應用,例如社交網路、遊戲、媒體分享與 IoT。當你想要無伺服器的營運模型、無需調整執行個體大小,以及當彈性、半結構化的項目形狀(包含 JSON)是一項優勢時,它是很好的搭配。若你的工作負載是間歇性或本質為鍵值,DynamoDB 的按請求計費模型可讓成本緊貼使用量。

何時 Aurora 是較佳選擇

Aurora 適合關聯式工作負載:具有真實關係的資料、複雜的臨機查詢、joins、彙總,以及 SQL 為自然工具的報表。由於 Aurora 相容 MySQL 與 PostgreSQL,既有的 SQL 程式碼、工具與 ORM 通常只需極少改動即可運作,已熟練 SQL 的團隊也能延續其技能。當跨許多相關表格的強一致性與關聯式完整性很重要,或當你需要橫跨豐富 schema 的多語句交易時,Aurora 是強力選擇。AWS 也指出兩者往往互補 — 例如 DynamoDB 用於熱路徑,Aurora 用於分析或報表路徑。

使用 DynamoDB

選定 DynamoDB 之後,DynoTable 是一款桌面版 DynamoDB 用戶端,無需 AWS Console 即可瀏覽、編輯與查詢表格。由於 DynamoDB 沒有伺服器端 joins,針對你的鍵與索引表達查詢正是日常工作大部分心力所在。免費的 DynamoDB Expression Builder 協助你組合 key condition、filter expression 與 projection,並產出對應的 SDK、CLI 或 PartiQL 程式碼。DynoTable 是一款閉源商業應用程式;它讀取你標準的 AWS 憑證並直接與 DynamoDB 通訊,因此從其他用戶端切換時無需遷移任何東西。

FAQ

DynamoDB 比 Aurora 便宜嗎?

視工作負載而定 — 兩者都不是普遍較便宜的。DynamoDB 按隨需或佈建的讀/寫容量外加儲存計費,因此成本緊貼請求量,且在閒置時可趨近於零。Aurora 按執行個體容量(或 Aurora Serverless v2)外加儲存與 I/O 計費。對於間歇性的鍵值流量,DynamoDB 的按請求模型往往成本較低;對於持續、高流量的關聯式工作負載,佈建的 Aurora 叢集可能更經濟。決定之前,先為你自己的讀/寫模式建模。

無伺服器應用要選 Aurora 還是 DynamoDB?

兩者都提供無伺服器風格的營運,因此決定因素是資料模型,而非計費模型。DynamoDB 天生就是無伺服器 — 沒有執行個體需要管理、容量自動擴充、按請求定價 — 這適合大規模的鍵值與文件存取。Aurora Serverless v2 自動擴充關聯式引擎(並可在閒置時縮至零),適合真正需要 SQL、joins 與關聯式完整性的無伺服器應用。若是鍵值存取模式選 DynamoDB,若你的應用本質為關聯式則選 Aurora。

相關

最後驗證於 2026-07-12,對照 AWS DynamoDB Developer Guide 與 Amazon Aurora 文件。Amazon DynamoDB、Amazon Aurora、MySQL 與 PostgreSQL 為 其各自擁有者的商標;此處引用僅供識別之用。

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

DynoTable 是一款快速的 DynamoDB 桌面用戶端 — 瀏覽表格、執行 SQL 風格的查詢,並在本機編輯項目。