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

Posted cloudrivers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DynamoDB 读取请求单位和写入请求单位相关的知识,希望对你有一定的参考价值。

按需模式

对于按需模式表,您无需指定预期应用程序执行的读取和写入吞吐量。DynamoDB 会按照读取请求单位和写入请求单位对应用程序在表上执行的读取和写入操作收费。

  • 一个读取请求单位表示对大小最多为 4 KB 的项目执行一次强一致性读取请求,或执行两次最终一致性读取请求。事务读取请求需要 2 个读取请求单位才能对大小最多为 4 KB 的项目执行一次读取。如果您需要读取大于 4 KB 的项目,DynamoDB 需要额外的读取请求单位。所需的读取请求单位的总数取决于项目大小以及您需要最终一致性读取还是强一致性读取。例如,如果您的项目大小为 8 KB,您需要 2 个读取请求单位才能承受一次强一致性读取;如果您选择最终一致性读取,则需要 1 个读取请求单位;而对于事务读取请求,则需要 4 个读取请求单位。

    注意

    要了解有关 DynamoDB 读取一致性模型的更多信息,请参阅读取一致性

  • 一个写入请求单位表示对大小最多为 1 KB 的项目执行一次写入。如果您需要写入大于 1 KB 的项目,DynamoDB 需要消耗额外的写入请求单位。事务写入请求需要 2 个写入请求单位才能对大小最多为 1 KB 的项目执行一次写入。所需的写入请求单位的总数取决于项目大小。例如,如果您的项大小为 2 KB,您需要 2 个写入请求单位才能承受一个读取请求;而对于事务写入请求,则需要 4 个写入请求单位。

预置模式

如果您选择预置模式,则指定您的应用程序需要的每秒读取和写入次数。您可以使用 Auto Scaling 根据流量变化自动调整表的预置容量。这可帮助您控制您对 DynamoDB 的使用,使之保持或低于定义的请求速率,以便获得成本可预测性。

对于预置模式表,您可以按读取容量单位 (RCU) 和写入容量单位 (WCU) 指定吞吐量容量:

  • 一个读取容量单位 表示对大小最多为 4 KB 的项目每秒执行一次强一致性读取,或每秒执行两次最终一致性读取。事务读取请求需要 2 个读取容量单位才能对大小最多为 4 KB 的项目每秒执行一次读取。如果您需要读取大于 4 KB 的项目,DynamoDB 必须消耗额外的读取容量单位。所需的读取容量单位的总数取决于项目大小以及您需要最终一致性读取还是强一致性读取。例如,如果您的项目大小为 8 KB,您需要 2 个读取容量单位才能承受每秒一次强一致性读取;如果您选择最终一致性读取,则需要 1 个读取容量单位;而对于事务读取请求,则需要 4 个读取容量单位。有关更多信息,请参阅读取的容量单位消耗

    注意

    要了解有关 DynamoDB 读取一致性模型的更多信息,请参阅读取一致性

  • 一个写入容量单位 表示对大小最多为 1 KB 的项目每秒执行一次写入。如果您需要写入大于 1 KB 的项目,DynamoDB 必须消耗额外的写入容量单位。事务写入请求需要 2 个写入容量单位才能对大小最多为 1 KB 的项目每秒执行一次写入。所需的写入容量单位的总数取决于项目大小。例如,如果您的项目大小为 2 KB,您需要 2 个写入容量单位才能每秒承受一个读取请求;而对于事务写入请求,则需要 4 个写入容量单位。有关更多信息,请参阅写入的容量单位消耗

例如,假设您创建一个具有 6 个读取容量单位和 6 个写入容量单位的预置表。使用这些设置,您的应用程序可以执行以下操作:

  • 执行高达每秒 24KB 的强一致性读取(4 KB × 6 个读取容量单位)。

  • 执行高达每秒 48KB 的最终一致性读取(读取吞吐量的两倍)。

  • 执行高达每秒 12 KB 的事务读取请求。

  • 每秒写入高达 6KB(1 KB × 6 个写入容量单位)。

  • 执行高达每秒 3KB 的事务写入请求。

以上是关于DynamoDB 读取请求单位和写入请求单位的主要内容,如果未能解决你的问题,请参考以下文章

iostat命令简单说说

DynamoDB 写入太慢

AWS dynamoDB:在过滤器之前或之后计算/应用的读取容量?

DynamoDB - 如何计算查询的读取吞吐量

磁盘的IO单位

DynamoDB 何时限制请求?