按需容量模式 - Amazon DynamoDB

按需容量模式

Amazon DynamoDB 按需模式是一个无服务器计费选项,可以每秒处理数百万个请求而不需要进行容量规划。DynamoDB 按需模式针对读取和写入请求提供按请求支付定价,您只需为使用的资源付费。

在选择按需模式时,DynamoDB 会随着工作负载的增加或减少,根据之前达到的任意流量水平即时调节工作负载。如果某个工作负载的流量级别达到一个新的峰值,DynamoDB 将快速调整以适应该工作负载。有关按需模式的扩展属性的更多信息,请参阅初始吞吐量和扩展属性

使用按需模式的表可提供 DynamoDB 已经提供的相同个位数毫秒级延迟、服务等级协议 (SLA) 承诺和安全性。您可以同时对新表和现有表选择按需模式,并可以继续使用现有的 DynamoDB API 而不更改代码。

按需吞吐率受表级吞吐量配额的限制,该配额适用于该账户的所有表。您可以请求提高此配额的值。有关更多信息,请参阅 吞吐量默认限额

而且,您还可以选择为各个按需表和全局二级索引配置每秒最大读取和/或写入吞吐量。通过配置吞吐量,您可以限制表级用量和成本,防止消耗的资源意外激增,同时防止过度使用,从而实现可预测的成本管理。超过最大表吞吐量的吞吐量请求会受到节流。您可以根据应用程序的要求,随时修改表特定的最大吞吐量。有关更多信息,请参阅 按需表的最大吞吐量

要开始使用,请创建或更新表来使用按需模式。有关更多信息,请参阅 针对 DynamoDB 表的基本操作

您可以随时将表从按需模式切换到预置容量模式。当您在容量模式之间进行多次切换时,以下条件适用:

  • 您可以随时将按需模式下新创建的表切换到预置容量模式。但是,您只有在表创建时间戳的 24 小时之后才能将其切换回按需模式。

  • 您可以随时将按需模式下的现有表切换到预置容量模式。但是,您只有在上次指示切换到按需模式的时间戳的 24 小时之后,才能将其切换回按需模式。

有关在读取和写入容量模式之间切换的更多信息,请参阅切换容量模式时的注意事项

读取请求单位和写入请求单位

DynamoDB 按照读取请求单位写入请求单位,对应用程序在表上执行的读取和写入操作收费。

一个读取请求单位表示对大小最多为 4 KB 的项目每秒执行一次强一致性读取操作,或每秒执行两次最终一致性读取操作。有关 DynamoDB 读取一致性模型的更多信息,请参阅读取一致性

一个写入请求单位表示对大小最多为 1 KB 的项目每秒执行一次写入操作。

有关如何使用读取和写入单位的更多信息,请参阅读取和写入操作

初始吞吐量和扩展属性

使用按需容量模式的 DynamoDB 表会自动适应应用程序的流量。新的按需表将能够保持多达每秒 4000 次写入和每秒 12000 次读取。按需容量模式会即时在表中承受之前双倍的峰值流量。例如,假设应用程序的流量模式在每秒 25000 到 50000 次强一致性读取之间变化,那么先前流量峰值就是每秒 50000 次读取。按需容量模式可即时容纳最高每秒 10 万次读取的持续流量。如果您的应用程序保持每秒 10 万次读取的流量,则该峰值将成为新的先前峰值。这个先前峰值使后续流量可高达每秒 20 万次读取。

如果工作负载在表上产生的流量是先前峰值的两倍以上,DynamoDB 会随着流量的增加自动分配更多容量。这种容量分配有助于确保您的工作负载不会受到节流。但是,如果您在 30 分钟内超出先前峰值的两倍,则可能发生限制。例如,假设应用程序的流量模式在每秒 25000 到 50000 次强一致性读取之间变化,那么先前流量峰值就是每秒 50000 次读取。我们建议您在每秒读取量超过 10 万次之前,先对表进行预热或将流量增长的间隔设置为至少 30 分钟。有关预热的更多信息,请参阅针对按需容量模式预热表