【问题标题】:Calculating RCUs for small objects for dynamoDBs为 dynamoDB 的小对象计算 RCU
【发布时间】:2021-06-10 10:17:52
【问题描述】:

假设我们有一个平均项目大小为 1 KB 的表。我们执行一个读取 3 个此类项目的查询。现在根据我所阅读的内容,RCU 的数量应该是(强一致读取): (读取的项目数)* ceil(item_size/4) = 3 * ceil(1/4) = 3*1 = 3。

所以想确认一下:这是正确的吗?或者我们是否使用单个 RCU,因为读取的消息总大小为 3,小于 4。

【问题讨论】:

  • 这是正确的吗? - 是的。每个项目都被视为 4KB,即使它更小。
  • 好的。谢谢@Marcin。文档中的这些问题,或者我认为的互联网本身,并没有很清楚。
  • Here 更多示例说明这一点。
  • @Marcin 这适用于按需和预配容量,对吗?
  • 我想是的。我还没有听说过针对按需容量和预置容量的不同 RCU 计算。

标签: amazon-web-services amazon-dynamodb


【解决方案1】:

RCU 适用于 1 次高达 4KB 的强一致性读取。

因此,您可以为 1 个 RCU 查询()四个 1KB 项目。

由于您只有 3 个要读取,因此将消耗 1 个 RCU。

使用 GetItem() 获取相同的 3 条记录将花费 3 个 RCU。

假设您有 100 个匹配 (HK+SK) 查询的项目,但您还使用过滤器进一步选择要返回的记录;所以你只能得到 4 条记录。该查询将占用 25 个 RCU,因为即使没有返回记录,仍然需要读取记录。

参考可以找到here

查询 - 读取具有相同分区键值的多个项目。返回的所有项目都被视为单个读取操作,其中 DynamoDB 计算所有项目的总大小,然后向上舍入到下一个 4 KB 边界。例如,假设您的查询返回 10 个项目,它们的组合大小为 40.8 KB。 DynamoDB 将操作的项目大小四舍五入为 44 KB。如果查询返回 1500 项,每项 64 字节,则累积大小为 96 KB。

【讨论】:

    猜你喜欢
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    • 2017-07-19
    • 2022-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    相关资源
    最近更新 更多