DynamoDB 是多區域的嗎?

可以是。一張標準的 DynamoDB 資料表住在單一區域,但全域資料表能讓它成為多區域、多主動的,會自動在你選定的區域之間複寫,讓你在其中任一個區域都能讀寫。全域資料表提供高達 99.999% 的可用性,並可選擇最終一致或選用的多區域強一致性。

標準資料表與全域資料表

預設情況下,一張資料表只存在於單一區域。開啟全域資料表就能在其他區域加上複本資料表;DynamoDB 接著會自動讓它們保持同步。

多主動複寫

每個複本都同時接受讀取與寫入。對任一區域的寫入都會傳播到其他區域 — 沒有主要區域,某個區域無法使用時也沒有容錯移轉的步驟。

一致性的選擇

  • 多區域最終一致性(MREC)— 預設值:寫入以非同步方式複寫,通常在一秒之內。衝突以最後寫入者勝出的方式解決。
  • 多區域強一致性(MRSC)— 在建立時選定:每次寫入在回傳之前都會同步複寫到至少一個其他區域,所以在任一複本上的強一致性讀取都會回傳最新的項目。MRSC 資料表剛好部署在三個區域(三個複本,或兩個複本加一個見證者),且不支援 TTL、LSI 或交易 API。

第三個區域要花多少錢

每個複本都持有資料表的一份完整副本,所以儲存費用會在每個區域依該區域自己的費率計費。那些費率並不相等,所以那個倍數永遠不會是漂亮的 3 倍。

以 100 GB 為例,依我們同步下來的 AWS 費率表計價:

區域儲存,100 GB/月
us-east-1(北維吉尼亞)$25.00
eu-west-1(愛爾蘭)$28.30
sa-east-1(聖保羅)$37.50
三區域全域資料表$90.80

那是單一區域帳單的 3.63 倍,換得三個複本,而移動這個數字的是區域組合。把聖保羅換成東京(ap-northeast-1,$28.50),同樣三份副本要價 $81.80。

寫入帶著它自己的倍數。AWS 把它們計費為 "replicated write request units (rWRU) for on-demand capacity and replicated write capacity units (rWCUs) for provisioned capacity",所以一次邏輯上的寫入會在每個複本區域各收一次費。

這件事你無法在本機預演

DynamoDB Local 實作了大部分的資料平面,但沒有複寫。加入一個複本會被當成沒有作用的操作接受,而不是被當成不支援而拒絕,那反而是更危險的失敗方式:

UpdateTable with ReplicaUpdates:
ValidationException: Nothing to update

CreateGlobalTable:
UnknownOperationException: An unknown operation was requested.

所以一個本機整合測試可以通過,而你的複寫假設卻從來沒有被驗證過。衝突解決、複寫延遲與 MRSC 的區域規則,只有在面對真實區域時才會現形。

為什麼要用它

替全球分散的使用者提供低延遲的就近存取,外加韌性與營運持續性。

深入了解

閱讀 DynamoDB 全域資料表指南。下載 DynoTable 就能跨你的複本區域工作。

參考資料

最後查證於 2026-07-13,對照上方連結的官方 AWS 文件;複寫寫入的計費用語已於 2026-07-28 重新核對。

儲存費用數字於 2026-07-28 依我們同步的 AWS 定價表計算。模擬器的回應在同一天透過 @aws-sdk/client-dynamodb 3.1095.0,對照 DynamoDB Local 3.3.0 重現,並為逐字原文。

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

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

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