Learn DynamoDB

學習 DynamoDB

用對的方式學 DynamoDB — 一套結構化課程,從基礎一路貫穿資料模型、索引、expression、PartiQL、工具與內部機制。

DynamoDB 基礎概念 — 資料類型、項目集合與複合主鍵。整套課程其餘內容都奠基於此的基礎機制。

已讀 0 / 9測驗
何時該用 DynamoDB(以及何時不該)
何時該用 DynamoDB(以及何時不該) — 那些讓 DynamoDB 勝過關聯式資料庫的存取模式、規模與成本訊號,以及它不適合的工作負載。
入門閱讀時間 5 分鐘
DynamoDB 資料類型
DynamoDB 資料類型詳解 — 純量(S、N、B、BOOL、NULL)、文件(M、L)與集合(SS、NS、BS)類型,它們在 DynamoDB-JSON 中如何呈現,以及各自如何計算大小。
入門閱讀時間 3 分鐘
DynamoDB JSON 與 Marshalling
DynamoDB JSON 與 marshalling — 為什麼 DynamoDB 把每個值包進一個像 {"S":"..."} 的型別描述符、它與普通 JSON 有何不同,以及如何在兩者之間轉換。
入門閱讀時間 4 分鐘
DynamoDB 項目大小上限(400 KB)
DynamoDB 的 400 KB 項目大小上限 — 哪些東西算進去、屬性名稱與巢狀如何累加、為什麼存在這個上限,以及如何建模以繞過無上界的項目成長。
入門閱讀時間 4 分鐘
DynamoDB 項目層級動作:GetItem、PutItem、UpdateItem、DeleteItem
DynamoDB 項目層級動作 — GetItem、PutItem、UpdateItem 與 DeleteItem — 這四個單一項目操作,各自如何以完整主鍵定位一個項目,以及它們與 Query 和 Scan 有何不同。
入門閱讀時間 5 分鐘
DynamoDB Item Collection
DynamoDB item collection 是什麼 — 每個共用同一 partition key 的 item — 為什麼它是高效 Query 讀取的單位,以及要留意的限制。
入門閱讀時間 8 分鐘
DynamoDB 複合主鍵
DynamoDB 的複合主鍵是一個分割鍵加一個排序鍵——它把相關項目分組在一起,並解鎖了簡單鍵做不到的範圍查詢。
入門閱讀時間 6 分鐘
DynamoDB 強一致讀取 vs 最終一致讀取
DynamoDB 強一致讀取 vs 最終一致讀取 — 各自保證什麼、為什麼最終一致讀取可能回傳陳舊資料、ConsistentRead 的 2× RCU 成本,以及哪些索引支援強一致讀取。
中階閱讀時間 5 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

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

已讀 0 / 7測驗

在 DynamoDB 中建模關係 — 一對多、多對多、鄰接串列模式、複合 sort key 與參照計數,全部都不靠 join。

已讀 0 / 6測驗

查詢與排序 DynamoDB — Query 與 Scan 的取捨、分頁、filter 表達式、為何 Scan 很慢、平行 Scan,以及包含補零在內的 sort key 策略。

已讀 0 / 10測驗
DynamoDB 中的 Query 與 Scan
何時在 DynamoDB 中使用 Query 而非 Scan、為何 Scan 幾乎從來不是你想要的,以及如何建模你的鍵讓 Query 涵蓋你的存取模式。
入門閱讀時間 4 分鐘
DynamoDB 中的分頁
以 LastEvaluatedKey 與 ExclusiveStartKey 正確地對 DynamoDB 結果分頁、為何 Limit 不是頁面大小,以及如何向用戶端公開無狀態的游標。
入門閱讀時間 4 分鐘
DynamoDB 過濾策略
DynamoDB 的過濾策略比較——分割鍵、排序鍵、稀疏索引與 FilterExpression——以及哪一個真正砍掉你的讀取帳單。
中階閱讀時間 7 分鐘
為什麼 DynamoDB Scan 又慢又貴
為什麼 DynamoDB Scan 又慢又貴、它實際就什麼向你收費,以及如何把一個反射性的 Scan 變成只花一小部分成本的 keyed Query。
入門閱讀時間 6 分鐘
DynamoDB 平行掃描
DynamoDB 平行掃描如何用 Segment 與 TotalSegments 把整張資料表的讀取拆分到多個工作者上、它們何時有幫助,以及要避開的吞吐量地雷。
進階閱讀時間 6 分鐘
DynamoDB Sort Key 策略
DynamoDB sort key 策略 — 為範圍查詢、排序,以及在一個 item collection 內的多個存取模式設計可排序的 sort key,附一個 audit-log 演練範例。
中階閱讀時間 8 分鐘
如何以遞減順序查詢 DynamoDB
如何用 ScanIndexForward=false 以遞減順序查詢 DynamoDB — 最新者優先的結果、為何排序發生在 sort key 上,以及如何有效率地往回分頁。
入門閱讀時間 5 分鐘
以會變動(可變)的屬性對 DynamoDB 排序
以會變動的屬性對 DynamoDB 排序 — 為何你無法就地更新鍵屬性、刪除並重建的模式,以及如何用 GSI 讓這個會變動的值存在於基礎表格鍵之外。
中階閱讀時間 5 分鐘
DynamoDB 裡的排序鍵補零
DynamoDB 的排序鍵補零——為什麼在字串排序鍵裡 "10" 會排在 "2" 之前,以及定寬補零的數字如何讓字串順序吻合數字順序。
中階閱讀時間 5 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

