DynamoDB中的全局二级索引(GSI)是否影响表提供容量

时间:2016-09-19 21:57:51

标签: amazon-web-services amazon-dynamodb

我查询了2个用例,其中不同的吞吐量需求被定向到一个DynamoDB表。

  • 首次使用案例需要使用主键进行读/写,但需要至少1700次/秒写入和8000 /秒读取
  • 第二个用例使用每个GSI,但使用GSI的查询很少。每分钟少于10个查询。

因此,我为GSI配置的容量将远远低于为主键配置的容量。这是否意味着当我在表上进行写操作时,性能上限是我为GSI配置的?

2 个答案:

答案 0 :(得分:1)

询问AWS Support同样的问题,以下是他们的回答:

  

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

     

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

答案 1 :(得分:0)

我是这么认为的。当您添加新项目时,它们也需要添加到GSI索引中,因此也需要相同的容量

  

为了使表写入成功,表的规定吞吐量设置及其所有全局二级索引必须具有足够的写入容量以适应写入;否则,对表的写入将受到限制。

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