Amazon dynamodb 设计DynamoDB分区密钥的最佳策略是什么?

Amazon dynamodb 设计DynamoDB分区密钥的最佳策略是什么?,amazon-dynamodb,Amazon Dynamodb,我正在设计一个Amazon DynamoDB表,表中的一个实体具有某种状态,其中包含以下值之一:1、2、3 该状态从1开始,最终在3结束 我想按状态查询记录,并按两个不同的日期字段排序 我目前的申请是: PK: id, SK: OVERVIEW, GSI1PK: STATUS#1, GSI1SK: DATE1, GSI2PK: STATUS#1, GSI2SK: DATE2 问题是这些记录总是以status=3结束,这使得分区状态#3变得拥挤 如何实现均匀的分区分布?您的应用程序计

我正在设计一个Amazon DynamoDB表,表中的一个实体具有某种状态,其中包含以下值之一:1、2、3

该状态从1开始,最终在3结束

我想按状态查询记录,并按两个不同的日期字段排序

我目前的申请是:

PK: id, SK: OVERVIEW,  
GSI1PK: STATUS#1, GSI1SK: DATE1,  
GSI2PK: STATUS#1, GSI2SK: DATE2  
问题是这些记录总是以
status=3
结束,这使得分区状态#3变得拥挤


如何实现均匀的分区分布?

您的应用程序计划如何使用数据?你能在日期字段上切分GSIPK吗?例如,2021-06#STATUS3?在客户机中,这些记录显示为表格。用户可以选择状态,然后该表仅包含具有选定状态的记录。GSI1PK仅包含前缀“STATUS”和“#3”(或1,2)。(状态#1、状态#2、状态#3)在此链接中阅读他们设计的订单表。他们在一定程度上解释了资源配置假设
id
是唯一的,那么拥有
overview
排序键对您没有任何帮助。而且没有足够的信息来真正回答你的问题。最后,“热分区”已经不是以前的问题了……它们只是规模上的问题。