【问题标题】:DynamoDB GSI data duplicationDynamoDB GSI 数据复制
【发布时间】:2021-05-03 21:25:39
【问题描述】:

我有一个关于在 dynamoDB 中使用 GSI 的问题,我在使用 2 个 GSI 的表中获得了 10 个属性,我想为具有不同访问模式的两个 GSI 检索相同的数据

例如:

主表

userId、productId、productName、price、GSI1、GS2、更多属性。

GSI:投影属性全部 按产品名称获取产品 PK:产品名称,sk:价格

GSI:投影属性全部 按价格和名称获取产品 PK:价格,sk:产品名称

两个 GSI 都投射相同的 10 个表属性,但我的问题是两个 GSI 在存储方面是相互独立的,因为我可能知道每个 GSI 都有自己的 WUC、RUC 但对于存储来说是相同的,因为它们投射相同的值?

仅使用 GSI 中包含的所有密钥的最佳做法是什么?任何示例或指南

非常感谢。

【问题讨论】:

    标签: amazon-web-services lambda amazon-dynamodb dynamodb-queries


    【解决方案1】:

    存储是按 GSI 的。 GSI 实际上是一个自动同步的隐藏表。

    General Guidelines for Secondary Indexes in DynamoDB 有关于 GSI 的良好信息。

    由于二级索引会消耗存储空间和预置吞吐量,因此您应该使索引的大小尽可能小。此外,索引越小,与查询全表相比,性能优势就越大。如果您的查询通常只返回一小部分属性,并且这些属性的总大小远小于整个项目,请仅投影您经常请求的属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      相关资源
      最近更新 更多