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

DynamoDB扫描性能问题

姬高澹
2023-03-14

我对DynamoDB的性能有问题,我想澄清一下我有点困惑的地方。

  • 执行时,扫描books表中的100条记录,条件是使用attr(例如attr=('author').eq('some-comple-known-author-with-many-books-writed'))。如果作者在表中找到20条记录,DynamoDB是否还扫描其他80条记录?
  • 扫描时分页是如何工作的?
  • 消耗超过分配的RCU和WCU的后果是什么?

共有1个答案

缪英锐
2023-03-14

按顺序回答您的问题:

  • 是的。扫描表示对表中所有记录的迭代。如果author是您的分区键,并且需要查找她写的所有书籍,则应该query(而不是scan),在这种情况下,它不会查看其他authors.
  • 分页按预期工作:如果表中有n记录,并且扫描的限制设置为m,DynamoDB将扫描记录,同时返回每个页的数据。
  • Dynamodb将限制您的请求,如果您试图超出配置的RCU或WCU。如果您担心的是这个问题,那么不会对成本产生影响。
 类似资料:
  • 我们有一个设置,其中各种工作节点执行计算并更新DynamoDB表中的相对状态。该表充当工作节点活动的一种历史记录。看门狗节点需要定期扫描表,并构建一个表示工作节点及其作业的当前状态的对象。因此,我们的应用程序能够扫描表并按时间顺序检索数据(即按时间戳排序)是很重要的。表最终会太大,无法扫描到本地内存进行后期排序,所以我们扫描后无法排序。 从AWS留档读取主键: DynamoDB使用分区键值作为内部

  • 问题内容: 我有一张大桌子。位图堆扫描步骤需要5秒钟以上。 有什么我可以做的吗?我在表中添加了列,对它使用的索引重新索引会有所帮助吗? 我对数据进行合并和求和,所以我不会将50万条记录返回给客户端。 我使用postgres 9.1。 这里的解释: 询问: 表格: 是具有4个不同值的字段。 目前具有10K个不同的值。 问题答案: 在(按此顺序)上创建一个复合索引。 请注意,如果您选择500k条记录(

  • 我正在尝试使用DynamoDB并行扫描示例: <代码>http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LowLevelJavaScanning.html 我有200,000个项目,我已经进行了顺序代码扫描,并根据我的使用对其进行了稍微修改: 当这个代码完成时,计数器给出的正好是200000,然而,我还想尝试并行扫描。

  • 这是我的用例: 我有一个带有200k对象的JSON Api。数据集看起来有点像这样:日期、自行车型号、以分钟为单位的生产时间。我使用Lambda从JSON Api中读取并通过超文本传输协议请求在DynamoDB中写入。Lambda函数每天运行并使用最新数据更新DynamoDB。 然后,我按日期检索数据,因为我想计算每天的平均生产时间,并将其放在第二个表中。Alexa技能连接到第二个表,并读取每天的

  • 正如使用boto3完全扫描dynamoDb中所解释的,我构建了一个解决方案,使用某些条件完全扫描dynamoDb表。这是我的代码: 但是当代码被执行时,它会进入一个无限循环。这是LastEvaluatedKey每次迭代的输出: 它一直在这两对之间循环。 编辑: 我添加了do_scan方法。

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