DynamoDB secondary index — GSI 與 LSI 的取捨、稀疏 index、key overloading、GSI 的最終一致,以及為何一個 GSI 會節流你基礎表格的寫入。

已讀 0 / 7測驗

DynamoDB 表達式 — condition、update、key condition 與 projection 表達式,加上 expression attribute names 與 values,以及何時非用它們不可。

已讀 0 / 6測驗

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

已讀 0 / 7測驗

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

已讀 0 / 7測驗
DynamoDB PartiQL vs SQL:差異何在(以及哪些會出錯)
DynamoDB PartiQL 看起來像 SQL 卻不是——沒有 JOIN、GROUP BY、子查詢或聚合函式。本文說明兩者差異、哪些會出錯,以及 DynoTable 的 SQL Workbench 如何執行 PartiQL 跑不動的查詢。
入門閱讀時間 7 分鐘
以範例學習 DynamoDB 的 PartiQL
以範例學習 DynamoDB 的 PartiQL — 用 SQL 風格語法寫 SELECT、INSERT、UPDATE、DELETE,以及關於 partition key 與全表掃描的陷阱。
入門閱讀時間 2 分鐘
SQL for DynamoDB:什麼有效、什麼無效,以及 Workbench
你能用 SQL 查詢 DynamoDB 嗎?PartiQL 帶 SQL 風味但受限 — 沒有 JOIN、GROUP BY 或彙總。看看什麼有效、什麼無效,以及 DynoTable 如何執行真正的 SQL。
入門閱讀時間 7 分鐘
DynamoDB JOIN:如何 join 資料表(以及為什麼你通常不能)
DynamoDB 沒有 JOIN,PartiQL 也沒有加上。原因、開發者改用的四種變通做法,以及 DynoTable 的 SQL Workbench 如何執行真正的 JOIN。
中階閱讀時間 9 分鐘
DynamoDB GROUP BY:如何在沒有 GROUP BY 子句的情況下彙總
DynamoDB 與 PartiQL 沒有 GROUP BY,也沒有 COUNT/SUM/AVG。學習彙總模式(原子計數器、Streams + Lambda 彙整、應用程式端分組),以及 DynoTable 如何直接執行 GROUP BY。
中階閱讀時間 9 分鐘
如何在 DynamoDB 中進行 COUNT、SUM 與聚合
如何在 DynamoDB 中計數 item、做 SUM 與聚合——Select=COUNT 能做什麼、不能做什麼,以及 DynoTable 的 SQL Workbench 如何像 SQL 一樣執行 COUNT/SUM/AVG。
入門閱讀時間 8 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

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

