DynamoDB 能儲存多少資料?

實質上沒有上限。DynamoDB 表格沒有最大容量,並會水平擴充到任意數量的項目與位元組。真正的限制是每個項目的上限(400 KB),以及僅在具有 local secondary index 的表格上,每個項目集合(同一個 partition key 值)10 GB。沒有 LSI 的表格則沒有分割區大小上限。

表格大小:沒有天花板

DynamoDB 會在資料成長時自動把它分散到許多實體分割區上。沒有可設定的最大表格容量 — 容量與儲存會隨著你寫入而擴充。

確實存在的那些限制

  • 400 KB — 單一項目的大小上限,以二進位單位計算,而且屬性名稱與值都算在內(那條界線確切落在哪裡)。
  • 10 GB — 單一項目集合(所有共用同一個 partition key 值的項目)的大小上限,而且僅在表格具有 local secondary index(LSI)時適用。沒有 LSI,這個上限就不適用。

你量得到的大小不是你付錢的大小

要回答「我到底存了多少」,最明顯的方式是 DescribeTable,它會回傳 TableSizeBytes。那個數字比你的帳單小,而且是刻意如此。引用 AWS 的計費指引:"DynamoDB measures the size of your billable data by adding the raw byte size of your data plus a per-item storage overhead that depends on the features you have enabled",以及 "Storage usage values in the CUR will be higher compared with the storage values when using DescribeTable, because DescribeTable does not include the per-item storage overhead."

那也符合引擎自己回報的結果。一張裝了 40 個約 3 KB 項目的表格回來的是 TableSizeBytes: 120700,那就是原始內容,別無其他。額外開銷從 API 完全看不見,只會出現在成本與用量報告裡。

所以這兩者之間的落差是隨著項目數量成長,不是項目大小。一千萬個小項目要付那筆開銷一千萬次;同樣的位元組塞進十萬個較大的項目,就只付十萬次。如果你的帳單跑在 TableSizeBytes 所暗示的數字之前,通常的原因就是一張由小列組成的寬表格。

「沒有天花板」要花多少錢

儲存是寬容的那一半。us-east-1 的一張 1 TB 表格是 1,024 GB,每 GB-月 0.25 美元:每月 256 美元,套用 25 GB 免費額度後是 249.75 美元。

項目大小則是不寬容的那一半,因為寫入是以每 1 KB 進位。同樣的一百萬個項目,寫入的花費差距極大,隨需寫入請求單位是每百萬 0.625 美元:

項目大小每個的寫入單位100 萬次寫入(us-east-1,隨需)
1 KB1$0.63
100 KB100$62.50
400 KB400$250.00

所以你該圍繞著設計的量並不是表格的大小,而是項目的大小。把大型 BLOB 推到 S3、在 DynamoDB 裡留下指標,並避免在熱門鍵底下出現無界的項目集合。在定價計算機裡核對你自己的數字。

深入了解

閱讀 DynamoDB 項目集合DynamoDB partition key 的運作方式下載 DynoTable 即可有效率地探索大型表格。

參考資料

最後驗證於 2026-07-13,對照上方連結的官方 AWS 文件;配額與價格已於 2026-07-28 重新查核。

TableSizeBytes 這個數字是於 2026-07-28 透過 @aws-sdk/client-dynamodb 3.1095.0,對照 DynamoDB Local 3.3.0(amazon/dynamodb-local:latest)量測而得。DynamoDB Local 並不是那個服務,我們也沒有從它推導出任何每項目開銷常數。

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

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

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