如果不包含更新的属性,GSI会消耗WCU吗?

时间:2018-04-23 04:29:06

标签: amazon-web-services amazon-dynamodb

主表

{
  id: '123', // partition key
  name: 'John',
  age: 22, 
  isOnline: true // regularly changing
}

GSI

{
  age: '22', // partition key
  id: '123', // sort key
  name: 'John'
}

琐碎的例子,不介意架构或可能的坏键选择。

我的问题是:

如果您没有定期将属性(我的示例中为isOnline)的项目更改为GSI,并且如果我在主表上更改这些属性,GSI是否仍会收到更新并消耗写入容量?

1 个答案:

答案 0 :(得分:3)

如果更新属于GSI的属性,则只使用GSI WCU。因此,在您的情况下,您可以更新isOnline项目,这将消耗GSI中的 WCU。

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html#GSI.ThroughputConsiderations

  

添加,更新或删除表中的项目以及全局项目时   二级索引受此影响,然后是全局二级索引   将消耗操作的预配写入容量单位。该   写入的总预配置吞吐量成本包括总和   写入写入基表所消耗的容量单位   通过更新全局二级索引来消耗。 请注意,如果是   写入表不需要全局二级索引更新,   然后,索引不会消耗写入容量。