Learn DynamoDB

學習 DynamoDB

用正確的方式學 DynamoDB——一套結構化課程,從基礎一路到資料建模、索引、運算式、PartiQL、工具與內部原理。

DynamoDB 基礎——資料型別、項目集合與複合主索引鍵。課程其餘部分都建立在這些基礎機制之上。

已讀 0 / 9測驗
何時該用 DynamoDB(以及何時不該)
何時該用 DynamoDB,何時不該。哪些訪問模式、規模與成本訊號讓它優於關係型資料庫,以及哪些工作負載並不適合它。
入門閱讀時間 9 分鐘
DynamoDB 資料型別:全部型別及示例
DynamoDB 的十種資料型別——標量(S、N、B、BOOL、NULL)、文件(M、L)和 Set(SS、NS、BS),它們在 DynamoDB-JSON 中的樣子,以及哪些可以做鍵。
入門閱讀時間 6 分鐘
DynamoDB JSON 與 Marshalling
DynamoDB JSON 與 marshalling——為什麼每個值都被裹進一個型別標籤、這種格式和普通 JSON 有何不同,以及如何在兩者之間轉換。
入門閱讀時間 6 分鐘
DynamoDB 項目大小上限(400 KB)
DynamoDB 的 400 KB 項目大小上限 — 哪些內容會算進去、屬性名稱與巢狀結構如何累加,以及如何透過建模避開無界的項目成長。
入門閱讀時間 5 分鐘
DynamoDB 基於項的操作
DynamoDB 基於項的操作——GetItem、PutItem、UpdateItem 和 DeleteItem 各自用完整主索引鍵定位一個項目,以及它們與 Query 和 Scan 的區別。
入門閱讀時間 7 分鐘
DynamoDB 項集合
什麼是 DynamoDB 項集合——所有共享同一個分割區索引鍵的項——為什麼它是高效 Query 讀取的單位,以及要留意的那些限制。
入門閱讀時間 8 分鐘
DynamoDB 複合主索引鍵:分割區索引鍵與排序索引鍵詳解
DynamoDB 複合主索引鍵是一個分割區索引鍵加一個排序索引鍵 —— 它把相關的項分到一組,並解鎖簡單鍵做不到的範圍查詢。
入門閱讀時間 7 分鐘
DynamoDB 強一致讀取與最終一致讀取
DynamoDB 強一致讀取與最終一致讀取——各自保證什麼、ConsistentRead 的 2 倍 RCU 成本,以及為什麼 GSI 只支援最終一致。
中階閱讀時間 7 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

DynamoDB 資料建模——單表設計、從存取模式出發的建模、type 屬性、非正規化,以及何時「一張表」是錯誤選擇。

已讀 0 / 7測驗

在 DynamoDB 中建模關聯——一對多、多對多、鄰接表模式、複合排序索引鍵與參考計數,全部不靠 join。

已讀 0 / 6測驗

查詢與排序 DynamoDB——Query vs Scan、分頁、篩選運算式、為什麼 Scan 又慢又貴、平行 Scan,以及包含零填充在內的排序索引鍵策略。

已讀 0 / 10測驗
DynamoDB Query 與 Scan:該用哪個,為什麼(含示例)
DynamoDB 中的 Query 與 Scan——Query 唯讀取一個項目集合並按匹配到的項目計費,而 Scan 會在任何 FilterExpression 生效之前讀完整張表。
入門閱讀時間 7 分鐘
DynamoDB 分頁:LastEvaluatedKey 詳解(含示例)
用 LastEvaluatedKey 和 ExclusiveStartKey 正確地對 DynamoDB 結果分頁,為什麼 Limit 不是頁大小,以及如何向用戶端暴露一個無狀態遊標。
入門閱讀時間 7 分鐘
DynamoDB 篩選策略
DynamoDB 篩選策略對比——分割區索引鍵、排序索引鍵、稀疏索引和 FilterExpression——以及哪一個真正削減你的讀取賬單。
中階閱讀時間 8 分鐘
為什麼 DynamoDB Scan 又慢又貴
為什麼 DynamoDB Scan 又慢又貴,它實際向你計費的是什麼,以及如何把一次條件反射式的 Scan 變成成本只有零頭的按鍵 Query。
入門閱讀時間 6 分鐘
DynamoDB 並行掃描
DynamoDB 並行掃描如何用 Segment 和 TotalSegments 把整表讀取拆分給多個工作程序,何時有幫助,以及要避開的吞吐量陷阱。
進階閱讀時間 7 分鐘
DynamoDB 排序鍵策略:3 種模式及適用情境
為範圍讀取設計的 DynamoDB 排序索引鍵策略 — 讓排序索引鍵的位元組順序吻合你的讀取順序,一次 Query 就能服務多種存取模式。
中階閱讀時間 8 分鐘
如何按降序查詢 DynamoDB
用 ScanIndexForward=false 按降序查詢 DynamoDB——最新在前的結果、為什麼排序發生在排序索引鍵上,以及為什麼反向讀取不額外收費。
入門閱讀時間 7 分鐘
在會變化的屬性上給 DynamoDB 排序
在會變化的屬性上給 DynamoDB 排序——為什麼鍵屬性不可變、刪除後重建的模式,以及改把它放到 GSI 排序索引鍵上。
中階閱讀時間 7 分鐘
DynamoDB 中的補零排序索引鍵
為什麼在 DynamoDB 的字串排序索引鍵裡 "10" 會排在 "2" 前面,以及定寬補零如何讓字典序的位元組順序與數值順序一致。
中階閱讀時間 5 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

