我对两个不同吞吐量需求的用例进行了查询,并将其定向到一个DynamoDB表。
因此,我为 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