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

在AWS DynamoDB中使用batchGetItem与迭代getItem有什么不同的优势吗?

东门航
2023-03-14

来自http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#BatchOperations:
这些批处理API被实现为其他非批处理DynamoDB操作的包装器。BatchGetItem为批处理中的每个项目调用GetItem。

来自:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations:
对于BatchGetItem,批处理中的每个项目都是单独读取的,因此DynamoDB首先将每个项目的大小四舍五入到下一个4 KB,然后计算总大小。结果不一定与所有项目的总大小相同。例如,如果BatchGetItem读取一个1.5 KB项目和一个6.5 KB项目,DynamoDB将计算大小为12 KB(4 KB 8 KB),而不是8 KB(1.5 KB 6.5 KB)。

因此,使用batchGetItem api与遍历列表并调用getItem api相比,在响应时间或其他方面是否有任何优势?

共有1个答案

井学
2023-03-14

是的,响应时间。BatchGetItem为GetItem并行检索项目与顺序检索项目。但是,还有一些其他考虑因素可能是相关的:

  1. 您需要确保您的表设置了适当的读取单位
  2. 检查预期结果-您可能无法获得批处理请求中的所有项目,因此可能需要再次请求

希望这有帮助。

 类似资料:
  • 问题内容: 在PHP 中使用Heredoc有什么优势,您可以举个例子吗? 问题答案: Heredoc语法对我来说更干净,它对于多行字符串和避免引用问题确实很有用。回到过去,我曾经用它们来构造SQL查询: 对我来说,引入语法错误的可能性比使用引号的可能性低: 另一点是要避免在字符串中转义双引号: 上面的pProblem是我刚刚引入的语法错误(缺少的转义引号),与此处的文档语法相反: 这有点风格,但是

  • 问题内容: 用…实现事情 似乎 已经 很简单 了… 与 ngResource相比 ,使用Restangular 有哪些优点/缺点? 1.1.3 将返回承诺,并且可以使用[最新的PRcommit来实现。将来会提供支持来支持Restangular所做的其他动词吗?如果发生这种情况,Restangular似乎将消失并变得不耐烦。 问题答案: 我是Restangular的创建者。 我已经在自述文件中创建了

  • 问题内容: 我建议实施这样的超时: 有人可以告诉我使用此方法而不使用setTimeout的原因/优势是什么? 问题答案: 用基本的话指的是angularjs when-指JavaScript。 如果您仍然认为要使用,则需要在之后调用 示例1:$ timeout 示例2:setTimeout(相同的逻辑) 演示版 $超时也返回一个承诺 JS HTML $超时也会触发摘要周期 考虑我们有一些3d派对代

  • 本文向大家介绍使用 Spring Cloud 有什么优势?相关面试题,主要包含被问及使用 Spring Cloud 有什么优势?时的应答技巧和注意事项,需要的朋友参考一下 使用 Spring Boot 开发分布式微服务时,我们面临以下问题 与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题。 服务发现-服务发现工具管理群集中的流程和服务如何查找和互相交谈。它涉及一个服务目

  • 问题内容: 与仅返回自己的Spring Async相比,使用Spring Async有 什么优势? 问题答案: 您的应用程序由容器管理。由于不建议您自己生成,因此可以让容器注入Managed 。

  • 问题内容: 使用迭代器可以提供什么(如果有的话)性能优势。似乎是解决许多问题的“正确方法”,但是它会创建更快/更具有内存意识的代码吗?我在用Python专门思考,但不要仅仅局限于此。 问题答案: 实际上在python邮件列表上有一封很好的邮件: Iterators vs Lists 。这有点过时(从2003年开始),但是据我所知,它仍然有效。 总结如下: 对于小型数据集,基于迭代器和列表的方法具有