写入与运维

读取得到了关注,但写入才是正确性和运维痛苦所在之处。没有会扫描的 UPDATE … WHERE,没有跨 多列的唯一约束,也没有用来重塑数据的 ALTER TABLE。这些保证都得你自己用条件写入和键设计 亲手搭建出来。

本节涵盖你在生产环境中会用到的写入模式,以及由把它们做错而引出的运维问题 —— 搞砸的迁移、 热点键。

已读 0/8测验
DynamoDB 批处理操作
DynamoDB 批处理操作——BatchGetItem 每次调用读 100 个项目、BatchWriteItem 写 25 个、为什么批处理不是事务,以及如何重试剩下的项目。
进阶阅读约 5 分钟
如何在 DynamoDB 中删除多个项
如何在 DynamoDB 中删除多个项——BatchWriteItem、TransactWriteItems、PartiQL 批处理和 TTL——以及为什么不存在 DELETE ... WHERE 语句。
入门阅读约 7 分钟
DynamoDB ReturnValues:拿回旧项或新项
DynamoDB ReturnValues 能在不做第二次读取的情况下,从 PutItem、UpdateItem 或 DeleteItem 拿回旧项或新项——五个选项以及各自何时有用。
进阶阅读约 3 分钟
DynamoDB 原子计数器
DynamoDB 原子计数器如何配合 ADD 更新表达式工作、它们为何不具幂等性,以及何时应改用条件更新。
进阶阅读约 5 分钟
在 DynamoDB 中对多个属性强制唯一性
如何对多个 DynamoDB 属性强制唯一性约束——邮箱与用户名同时唯一——借助标记项和带条件守卫的 TransactWriteItems。
高级阅读约 6 分钟
不停机的 DynamoDB 迁移
不停机的 DynamoDB 迁移 —— 如何用惰性回填、在线 GSI 和双写,给一张活的表添加一种新实体类型和访问模式。
高级阅读约 6 分钟
DynamoDB 热分区
DynamoDB 热分区,是指某一个分区键吸走了不成比例的流量并被限流。这里讲怎么发现它、又如何在设计上把它规避掉。
进阶阅读约 8 分钟
知识检测开始测验
检验你在本节学到的内容。

如果你会写入并发更新,就从原子计数器开始;如果你正盯着一次 schema 变更发愁,就跳到迁移。

试用 DynoTable,运行条件写入并实时观察结果。