我有2个用例的查询,这些用例将不同的吞吐量需求定向到一个DynamoDB表。
第一个用例仅需要使用主键进行读/写,但是至少需要1700 /秒的写入和8000 /秒的读取
第二用例利用每个GSI,但使用GSI的查询很少且相差甚远。每分钟少于10个查询。
因此,我为GSI提供的容量将远远少于为主键提供的容量。这是否意味着当我在表上进行写操作时,性能上限是我为GSI设置的?
最佳答案
向AWS Support询问了相同的问题,以下是他们的答案:
您的问题值得提出。在您提到的情况下,您在GSI中的读/写请求将受到限制,并且10次写入/分钟将是有效限制。每当您更新主表时,这都会产生问题,这些更新将被镜像到GSI。因此,要么应提供与GSI相似的写入容量,要么不要在GSI中保留会经常更新的属性。
这里是我们的文档的链接,将为您提供帮助:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html#GSI.ThroughputConsiderations