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



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

这里,吞吐量是通过网络发送的数据。当您指定某个限制(在您的情况下为20)时,此时只传输该行数。在没有限制的情况下,将发送最多1MB的数据。

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

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

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

如果您使用的是过滤器,您可能不会收到全部20个项目。如果你有一个过滤器,你需要20个结果,你需要计算结果的数量并分页,直到你收到20个结果。DynamoDB不能为你计算。

参考:限制的DynamoDB文档

最新更新