DynamoDB 全域次要索引(GSI)的真實成本:實測 GSI 寫入放大、GSI vs LSI vs 篩選運算式決策表,以及綁住你的上限。

已讀 0 / 7測驗

DynamoDB 運算式——條件、更新、鍵條件與投影運算式,以及運算式屬性名稱與值,還有何時必須使用它們。

已讀 0 / 6測驗

DynamoDB 寫入與操作——原子計數器、跨屬性強制唯一性、零停機遷移,以及診斷熱分割區。

已讀 0 / 8測驗
DynamoDB 批次操作
DynamoDB 批次操作——BatchGetItem 每次呼叫讀 100 個項目、BatchWriteItem 寫 25 個、為什麼批次不是事務,以及如何重試剩下的項目。
中階閱讀時間 7 分鐘
如何在 DynamoDB 中刪除多個項
如何在 DynamoDB 中刪除多個項——BatchWriteItem、TransactWriteItems、PartiQL 批次和 TTL——以及為什麼不存在 DELETE ... WHERE 語句。
入門閱讀時間 7 分鐘
DynamoDB ReturnValues:拿回舊項或新項
DynamoDB ReturnValues 能在不做第二次讀取的情況下,從 PutItem、UpdateItem 或 DeleteItem 拿回舊項或新項——五個選項以及各自何時有用。
中階閱讀時間 5 分鐘
DynamoDB 原子計數器:ADD 如何工作,以及何時失效
DynamoDB 原子計數器如何配合 ADD 更新運算式工作、它們為何不具冪等性,以及何時應改用條件更新。
中階閱讀時間 5 分鐘
在 DynamoDB 中對多個屬性強制唯一性
如何在 DynamoDB 中對多個屬性強制唯一性約束 — email 與 username 同時唯一 — 利用標記項目與帶條件保護的 TransactWriteItems。
進階閱讀時間 6 分鐘
不停機的 DynamoDB 遷移
不停機的 DynamoDB 遷移 —— 如何用惰性回填、線上 GSI 和雙寫,給一張活的表新增一種新實體型別和訪問模式。
進階閱讀時間 6 分鐘
DynamoDB 熱分區:如何找到並修復它們
DynamoDB 熱分區是指一個分區鍵吸收了不成比例的流量和限制 - 如何發現並設計它。
中階閱讀時間 8 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

DynamoDB 上的 PartiQL 與 SQL——什麼是 PartiQL、它做不到什麼,以及 DynoTable Workbench 如何在 DynamoDB 規則內執行 JOIN、GROUP BY 與彙總。

已讀 0 / 7測驗

DynamoDB 工具——DynamoDB Local、LocalStack、最佳 GUI 用戶端、檢視與編輯資料、複製資料表、CSV 匯出與 MCP 伺服器。

