关于dynamoDB查询结果的问题
Questions on dynamoDB query result
我目前正在考虑如何为 DynamoDB 编写查询。我有下面的问题,希望有人能给我建议。
给定场景:我在 table 上有一百万条记录。
问题:
查询时,是否可以批量取1000条记录,而不是一次性取100万条记录?
获取 1000 条记录所花费的时间与获取 100 万条记录所花费的时间相似吗?
如果我达到 1MB 的限制或 table 的吞吐量限制,以便我可以再次获取剩余记录,会发生什么情况?
提前致谢!
1) 是的,您可以为查询指定限制(在您的情况下为 1000)。
2) 不,时间不一样。更多记录意味着更多时间 - 因为您将需要获取更多页面(大部分时间将花在网络往返上)
3) 如果您达到 1MB 的限制,Dynamo 将提供一个 LastEvaluatedKey。您重复请求并传递 LastEvaluatedKey 直到您获取所有内容(您基本上是在循环中获取)。
如果您达到规定的吞吐量限制,您要么增加限制,要么退缩(即您需要调节您的消费以保持在限制范围内)
参考:http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html
我目前正在考虑如何为 DynamoDB 编写查询。我有下面的问题,希望有人能给我建议。
给定场景:我在 table 上有一百万条记录。
问题:
查询时,是否可以批量取1000条记录,而不是一次性取100万条记录?
获取 1000 条记录所花费的时间与获取 100 万条记录所花费的时间相似吗?
如果我达到 1MB 的限制或 table 的吞吐量限制,以便我可以再次获取剩余记录,会发生什么情况?
提前致谢!
1) 是的,您可以为查询指定限制(在您的情况下为 1000)。
2) 不,时间不一样。更多记录意味着更多时间 - 因为您将需要获取更多页面(大部分时间将花在网络往返上)
3) 如果您达到 1MB 的限制,Dynamo 将提供一个 LastEvaluatedKey。您重复请求并传递 LastEvaluatedKey 直到您获取所有内容(您基本上是在循环中获取)。
如果您达到规定的吞吐量限制,您要么增加限制,要么退缩(即您需要调节您的消费以保持在限制范围内)
参考:http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html