繁体   English   中英

aws dynamo db吞吐量

[英]aws dynamo db throughput

关于AWS DynamoDb吞吐量,我无法理解。

让我们考虑强一致的读取。

现在,我知道在这种情况下,1个容量单位意味着我可以读取高达每秒4KB的容量。

这是“每秒”一点让我有点困惑。 如果您确切知道要读取数据的速度,则可以适当地设置单位。 但是如果你对阅读时间不太挑剔怎么办?

假设我只有1个读取单元分配给我的表,我尝试读取超过4KB的项目。 现在肯定只是意味着我的阅读时间超过1秒? 那没关系,但文档谈到请求失败。 当我没有请求在特定时间内读取数据时,AWS如何确定我使用了太多单元?

也许我错过了一些明显的东西。 你能帮忙解决这个问题吗?

DynamoDB可以在突发容量中消耗长达300秒的未使用吞吐量。

DynamoDB中的最大项目大小为400KB,1 RCU最多可读取4KB。

假设您想要读取400KB大小的项目,并且您的桌面上有1个RCU。 您可以每100秒检索一次该项目。

由于爆破容量,总有一段时间你可以读取该项目,因为事实上你可以一次使用多达300个RCU,而不仅仅是1。

想象一下,用400KB的项目启动表。 您需要等待100秒而不需要花费任何RCU,这样您就可以获得足够的爆破容量来获取物品。 101秒后,您提出请求,花费100 RCU并获得该项目。 再过5秒钟后,您再次发出请求,但拒绝接受限制异常。

所以不,DynamoDB不会增加请求延迟以满足您的RCU规定。 它要么尽可能快地返回结果,要么抛出异常。

编辑:顺便提一下,我应该提到所有AWS DynamoDB SDK都会为您处理限制异常。 如果您尝试读取某个项目但由于没有足够的可用吞吐量而被拒绝,则SDK会退出并重试。 因此,除非您的表真的不在配置状态,否则您不必担心处理限制异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM