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

0

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

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

谢谢。

1 Antwort
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
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen