学习 DynamoDB

学习 DynamoDB

用正确的方式学习 DynamoDB —— 一套结构化课程,从基础一路讲到数据建模、索引、表达式、PartiQL、工具和内部原理。

DynamoDB 基础 —— 数据类型、项集合,以及复合主键。整个课程的其余部分都建立在这些基础机制之上。

已读 0/9测验
何时该用 DynamoDB(以及何时不该)
何时该用 DynamoDB(以及何时不该)—— 那些让 DynamoDB 优于关系型数据库的访问模式、规模与成本信号,以及它并不适合的工作负载。
入门阅读约 5 分钟
DynamoDB 数据类型
DynamoDB 数据类型详解 —— 标量(S、N、B、BOOL、NULL)、文档(M、L)和 Set(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 项集合
什么是 DynamoDB 项集合——共享同一分区键的所有项——为什么它是高效 Query 读取的单位,以及需要留意的限制。
入门阅读约 8 分钟
DynamoDB 复合主键
DynamoDB 复合主键是一个分区键加一个排序键 —— 它把相关的项分到一组,并解锁简单键做不到的范围查询。
入门阅读约 6 分钟
DynamoDB 强一致读取与最终一致读取
DynamoDB 强一致读取与最终一致读取——各自保证什么、为什么最终一致读取会返回陈旧数据、ConsistentRead 的 2 倍 RCU 成本,以及哪些索引支持强一致读取。
进阶阅读约 5 分钟
知识检测开始测验
检验你在本节学到的内容。

DynamoDB 数据建模 —— 单表设计、从访问模式出发建模、type 属性、反范式化,以及单表何时是错误的选择。

已读 0/7测验

在 DynamoDB 中建模关系 —— 一对多、多对多、邻接表模式、复合排序键,以及引用计数,全都无需连接。

已读 0/6测验

DynamoDB 的查询与排序 —— Query 与 Scan、分页、筛选表达式、为什么 Scan 很慢、并行 Scan,以及包括补零在内的排序键策略。

已读 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 变成只花零头的有键 Query。
入门阅读约 6 分钟
DynamoDB 并行扫描
DynamoDB 并行扫描如何用 Segment 和 TotalSegments 把一次全表读取拆分给多个 worker、它们何时有用,以及要避开的吞吐量自坑。
高级阅读约 6 分钟
DynamoDB 排序键策略
DynamoDB 排序键策略——为范围查询、排序和单个项集合内的多种访问模式设计可排序的排序键,附一个审计日志的演练实例。
进阶阅读约 8 分钟
如何以降序查询 DynamoDB
如何用 ScanIndexForward=false 以降序查询 DynamoDB —— 最新优先的结果、为什么排序发生在排序键上,以及如何高效地反向分页。
入门阅读约 5 分钟
在一个会变化(可变)的属性上排序 DynamoDB
在一个会变化的属性上排序 DynamoDB —— 为什么不能原地更新键属性、删除并重建的模式,以及用 GSI 让易变的值脱离基础表的键。
进阶阅读约 5 分钟
DynamoDB 中的补零排序键
DynamoDB 补零排序键 —— 为什么在字符串排序键里 "10" 排在 "2" 之前,以及定宽补零的数字如何让字符串顺序与数值顺序相符。
进阶阅读约 5 分钟
知识检测开始测验
检验你在本节学到的内容。

DynamoDB 二级索引 —— GSI 与 LSI、稀疏索引、键重载、GSI 最终一致,以及为什么 GSI 会对你的基表写入限流。

已读 0/7测验

DynamoDB 表达式 —— 条件、更新、键条件和投影表达式,外加表达式属性名和属性值,以及何时必须使用它们。

已读 0/6测验

DynamoDB 写入与运维 —— 原子计数器、跨属性强制唯一性、零停机迁移,以及诊断热点分区。

已读 0/7测验

DynamoDB 上的 PartiQL 与 SQL —— PartiQL 是什么、它做不到什么,以及 DynoTable Workbench 如何在 DynamoDB 的规则之内运行 JOIN、GROUP BY 和聚合。

已读 0/7测验
DynamoDB PartiQL 与 SQL:差异何在(以及哪些会失效)
DynamoDB PartiQL 看起来像 SQL,但并不是——没有 JOIN、GROUP BY、子查询或聚合。本文讲清楚两者的差异、哪些会失效,以及 DynoTable 的 SQL Workbench 如何运行 PartiQL 跑不了的查询。
入门阅读约 7 分钟
通过示例学习 DynamoDB 的 PartiQL
通过示例学习 DynamoDB 的 PartiQL —— 用类 SQL 语法进行 SELECT、INSERT、UPDATE、DELETE,以及围绕分区键和全表扫描的那些坑。
入门阅读约 2 分钟
SQL for DynamoDB:什么可行、什么不可行,以及 Workbench
你能用 SQL 查询 DynamoDB 吗?PartiQL 是 SQL 风味但受限——没有 JOIN、GROUP BY 或聚合。看看什么可行、什么不可行,以及 DynoTable 如何运行真正的 SQL。
入门阅读约 7 分钟
DynamoDB 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、按需与预置容量、全局表,以及备份/PITR,通过一个贯穿始终的多租户 SaaS 审计日志来讲解。

已读 0/7测验

DynamoDB 内部原理 —— 分区键、自适应容量、GSI 存储、物理分区、存储和请求路由的工作机制,一直追溯到 Dynamo paper。

已读 0/8测验
DynamoDB Partition Key 如何工作
DynamoDB partition key 如何工作——把一个 key 映射到物理分区的哈希、为什么你的 key 选择决定吞吐量,以及如何躲开热分区。
进阶阅读约 7 分钟
DynamoDB 自适应容量
讲清 DynamoDB 自适应容量和突发容量——DynamoDB 如何自动吸收尖峰、给热分区加力,以及它在哪里仍然救不了你。
高级阅读约 6 分钟
一个 DynamoDB GSI 在内部如何被存储
一个 DynamoDB GSI 如何被存储——它自己的分区空间、从基表来的异步复制、被投影的属性,以及隔离的容量——讲给有 SQL 思维的人听。
高级阅读约 7 分钟
DynamoDB 物理分区
DynamoDB 物理分区如何工作——10 GB、3000 RCU 和 1000 WCU 上限、分区如何拆分,以及为什么一个热 key 会在还有富余容量时被限流。
高级阅读约 6 分钟
DynamoDB 存储内部原理如何工作
DynamoDB 存储内部原理如何工作——分区哈希、用于 sort key 范围的每分区 B 树,以及同步的三可用区复制讲清楚。
高级阅读约 7 分钟
DynamoDB 请求路由如何工作
DynamoDB 请求路由如何工作——请求路由器哈希你的 partition key 来找到正确的存储节点,以及为什么这修掉了按 key 的延迟。
高级阅读约 7 分钟
从 Dynamo 论文到 DynamoDB
从 2007 年的 Amazon Dynamo 论文到 DynamoDB——最初的一致性哈希、法定多数设计引入了什么,以及 AWS 保留了什么、悄悄替换了什么。
高级阅读约 6 分钟
知识检测开始测验
检验你在本节学到的内容。

准备好把它付诸实践了吗?

浏览、查询并建模你自己的 DynamoDB 表 —— DynoTable 的 SQL Workbench 和 AI agent 都运行在你的 AWS 上。30 天免费试用。