是dynmodbo中的一个键计算为两个I / O的两个结果?

时间:2014-05-25 03:38:05

标签: amazon-dynamodb key-value nosql

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

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

关键....范围.......消息
1 ....... 1 ................英国选举新下午
1 ....... 2 ...............美国天气寒冷 1 ....... 3 ............... Google资金

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

发电机数据库是否将其视为两个I / O,因为返回了两个记录?或者,dynamoDB将其计为一条记录,因为查询是针对一个密钥运行的。

1 个答案:

答案 0 :(得分:0)

这可能会计为1 I / O或2 I / O甚至更多,因为它取决于行的大小。

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

因此,如果您的行非常大(100 KB),并且您的查询返回其中的2个,那么它将是100 * 2/4 = 50 I / O.此处的I / O与Provisioned Throughput中使用的单元相同。

官方文件是here