已讀 0 / 14
如何用 Docker 執行 DynamoDB Local:完整指南
用 Docker 執行 DynamoDB Local 進行離線開發和測試——啟動容器,把 SDK 指向本地端點,並建立一張表。
入門閱讀時間 5 分鐘
如何連線到 DynamoDB Local 和 LocalStack
如何將 GUI 連線到 DynamoDB Local 和 LocalStack —— 端點、虛擬憑證、常見錯誤。用 DynoTable 視覺化地瀏覽和查詢本地表。
中階閱讀時間 7 分鐘
2026 年最佳 DynamoDB GUI 用戶端
2026 年 DynamoDB GUI 用戶端實測對比 —— NoSQL Workbench、Dynobase、Dynomate、DbVisualizer、DocKit、dynamodb-admin、DynoTable —— 附註明日期、經過核實的價格。
入門閱讀時間 14 分鐘
2026 年值得一讀的 DynamoDB 書
2026 年真正值得花錢的兩本 DynamoDB 書、各自要價多少,以及每一本因為出版太早而沒能涵蓋哪些 DynamoDB 功能。
入門閱讀時間 6 分鐘
如何檢視、瀏覽和編輯 DynamoDB 資料
如何瀏覽、篩選和編輯 DynamoDB 資料,以及每個動作實際執行的是哪個 API 操作——Scan、Query、GetItem、PutItem、UpdateItem、DeleteItem。
入門閱讀時間 7 分鐘
把 DynamoDB 表複製到另一個帳戶或區域
把 DynamoDB 表複製到另一個帳戶或區域——先匯出資料,再用 scan 加寫入、S3 匯出/匯入、AWS Backup 或全域性表恢復。
入門閱讀時間 8 分鐘
如何把 DynamoDB 表匯出為 CSV(4 種方法)
如何把 DynamoDB 表匯出為 CSV——DynoTable 中一鍵的篩選匯出、配合 jq 的 AWS CLI 掃描、託管的 S3 匯出,或者寫個指令碼。
入門閱讀時間 12 分鐘
從 DynamoDB 生成 TypeScript 型別
DynamoDB 不儲存項目 schema,所以 DescribeTable 給不了你型別。手寫一個 interface、用 schema 優先的庫,或者從真實項目裡推斷。
中階閱讀時間 6 分鐘
如何用 AI(自然語言)查詢 DynamoDB
如何用自然語言查詢 DynamoDB。API 本身沒有自然語言 endpoint,所以來比較一下 LLM 起草的 PartiQL、MCP 智慧體和感知 schema 的工具。
入門閱讀時間 6 分鐘
DynamoDB MCP 伺服器:Claude Code、Cursor、Codex
透過 MCP 讓 AI 智慧體實時訪問你的 DynamoDB 表——面向 Claude Code、Cursor 和 Codex 的各種選擇,以及如何避免把 AWS 金鑰交出去。
中階閱讀時間 7 分鐘
面向 Claude Code 的 DynamoDB MCP
透過 MCP 把 Claude Code 連線到 DynamoDB——確切的 claude mcp add 命令、該用哪個作用域註冊,以及如何不讓你的 AWS 金鑰進入智慧體。
中階閱讀時間 8 分鐘
面向 Cursor 的 DynamoDB MCP
透過 MCP 把 Cursor 連線到 DynamoDB——.cursor/mcp.json 配置、項目級與全域性作用域、如何啟用伺服器,以及如何不讓 AWS 金鑰進入你的倉庫。
中階閱讀時間 7 分鐘
面向 Codex 的 DynamoDB MCP
透過 MCP 把 OpenAI Codex 連線到 DynamoDB——~/.codex/config.toml 條目、mcp_servers 的 snake_case 陷阱、傳輸方式的選擇,以及啟動超時。
中階閱讀時間 6 分鐘
ExtendDB:在你自己的資料庫上執行 DynamoDB API
ExtendDB 是 AWS 開源的介面卡,能用你自己執行的資料庫(比如 PostgreSQL)提供 DynamoDB API。你的 AWS SDK 無需改動即可繼續工作。
中階閱讀時間 7 分鐘

DynamoDB 營運與成本——交易、Streams、TTL、隨需 vs 預先佈建容量、全域資料表與備份/PITR,以一個執行中的 SaaS 來教。

