Dynamo DB为分页查询提供了吞吐量

时间:2014-09-14 07:19:19

标签: amazon-web-services amazon-dynamodb

当我查询设置了 LIMIT 的发电机数据库表时,我对READ容量单位消耗有一点疑问。
假设我的查询表达式可以返回100个匹配的项目,如果我用LastEvaluatedKey进行迭代但是如果限制设置为20并且我不迭代所有页面(我只想要前20名)那么多少读取容量单位将被消耗?是它将用于100个项目还是仅用于检索到的20个项目?
我已阅读文档但未找到任何明确提及分页情况的内容。

2 个答案:

答案 0 :(得分:1)

此处,吞吐量是通过网络发送的数据。 当您指定一些限制(在您的情况下为20)时,那时仅传输该行数。如果没有限制,最多将发送1 MB数据。

某些查询消耗的读取容量单位数取决于结果的大小。 在读操作的情况下 - 4KB = 1单位 对于写操作 - 2KB = 1个单元。

例如,如果您查询返回的15KB数据,那么您消耗的读取单位将为 - 15/4 = 4个读取单位。

答案 1 :(得分:0)

Limit参数将告诉DynamoDB要检查的项目数。该查询使用的读取容量单位将取决于表中项目的大小。您将使用DynamoDB所需的RCU来查看前20个项目。

如果您使用过滤器,则可能无法收到所有这20个项目。如果您有一个过滤器并且需要20个结果,则需要计算结果数和分页数,直到您收到20个结果。 DynamoDB无法为您计算。

参考:DynamoDB Documentation for Limit