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 容量,因为您没有对索引化的项目进行任何更改。
相關內容
- 已提問 1 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前