基础

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

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

已读 0/9测验
何时该用 DynamoDB(以及何时不该)
何时该用 DynamoDB,何时不该。哪些访问模式、规模与成本信号让它优于关系型数据库,以及哪些工作负载并不适合它。
入门阅读约 5 分钟
DynamoDB 数据类型
DynamoDB 的十种数据类型——标量(S、N、B、BOOL、NULL)、文档(M、L)和 Set(SS、NS、BS),它们在 DynamoDB-JSON 中的样子,以及哪些可以做键。
入门阅读约 4 分钟
DynamoDB JSON 与 Marshalling
DynamoDB JSON 与 marshalling——为什么每个值都被裹进一个类型标签、这种格式和普通 JSON 有何不同,以及如何在两者之间转换。
入门阅读约 4 分钟
DynamoDB 项大小限制(400 KB)
DynamoDB 400 KB 项大小限制——什么会计入它、属性名和嵌套如何累加,以及如何在建模上规避无界的项增长。
入门阅读约 5 分钟
DynamoDB 基于项的操作
DynamoDB 基于项的操作——GetItem、PutItem、UpdateItem 和 DeleteItem 各自用完整主键定位一个项目,以及它们与 Query 和 Scan 的区别。
入门阅读约 5 分钟
DynamoDB 项集合
什么是 DynamoDB 项集合——所有共享同一个分区键的项——为什么它是高效 Query 读取的单位,以及要留意的那些限制。
入门阅读约 8 分钟
DynamoDB 复合主键
DynamoDB 复合主键是一个分区键加一个排序键 —— 它把相关的项分到一组,并解锁简单键做不到的范围查询。
入门阅读约 6 分钟
DynamoDB 强一致读取与最终一致读取
DynamoDB 强一致读取与最终一致读取——各自保证什么、ConsistentRead 的 2 倍 RCU 成本,以及为什么 GSI 只支持最终一致。
进阶阅读约 5 分钟
知识检测开始测验
检验你在本节学到的内容。

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

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