基础

在建模关系或调优索引之前,你需要先掌握 DynamoDB 实际提供给你的那些原语:你能存储的值类型、 项在磁盘上如何分组,以及决定每个项落在何处的那个键。这些弄错了,之后的每一种模式都会和你较劲。

从 SQL 过来,意外从这里就开始了。没有列,也没有 schema —— 只有每个项各自带类型的属性 —— 而且主键不是一种便利设施,它就是你数据的物理布局。

已读 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 分钟
知识检测开始测验
检验你在本节学到的内容。

如果你是全新入门,就从数据类型开始;如果你已经了解值模型、只想看驱动每种访问模式的那部分, 可以直接跳到复合主键。

想边读边把玩真实的项?试用 DynoTable,直接查看一张表的键和集合。