使用GSI时,未投影属性是否使用WRU?

0

【以下的问题经过翻译处理】 我是AWS和NoSQL / DynamoDB的新手。 我想知道是否使用仅包含键的投影类型创建GSI将使用WRU或在修改原始表中的非键属性时产生额外成本。

例如,如果具有PK“ id”和GSI-PK“电子邮件”的表在修改原始表中的属性“城市”时是否会增加额外的WRU或成本。

谢谢。

profile picture
专家
已提问 8 个月前98 查看次数
1 回答
0

【以下的回答经过翻译处理】 这就涉及到物品大小的问题了。每个向 DynamoDB 的写入请求都会向上舍入为最接近的 1KB。因此,首先假设您表中的物品小于 1KB:

向基本表写入将消耗 1 WCU,向 GSI 复制将消耗 1 WCU。复制到 GSI 的写入将消耗 1WCU,无论您使用 KEYS_ONLY 还是 ALL 投影,因为最小消耗为 1 WCU。

现在考虑您的物品大小为 4KB:

向基本表写入将消耗 4 WCU,向 GSI 复制将消耗 4 WCU(如果使用 ALL 投影)。但是,如果您使用 KEYS_ONLY,则只会从 GSI 中消耗 1 WCU,这仅为使用 ALL 的成本的四分之一。

使用 KEYS_ONLY 的第二个因素是存储成本,仅存储项目的键可以显着降低存储成本,因为您的表扩展到 TB 级别。

例如,如果一个具有 PK “id” 和 GSI-PK“email”的表在原始表中修改属性“city”会增加额外的 WRU 使用或成本。

在这种情况下,使用 KEYS_ONLY 不会消耗 GSI 容量,因为您没有对索引化的项目进行任何更改。

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则