寫入與維運

讀取拿走了關注,但寫入才是正確性與維運痛苦所在之處。沒有會掃描的 UPDATE … WHERE、沒有跨欄的唯一性約束,也沒有用來重塑你資料的 ALTER TABLE。你得自己用條件式寫入與鍵設計打造出那些保證。

本節涵蓋你在正式環境中會用到的寫入模式,以及那些因把它們做錯而衍生的維運問題 — 搞砸的遷移、熱鍵。

已讀 0 / 8測驗
DynamoDB 批次操作:BatchGetItem 與 BatchWriteItem
DynamoDB 批次操作 — BatchGetItem 每次呼叫讀 100 個項目、BatchWriteItem 寫 25 個、批次為何不是交易,以及如何重試剩下的項目。
中階閱讀時間 5 分鐘
如何在 DynamoDB 中刪除多個項目
如何在 DynamoDB 中刪除多個項目 — BatchWriteItem、TransactWriteItems、PartiQL 批次與 TTL — 以及為什麼沒有 DELETE ... WHERE 這種語句。
入門閱讀時間 7 分鐘
DynamoDB ReturnValues:從一次寫入取得舊的或新的項目
DynamoDB ReturnValues 能從 PutItem、UpdateItem 或 DeleteItem 拿回舊的或新的項目,不必再讀一次 — 五個選項,以及各自何時派上用場。
中階閱讀時間 3 分鐘
DynamoDB 原子計數器
DynamoDB 原子計數器如何以一個 ADD 更新運算式運作、它們為何不具冪等性,以及何時該改用一個條件式更新。
中階閱讀時間 5 分鐘
在 DynamoDB 中對多個屬性強制唯一性
如何在 DynamoDB 中對多個屬性強制唯一性約束 — email 與 username 同時唯一 — 利用標記項目與帶條件保護的 TransactWriteItems。
進階閱讀時間 6 分鐘
不停機的 DynamoDB 遷移
不停機的 DynamoDB 遷移——如何用延遲回填、線上 GSI 和雙寫,把一個新實體類型和存取模式加進一張上線中的表。
進階閱讀時間 6 分鐘
DynamoDB 熱分割區
DynamoDB 熱分割區指的是當某個分割區索引鍵吸收了不成比例的流量份額而遭到節流。以下說明如何辨識它,並在設計上把它排除。
中階閱讀時間 8 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

若你會寫並行更新,就從原子計數器開始;若你正盯著一場 schema 變更,就跳到遷移。

試用 DynoTable 來執行條件式寫入並即時觀看結果。