DynamoDB 項目大小計算機
以 JSON 貼上一個 DynamoDB 項目,即可查看它確切的位元組大小,以及它所消耗的讀取與寫入容量單位 — 然後用連結分享結果。
依 AWS 大小計算規則估算。也需要費用嗎? 定價計算機
為何項目大小很重要
在 DynamoDB 中你不是按列付費 — 而是為每個操作所消耗的容量付費,而該容量是項目大小的函數。讀取最多 4 KB 的項目花費一個讀取單位;寫入最多 1 KB 花費一個寫入單位。只要超過邊界一個位元組,操作就會向上進位到下一個單位,因此一個從 4 KB 悄悄增長到 4.1 KB 的項目,讀取成本就會翻倍。
項目大小也限制了 DynamoDB 能儲存的內容:單一項目,包含每個屬性名稱與值,必須保持在 400 KB 以下。大型 blob 應存放在 S3,並在項目中放置一個指標。在設計存取模式之前先了解位元組大小,有助於讓熱門項目保持精簡、有效率地批次處理,並避免意外的節流。
本計算機將 AWS 所記載的大小計算規則套用到純 JSON:名稱與字串使用 UTF-8 位元組長度、數字使用有效位數編碼,以及巢狀 list 與 map 的每元素負擔。容量格線接著會顯示每種讀取一致性模式,以及標準寫入與交易式寫入的單位。
每個位元組都是一個屬性值 — DynamoDB 資料類型 說明每種類型如何編碼與計算大小。
常見問題
DynamoDB 如何計算項目大小?
項目大小是每個屬性的屬性名稱 UTF-8 位元組長度,加上其值大小的總和。字串以其 UTF-8 位元組計算,數字以有效位數編碼,布林值與 null 各佔 1 位元組,list 與 map 則額外增加 3 位元組的負擔再加上每個元素 1 位元組。本計算機會將這些確切規則套用到你貼上的 JSON。
容量單位如何由項目大小推算而來?
一個讀取容量單位可涵蓋對最多 4 KB 項目的強一致讀取;最終一致讀取花費半個單位,交易式讀取花費兩個單位。一個寫入容量單位可涵蓋最多 1 KB 的寫入,交易式寫入花費兩個單位。項目大小一律向上進位到下一個 4 KB(讀取)或 1 KB(寫入)邊界,最少為一個單位。
DynamoDB 項目的最大大小是多少?
單一 DynamoDB 項目 — 包含該項目及其所有屬性名稱與值 — 不能超過 400 KB。若你的項目較大,請將它拆分到多個項目,或把大型屬性存放在 Amazon S3 並在項目中保留參照。計算機會標示出超過上限的項目。
為什麼我無法輸入 Set 或二進位值?
純 JSON 無法表示 DynamoDB 的 String Set、Number Set、Binary Set 或二進位值 — JSON 陣列一律對應到 List (L),JSON 物件則對應到 Map (M)。若要計算這些類型的大小,請手動以其位元組長度建模,或使用 DynamoDB JSON 轉換器查看屬性值形式。