已讀 0 / 11測驗
DynamoDB 成本模型:為何 SQL 會隱藏帳單
為什麼在 DynamoDB 上跑 SQL 會藏起帳單 — join、任意的 WHERE 篩選與聚合如何編譯成 Scan,以及 Query 對 Scan 背後的 RCU 計算。
中階閱讀時間 4 分鐘
DynamoDB Transactions 完整指南(含範例)
用 TransactWriteItems 的 DynamoDB 交易 — 最多 100 個全有全無的動作、4 MB 上限、加倍的寫入容量,以及衝突如何導致取消。
進階閱讀時間 6 分鐘
DynamoDB Streams 完整指南(含範例)
DynamoDB Streams — 24 小時的變更資料擷取日誌、四個 StreamViewType 選項、每個項目有序的記錄,以及在項目變更時觸發 Lambda。
進階閱讀時間 6 分鐘
DynamoDB TTL 完整指南:讓項目自動過期
當 Unix-epoch 時間戳屬性過期後,DynamoDB TTL 會自動刪除項目,通常在幾天之內,而且這些刪除不消耗寫入容量。
中階閱讀時間 4 分鐘
DynamoDB 隨需對佈建容量
DynamoDB 隨需對佈建容量 — 按請求付費對預留輸送量、各自何時較便宜,以及流量的形狀如何決定該用哪種模式。
中階閱讀時間 6 分鐘
如何設定 DynamoDB 自動擴展
在佈建容量上設定 DynamoDB 自動擴展 — 主控台與 CLI 步驟、如何挑選目標使用率與最小/最大值,以及仍會造成節流的限制。
中階閱讀時間 8 分鐘
DynamoDB 節流——為什麼會發生,以及如何修正
DynamoDB 為什麼會節流 — 四個有記載的成因、每個分割區每秒 3,000 讀取與 1,000 寫入單位的上限,以及各自的修正方式。
中階閱讀時間 8 分鐘
DynamoDB 表的大小與項數
獲取 DynamoDB 表的大小和項數——用免費但最多滯後六小時的 DescribeTable 估算值,或者用 Scan Select COUNT 精確計數。
入門閱讀時間 5 分鐘
DynamoDB Global Tables:多區域複寫詳解
DynamoDB Global Tables — 跨區域主動-主動複寫、最後寫入者勝出的衝突解決、MREC 與 MRSC 一致性模式,以及 99.999% 的 SLA。
進階閱讀時間 6 分鐘
DynamoDB 備份與時間點還原(PITR)完整指南
DynamoDB 備份與時間點還原 — 隨需快照對持續 PITR、1 到 35 天的視窗,以及還原不會帶回來的那些設定。
中階閱讀時間 7 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

DynamoDB 內部原理——分割區索引鍵、自適應容量、GSI 儲存、實體分割區與請求路由如何運作,並回溯到 Dynamo 論文。

已讀 0 / 8測驗
DynamoDB 分割區索引鍵如何工作
DynamoDB 分割區索引鍵如何工作——把鍵對映到物理分割區的雜湊、為什麼你的鍵選擇決定吞吐,以及如何避開熱分割區。
中階閱讀時間 7 分鐘
DynamoDB 自適應容量:能做什麼,不能做什麼
DynamoDB 的 adaptive capacity 與 burst capacity — 它們如何吸收尖峰、自動為熱分割區加速,以及兩者都突破不了的分割區上限。
進階閱讀時間 6 分鐘
一個 DynamoDB GSI 在內部是如何儲存的
一個 DynamoDB GSI 是如何儲存的——它自己的分割區空間、來自基表的非同步複製、只有被投影的屬性,以及隔離的容量。
進階閱讀時間 8 分鐘
DynamoDB 物理分割區
DynamoDB 物理分割區如何運作——10 GB、3000 RCU 和 1000 WCU 的上限,分割區如何分裂,以及為什麼一個熱鍵會在還有富餘容量時限流。
進階閱讀時間 7 分鐘
DynamoDB 的儲存內部機制是如何工作的
DynamoDB 的儲存內部機制是如何工作的 —— 分割區雜湊、用於排序索引鍵範圍的每分割區 B 樹,以及跨三個可用區的法定多數複製,逐一講解。
進階閱讀時間 7 分鐘
DynamoDB 的請求路由是如何工作的
DynamoDB 的請求路由是如何工作的 —— 請求路由器對分割區索引鍵做雜湊以定位到正確的儲存節點,以及這為何能修復按鍵的延遲問題。
進階閱讀時間 7 分鐘
從 Dynamo 論文到 DynamoDB
從 2007 年的 Amazon Dynamo 論文到 DynamoDB——原始的一致性雜湊、quorum 設計引入了什麼,以及 AWS 保留了什麼、又悄悄替換了什麼。
進階閱讀時間 6 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

更多 DynamoDB 資源

準備好把它付諸實踐了嗎?

瀏覽、查詢並建模你自己的 DynamoDB 資料表 — DynoTable 的 SQL Workbench 與 AI 代理在你的 AWS 上執行。30 天免費試用,無需信用卡 — 之後為無時間限制的免費方案。