Amazon DynamoDB
开发人员指南 (API 版本 2012-08-10)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

设计并高效使用分区键的最佳实践

唯一标识 DynamoDB 表中每个项目的主键可能是简单结构 (仅分区键) 或复合结构 (分区键与排序键的组合)。

一般而言,您应针对跨表中所有逻辑分区键及表的二级索引的统一活动来设计应用程序。可以确定应用程序所需的访问模式,并估计每个表和二级索引所需的 RCU 和 WCU 总计。

随着流量开始流动,DynamoDB 将自动使用配置的吞吐量支持访问模式,前提是针对给定分区键的流量不超过 3000 RCU 或 1000 WCU。

高效使用突增容量

通过提供突增容量,DynamoDB 在每分区吞吐量配置的方面提供了一定的灵活性,如下所示。当您未完全使用分区的吞吐量时,DynamoDB 会为稍后的吞吐量突增 情况保留一部分未使用的容量以应对用量峰值。

DynamoDB 当前可将未使用的读取和写入容量保留最多五分钟 (300 秒)。 在读取或写入活动偶尔突增期间,这些额外的容量单元会被快速消耗 — 甚至比您为表定义的每秒预置的吞吐容量还快。

DynamoDB 还可能在不事先通知的情况下,将突增容量用于后台维护和其他任务。

请注意,突增容量的这些详细信息未来可能发生变化。

了解 DynamoDB 适应性容量

不可能总是均匀地分布读活动和写活动。当数据访问不平衡时,与其他分区相比,“热”分区可以接收更高的读取和写入流量。在极端情况下,如果单个分区接收的流量超出 3000 RCU 或 1000 WCU,就会出现限制。

为了更好地适应不均匀的访问模式,DynamoDB 适应性容量 允许您的应用程序继续不受限地对热分区进行读写操作,前提是流量未超出表的配置的总容量或分区最大容量。自适应容量的工作原理是,自动增加分区的吞吐量容量来接收更多流量。

将自动为每个 DynamoDB 表启用适应性容量,因此无需显式启用或禁用它。

注意

通常,在热分区的限制开始时间与适应性容量激活的时间之间有 5 分钟到 30 分钟的间隔。

下图说明了适应性容量的工作方式。示例表配置了 400 个写入容量单位 (WCU),这些容量单位均匀分布在 4 个分区中,每个分区每秒可以接收最多 100 个 WCU。分区 1、2 和 3 每秒接收的写入流量为 50 个 WCU。分区 4 每秒接收 150 个 WCU。此热分区可以在接受写入流量的同时仍具有未利用的突增容量,但是,它最终会限制每秒超过 100 个 WCU 的流量。

DynamoDB 适应性容量通过增加分区 4 的容量来做出响应,因此分区 4 可以接收 150 WCU/秒的更高工作负载,而不会受到限制。

本页内容: