在DynamoDB中执行Global Secondary Index (GSI),影响表的供应能力



我有两个不同吞吐量需求的用例的查询被定向到一个DynamoDB表。

  • 第一个用例只需要使用主键读/写,但至少需要1700/秒写和8000/秒读
  • 第二个用例使用每个GSI,但是使用GSI的查询很少。每分钟少于10个查询。

因此,我为GSI提供的容量将远远小于为主键提供的容量。这是否意味着当我在表上执行写操作时,性能上限就是我为GSI提供的上限?

向AWS支持人员询问了同样的问题,他们的回答如下:

你的问题值得一问。在您提到GSI中的读/写请求将被限制的场景中,10个写/分钟将是有效限制。这将在每次更新主表时产生问题,更新将被镜像到GSI。因此,您应该为GSI提供类似的写容量,或者不要在GSI中保留经常更新的属性。

这里是我们文档的链接,可以帮助你:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html GSI.ThroughputConsiderations

我想是的。当您添加新项目时,它们也需要添加到GSI指数中,因此也需要相同的容量

为了使表写操作成功,表及其所有全局二级索引的吞吐量设置必须有足够的写容量来容纳写操作;否则,对表的写操作将被限制。

这里有更多的细节和用例:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html GSI.ThroughputConsiderations

相关内容

最新更新