DynamoDB 按需容量模式
Amazon DynamoDB 按需模式是一个无服务器计费选项,可以每秒处理数百万个请求而不需要进行容量规划。DynamoDB 按需模式针对读取和写入请求提供按请求支付定价,您只需为使用的资源付费。
在选择按需模式时,DynamoDB 会随着工作负载的增加或减少,根据之前达到的任意流量水平即时调节工作负载。如果某个工作负载的流量级别达到一个新的峰值,DynamoDB 将快速调整以适应该工作负载。有关按需模式的扩展属性的更多信息,请参阅初始吞吐量和扩展属性。
使用按需模式的表可提供 DynamoDB 已经提供的相同个位数毫秒级延迟、服务等级协议 (SLA) 承诺和安全性。您可以同时对新表和现有表选择按需模式,并可以继续使用现有的 DynamoDB API 而不更改代码。
按需吞吐率受表级吞吐量配额的限制,该配额适用于该账户的所有表。您可以请求提高此配额的值。有关更多信息,请参阅 吞吐量默认限额。
而且,您还可以选择为各个按需表和全局二级索引配置每秒最大读取和/或写入吞吐量。通过配置吞吐量,您可以限制表级用量和成本,防止消耗的资源意外激增,同时防止过度使用,从而实现可预测的成本管理。超过最大表吞吐量的吞吐量请求会受到节流。您可以根据应用程序的要求,随时修改表特定的最大吞吐量。有关更多信息,请参阅 DynamoDB 按需表的最大吞吐量。
要开始使用,请创建或更新表来使用按需模式。有关更多信息,请参阅 针对 DynamoDB 表的基本操作。
您可以随时将表从按需模式切换到预置容量模式。当您在容量模式之间进行多次切换时,以下条件适用:
-
您可以随时将按需模式下新创建的表切换到预置容量模式。但是,您只有在表创建时间戳的 24 小时之后才能将其切换回按需模式。
-
您可以随时将按需模式下的现有表切换到预置容量模式。但是,您只有在上次指示切换到按需模式的时间戳的 24 小时之后,才能将其切换回按需模式。
有关在读取和写入容量模式之间切换的更多信息,请参阅在 DynamoDB 中切换容量模式时的注意事项。有关按需表配额,请参阅读/写容量模式和吞吐量。
读取请求单位和写入请求单位
DynamoDB 按照读取请求单位和写入请求单位,对应用程序在表上执行的读取和写入操作收费。
一个读取请求单位表示对大小最多为 4 KB 的项目每秒执行一次强一致性读取操作,或每秒执行两次最终一致性读取操作。有关 DynamoDB 读取一致性模型的更多信息,请参阅DynamoDB 读取一致性。
一个写入请求单位表示对大小最多为 1 KB 的项目每秒执行一次写入操作。
有关如何使用读取和写入单位的更多信息,请参阅DynamoDB 读取和写入操作。
初始吞吐量和扩展属性
使用按需容量模式的 DynamoDB 表会自动适应应用程序的流量。新的按需表将能够保持多达每秒 4000 次写入和每秒 12000 次读取。按需容量模式会即时在表中承受之前双倍的峰值流量。例如,假设应用程序的流量模式在每秒 25000 到 50000 次强一致性读取之间变化,那么先前流量峰值就是每秒 50000 次读取。按需容量模式可即时容纳最高每秒 10 万次读取的持续流量。如果您的应用程序保持每秒 10 万次读取的流量,则该峰值将成为新的先前峰值。这个先前峰值使后续流量可高达每秒 20 万次读取。
如果工作负载在表上产生的流量是先前峰值的两倍以上,DynamoDB 会随着流量的增加自动分配更多容量。这种容量分配有助于确保您的工作负载不会受到节流。但是,如果您在 30 分钟内超出先前峰值的两倍,则可能发生限制。例如,假设应用程序的流量模式在每秒 25000 到 50000 次强一致性读取之间变化,那么先前流量峰值就是每秒 50000 次读取。我们建议您在每秒读取量超过 10 万次之前,先对表进行预热或将流量增长的间隔设置为至少 30 分钟。有关预热的更多信息,请参阅针对按需容量模式预热 DynamoDB 表。
如果您的工作负载的峰值流量保持在之前峰值的两倍以内,DynamoDB 将不会设置 30 分钟的节流限制。如果峰值流量超过之前峰值的两倍,请确保这种增长发生在您上次达到峰值后 30 分钟内。