当前位置: 首页 > 知识库问答 >
问题:

带“limit”参数的DynamoDB扫描操作开销

段干兴业
2023-03-14

例如,如果我有一个活动表,它的排序键是一个日期字段(updatedAt),并且它有一百万行。如果我执行一个限制为10的扫描(为了得到最近的10个活动),我显然会得到10行,但我会因为读取100万行而被收费吗?成本是我主要关心的问题。

共有1个答案

夏元明
2023-03-14

是的,limit还将重排消耗的读取容量,以下是DynamoDB文档中的相关部分:

扫描操作提供了一个限制参数,您可以使用该参数为请求设置页面大小。具有较小页面大小的每个扫描或查询请求使用较少的读操作,并在每个请求之间创建“暂停”。例如,如果每个项为4 KB,并且将页面大小设置为40项,则查询请求将只消耗40个强一致的读操作或20个最终一致的读操作。大量较小的扫描或查询操作将允许您的其他关键请求成功而不受限制。

如您所见,具有较小页面大小的每个扫描或查询请求使用较少的读取操作。

 类似资料:
  • 我是AWS DynamoDB的新手,阅读了留档后,我不能100%确定在SCAN操作中使用“限制”参数时成本计算会发生什么。 我知道应该设计表,以便主要使用查询操作,并且扫描将扫描整个表,从而消耗大量的读取容量。我还知道FilterExpression不会影响扫描整个表的成本,但会过滤整个扫描后返回的内容,如果扫描的项目总数超过1 MB的最大数据集大小限制,则会停止扫描并返回结果。 我不确定的是,“

  • 我有一个带有NodeJS 10.x的AWS Lambda。这个Lambda试图扫描基于“FilterExpression”的DynamoDB表。我正在使用DocumentClient执行“扫描”操作。尽管使用了各种方法,但我无法读取和迭代结果对象。 我尝试使用以下方法:

  • 我正在尝试使用Java aws sdk版本1.11.140使用限制为1的DynamoDBScanExpression 即使我使用. with Limit(1)即。 返回所有条目的列表,即7。我做错什么了吗? P. S.我尝试使用cli进行查询 返回我只有1个结果。

  • 我们有一个设置,其中各种工作节点执行计算并更新DynamoDB表中的相对状态。该表充当工作节点活动的一种历史记录。看门狗节点需要定期扫描表,并构建一个表示工作节点及其作业的当前状态的对象。因此,我们的应用程序能够扫描表并按时间顺序检索数据(即按时间戳排序)是很重要的。表最终会太大,无法扫描到本地内存进行后期排序,所以我们扫描后无法排序。 从AWS留档读取主键: DynamoDB使用分区键值作为内部

  • 我正在尝试使用contains FilterExpression从AWS Dynamo DB scan获取数据。我正在使用以下参数,但收到的响应为空: {“Items”:[],“Count”:0,“ScannedCount”:792,“LastEvaluatedKey”:{“ID”:“b123456789”} 我想根据数组中的字符串进行过滤,例如:orange from fruits:['oran

  • 我对DynamoDB的性能有问题,我想澄清一下我有点困惑的地方。 执行扫描表中的100条记录,条件是使用(例如)。如果在表中找到20条记录,DynamoDB是否还扫描其他80条记录? 扫描时分页是如何工作的? 消耗超过分配的RCU和WCU的后果是什么?