Amazon dynamodb 我提供的Dynamodb吞吐量每秒可以支持多少个请求

Amazon dynamodb 我提供的Dynamodb吞吐量每秒可以支持多少个请求,amazon-dynamodb,Amazon Dynamodb,在阅读了几篇关于Dynamodb的文档和博客之后,我仍然在努力理解RCU和WCU是如何工作的 我部署了一个带有5个RCU的表。此表上的请求主要是GetItem请求,平均响应负载为7KB。我知道要测量的不是有效负载的大小,而是读取操作期间消耗的数据大小。但假设它消耗的数据量相似 从Dynamodb文档中,每个配置的RCU最多可以支持4KB的一致读取 因此,如果我理解的话,我配置的吞吐量可以支持高达20KB/秒的速度,而无需节流 基于此,如果我的平均负载是7KB, 我说的对吗,我的表可以支持每秒约2

在阅读了几篇关于Dynamodb的文档和博客之后,我仍然在努力理解RCU和WCU是如何工作的

我部署了一个带有5个RCU的表。此表上的请求主要是
GetItem
请求,平均响应负载为7KB。我知道要测量的不是有效负载的大小,而是读取操作期间消耗的数据大小。但假设它消耗的数据量相似

从Dynamodb文档中,每个配置的RCU最多可以支持4KB的一致读取 因此,如果我理解的话,我配置的吞吐量可以支持高达20KB/秒的速度,而无需节流

基于此,如果我的平均负载是7KB, 我说的对吗,我的表可以支持每秒约2个请求

如果有人能对此提供一些信息,我们将不胜感激。

TD;LR 是的,你说得对

更多细节 您可能已经知道其中一些内容,但为了完整性和帮助他人,我将详细介绍一下:

  • RCU是读取容量单位
  • WCU是写入容量单位

  • 最终一致读取:如果最新写入尚未在任何地方复制,则可能会得到过时的数据

  • 强一致性读取:始终获取最新数据
  • 事务性读取:您正在作为DynamoDB事务的一部分进行读取
单位不等于每秒请求数。根据您阅读的内容和方式,有不同的性能配置文件。我会解释的

阅读性能 有3种读取:强一致性、事务性和最终一致性。事情是这样的:

每返回4Kb数据块(可能是数据库中的多行):

  • 最终一致:1个RCU每秒可以读取2个块
  • 强一致性:1个RCU每秒可以读取1个块
  • 事务性:2个RCU每秒可以读取1个块
因此,对于您的示例,如果您的项目约为7Kb,并且您希望执行强一致性读取,则需要2个RCU每秒读取1个项目。因为您已经设置了5个RCU,所以您是正确的,您可以预期大约每秒读取2次


如果您想从数据库中榨取更多的能量,请注意返回的数据量。我认为,如果你的平均项目大小是7Kb,这是有点担心。您可能需要考虑对象存储,而不是在有效载荷中存储对DyDoDB中有效载荷的引用。我想这取决于您存储的内容和您的用例。这可能是合法的,但听起来有点可疑。

谢谢你消除了我的疑虑!这真的很有帮助,我只是有点好奇关于7KB的平均大小,有没有可能你可以详细说明?抱歉,我对DynamoDBIt很陌生,只是一般的观察结果,一行数据的7Kb有点大。在我看来,您可能从查询中返回了太多数据。除非您的意思是返回的不是每个项目7Kb,而是总结果集的大小。那你可能没事。在这种情况下,dynamodb项目可能有助于减少数据大小。另外,您可能已经知道,但不要像关系数据库那样设计dynamodb表。很多关于这个话题的视频。我的最爱: