运维与成本

建模把你的数据装进去。而运维它 —— 保持写入一致、对变更做出反应、让旧行过期、付对容量 账单、在某个区域宕机时活下来,以及从一次糟糕的部署中恢复 —— 才是决定一张 DynamoDB 表能否 让你在生产环境中信赖的另一半。

本节是一个贯穿始终的场景,而不是六张互不相干的参考页。你正在构建一个多租户 SaaS 的审计 日志 —— 那份记录“谁在何时做了什么”的不可变记录,每个 B2B 产品迟早都得为其企业客户交付它。 一张表,按租户分区:

PKSKactoractionip
TENANT#acmeEVENT#2026-06-24T09:14Z#a1USER#88login.success203.0.113.7
TENANT#acmeEVENT#2026-06-24T09:15Z#a2USER#88invoice.export203.0.113.7
TENANT#globexEVENT#2026-06-24T09:15Z#b9USER#12role.granted198.51.100.4

下面每一篇指南都在这同一张表上叠加一项运维方面的考量:

已读 0/11测验
DynamoDB 成本模型:为什么 SQL 会隐藏账单
为什么在 DynamoDB 上用 SQL 会隐藏账单——JOIN、任意的 WHERE 过滤和聚合如何编译成 Scan,以及 Query 对比 Scan 背后的 RCU 计算。
进阶阅读约 4 分钟
DynamoDB 事务
使用 TransactWriteItems 的 DynamoDB 事务——最多 100 个全有或全无的动作、4 MB 上限、双倍的写入容量,以及冲突如何导致取消。
高级阅读约 6 分钟
DynamoDB Streams
DynamoDB Streams —— 24 小时的变更数据捕获日志、四种 StreamViewType 选项、按项有序的记录,以及在项变更时触发 Lambda。
高级阅读约 6 分钟
DynamoDB TTL
当一个 Unix 纪元时间戳属性到期后,DynamoDB TTL 会自动删除项目,通常在几天之内,而且这些删除不消耗写入容量。
进阶阅读约 4 分钟
DynamoDB 按需容量 vs 预置容量
DynamoDB 按需容量 vs 预置容量——按请求付费对比预留吞吐量、各自何时更便宜,以及流量形态如何决定选哪种模式。
进阶阅读约 6 分钟
如何设置 DynamoDB 自动扩缩
在预置容量上设置 DynamoDB 自动扩缩——控制台与 CLI 步骤、如何选定目标利用率和最小/最大值,以及那些仍会导致限流的限制。
进阶阅读约 8 分钟
DynamoDB 限流以及如何修复
DynamoDB 为什么会限流——四种有文档记载的成因、每个分区每秒 3,000 读单元和 1,000 写单元的限制,以及各自的修复方法。
进阶阅读约 8 分钟
DynamoDB 表的大小与项数
获取 DynamoDB 表的大小和项数——用免费但最多滞后六小时的 DescribeTable 估算值,或者用 Scan Select COUNT 精确计数。
入门阅读约 5 分钟
DynamoDB 全局表
DynamoDB 全局表——跨区域的双活复制、上次写入者获胜的冲突解决、MREC 与 MRSC 一致性模式,以及 99.999% 的 SLA。
高级阅读约 6 分钟
DynamoDB 备份与时间点恢复
DynamoDB 备份与时间点恢复——按需快照对比连续 PITR、1 到 35 天的窗口,以及恢复带不回来的那些设置。
进阶阅读约 7 分钟
知识检测开始测验
检验你在本节学到的内容。

请按顺序阅读 —— 每一篇都假定你已有上一篇里的那张表。先从事务开始;其余内容都建立在它所写入 的事件之上。

下载 DynoTable,在你逐步走完这个场景时检查、查询和编辑这张审计日志表。至于成本这一侧,免费的定价计算器能为两种容量模式核算一个工作负载的价格,而 TTL 转换器会把日期转换成 TTL 所期望的 epoch 值。