【问题标题】:are two results from a single key in dynmodbo counted as two I/O?dynmodbo 中单个键的两个结果是否计为两个 I/O?
【发布时间】:2017-09-22 17:14:54
【问题描述】:

我们正在将 MYSQL 数据库迁移到 DynamoDB。我们网站的 dynamoDb 的问题是我们有很多 I/O。由于高 I/O,dynamoDB 的成本显着增加。最好以我的问题为例:

假设我跟踪用户的消息。假设用户 id 是 Key。所以我们有一个用户 ID 1。消息号是增量值中的 Range Key。我们有三个消息,1,2,3。我给你做张桌子

键....范围.......消息
1.......1................英国选举新首相
1.......2......美国天气很冷
1.......3......谷歌基金

假设我做了一个查询,显示 All Key=1 和 Range >1 的消息。这将返回 2 个项目。消息 2 和 3 将被返回。

dynamo DB 是否因为返回了两条记录而将其计为两个 I/O?或者 dynamoDB 是否将其计为一条记录,因为查询是针对一个键运行的。

【问题讨论】:

    标签: amazon-dynamodb key-value nosql


    【解决方案1】:

    这将算作 1 个 I/O 或 2 个 I/O 甚至更多,因为这取决于行的大小。

    确切的定义: 对于 4 KB 的项目,一个读取容量单位表示每秒一次强一致性读取(或每秒两次最终一致性读取)

    因此,如果您的行非常大(100 KB),并且您的查询返回其中 2 个,那么它将是 100*2/4 = 50 I/O。这里的 I/O 与预置吞吐量中使用的单位相同。

    官方文档是here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      相关资源
      最近更新 更多