【问题标题】:DynamoDB: Making range query v/s query each item separatelyDynamoDB:进行范围查询v / s分别查询每个项目
【发布时间】:2017-09-07 15:58:40
【问题描述】:

比方说,我在 dynamodb 中有几个项目具有相同的分区键和不同的排序键。

如果我在单个 go v/s 单独查询每个项目中使用排序键约束查询记录,消耗的读取容量单位之间有什么区别吗?假设一次要获取的排序键数量约为 50。official-documentation 表示

一个读取容量单位代表一个强一致性读取 秒,或每秒两次最终一致的读取,用于向上的项目 大小为 4 KB。

从这个定义来看,似乎应该没有区别,因为这个定义与我们查询数据库的方式无关。

除了额外的网络延迟之外,第二种方法还有其他缺点吗?

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb


    【解决方案1】:

    请注意,成本计算基于读取容量单位 (RCU) 和写入容量单位 (WCU)。

    RCU公式:-

    RCU = read capacity unit per item × number of reads per second
    

    在进行以下计算之前,请计算项目大小。您可以从 AWS 控制台获取项目大小。

    转到 AWS 控制台上的 dynamodb 表 --> 概览选项卡 --> 见底部。

    让我们谈谈 RCU。在上述情况下,

    场景 1 - 仅使用哈希键一次性获取所有数据:-

    在这种情况下,读取的项目数会很高(即 50 个项目数据)。计算大小并检查需要多少个 RCU。

    场景 2 - 使用哈希键和排序键多次获取数据:-

    在这种情况下,API 将被多次调用。因此,每秒的读取次数会增加。计算所需的读取次数并检查需要多少 RCU。

    比较方案1和2计算的RCU,选择RCU少的选项以节省成本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多