Amazon dynamodb DynamoDB全局索引重载与稀疏索引
我们正在设计一个将DynamoDB用作存储系统的应用程序 我们确定了不同的访问模式,在查看了全局二级索引文档之后,我们决定使用哪种方法:索引重载还是使用2个稀疏索引 为了提供更多的上下文,我们的应用程序存储订单,我们可以有内部订单或外部订单。基于此,它们将链接到客户或仓库: 由于我们希望按客户和/或仓库进行搜索,我们考虑了两种解决方案 第一种解决方案是,保持上述数据结构,在以下位置创建2个索引:Amazon dynamodb DynamoDB全局索引重载与稀疏索引,amazon-dynamodb,amazon-dynamodb-index,Amazon Dynamodb,Amazon Dynamodb Index,我们正在设计一个将DynamoDB用作存储系统的应用程序 我们确定了不同的访问模式,在查看了全局二级索引文档之后,我们决定使用哪种方法:索引重载还是使用2个稀疏索引 为了提供更多的上下文,我们的应用程序存储订单,我们可以有内部订单或外部订单。基于此,它们将链接到客户或仓库: 由于我们希望按客户和/或仓库进行搜索,我们考虑了两种解决方案 第一种解决方案是,保持上述数据结构,在以下位置创建2个索引: GSI1-客户(主键) GSI2-仓库(PK) 第二种解决方案是重载另一列,如: 因此,只需
- GSI1-客户(主键)
- GSI2-仓库(PK)
问题是:“索引重载比拥有两个不同的稀疏全局二级索引有什么好处?”(在容量调配、数据传输、查询时间、数据复杂性等方面节约成本…由于我还没有得到任何答案,我将补充我的观点 在这两种情况下,这两种方法之间没有太大的区别,所有项目最终都将被索引并存储类似的属性
我能找到的一些好处是: 使用2个GSI的好处
总之,即使使用2个索引也可以获得更精确的配置,但最终可能会有更高的成本,并且需要不时检查索引配置以调整其访问模式使用情况。从您的回答开始已经一年多了,我也处于类似的情况,您能分享一下您的想法吗,您最终得到了什么?任何您可以与他人分享的问题或反馈,谢谢