已讀 0 / 8
使用 Docker 執行 DynamoDB Local
使用 Docker 執行 DynamoDB Local 以進行離線開發與測試 — 啟動容器、將 SDK 指向本機 endpoint,並建立一個表格。
入門閱讀時間 2 分鐘
如何連接 DynamoDB Local 與 LocalStack
如何把 GUI 連到 DynamoDB Local 與 LocalStack — 端點、假憑證、常見錯誤。用 DynoTable 視覺化瀏覽並查詢本機資料表。
中階閱讀時間 7 分鐘
2026 年最佳的 DynamoDB GUI 用戶端
一份誠實的 2026 年 DynamoDB GUI 用戶端總覽 — NoSQL Workbench、Dynobase、TablePlus/DataGrip、dynamodb-admin/DynamoIt 以及 DynoTable — 並說明每一款真正擅長的地方。
入門閱讀時間 9 分鐘
如何檢視、瀏覽與編輯 DynamoDB 資料
如何檢視、瀏覽、過濾與編輯 DynamoDB 資料 — 掃描或查詢資料表、行內編輯項目並執行查詢 — 一對一對應到 DynoTable 的 GUI 替你執行的操作。
入門閱讀時間 6 分鐘
如何把 DynamoDB 資料表複製到另一個帳號或區域
把 DynamoDB 資料表複製或遷移到另一個帳號或區域 — scan+write、S3 匯出/匯入、AWS Backup 與全域資料表 — 並說明輸送量與一致性的陷阱。
入門閱讀時間 6 分鐘
如何把 DynamoDB 資料表匯出成 CSV(4 種方式)
如何把 DynamoDB 資料表匯出成 CSV 或 Excel — AWS CLI scan、S3 匯出、腳本,或在 DynoTable 中一鍵匯出 — 以及為何巢狀屬性與 DynamoDB JSON 會弄壞天真的做法。
入門閱讀時間 10 分鐘
DynamoDB MCP 伺服器:安全連接 Claude Code、Cursor 與 Codex
如何透過一個 MCP 伺服器,讓 AI 代理 — Claude Code、Cursor、Codex — 即時存取你的 DynamoDB 表格,以及如何在不把 AWS 憑證或直接寫入權限交給代理的情況下做到這點。安全、經審查的暫存方式,相對於那些直接寫入你表格的伺服器。
中階閱讀時間 6 分鐘
ExtendDB:在你自己的資料庫上執行 DynamoDB API
ExtendDB 是 AWS 開源、相容 DynamoDB 線路協定的轉接器(以 Rust 撰寫),背後由 PostgreSQL 等可插拔儲存支撐 — 在你自己的資料庫上執行 DynamoDB API,然後在 DynoTable 中瀏覽它。
中階閱讀時間 7 分鐘

DynamoDB 維運與成本 — 交易、Streams、TTL、隨需與佈建容量、global tables 與備份/PITR,全程透過一個多租戶 SaaS 稽核記錄來講解。

已讀 0 / 7測驗

DynamoDB 內部運作 — partition key、自適應容量、GSI 儲存、實體分割、儲存與請求路由如何運作,一路追溯至 Dynamo paper。

已讀 0 / 8測驗
DynamoDB 分區鍵如何運作
DynamoDB 分區鍵如何運作——把鍵對應到實體分區的雜湊、為什麼你的鍵選擇決定吞吐量,以及如何閃避熱分區。
中階閱讀時間 7 分鐘
DynamoDB 自適應容量
DynamoDB 自適應容量與爆發容量解析——DynamoDB 如何自動吸收尖峰並為熱分區增能,以及它在哪些地方仍然救不了你。
進階閱讀時間 6 分鐘
一個 DynamoDB GSI 在內部如何被儲存
一個 DynamoDB GSI 如何被儲存——它自己的分區空間、從基底資料表非同步複製、被投影的屬性,以及隔離的容量——為 SQL 腦袋解釋。
進階閱讀時間 7 分鐘
DynamoDB 實體分區
DynamoDB 實體分區如何運作——10 GB、3000 RCU 和 1000 WCU 的上限、分區如何分裂,以及為什麼一個熱鍵在容量還有餘裕時就節流。
進階閱讀時間 6 分鐘
DynamoDB 儲存內部原理如何運作
DynamoDB 儲存內部原理如何運作——分區雜湊、用於排序鍵範圍的每分區 B-tree,以及同步的三可用區複製解析。
進階閱讀時間 7 分鐘
DynamoDB 請求路由如何運作
DynamoDB 請求路由如何運作——請求路由器對你的分區鍵做雜湊以找到正確的儲存節點,以及為什麼那修掉了每鍵延遲。
進階閱讀時間 7 分鐘
從 Dynamo 論文到 DynamoDB
從 2007 年的 Amazon Dynamo 論文到 DynamoDB——原始的一致性雜湊、法定數設計引入了什麼,以及 AWS 保留了什麼、又悄悄替換了什麼。
進階閱讀時間 6 分鐘
知識測驗開始測驗
檢驗你在本節學到的內容。

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

瀏覽、查詢並建模你自己的 DynamoDB 表格 — DynoTable 的 SQL Workbench 與 AI 代理都在你的 AWS 上執行。30 天免費試用。