DynamoDB表/索引建模+查询

时间:2018-05-18 17:51:24

标签: amazon-dynamodb

基本要求:

我有一个包含一堆属性的表(20-30),但在查询中只使用了3个:User,Category和Date,并且结构类似于......

User | Category | Date | ...
1    | Red      | 5/15
1    | Green    | 5/15
1    | Red      | 5/16
1    | Green    | 5/16
2    | Red      | 5/18
2    | Green    | 5/18

我希望能够通过以下两种方式查询此表:

  1. 用户最近的行(基于日期)。例如,User = 1从5/16(第3和第4行)返回2行
  2. 用户和类别的最近行(基于日期)。例如,User = 1,Category = Red仅返回5/16行(第3行)。
  3. 使用HASH on User,RANGE on Date以及GSI在用户+类别和日期范围内使用HASH进行建模是最好的方法吗?还有什么可能更有效率吗?如果这是阻力最小的路径,我仍然需要知道要返回多少行,这需要针对不同类别或其他事项进行计数?

1 个答案:

答案 0 :(得分:0)

我已经决定改变我存储文档的方式会更容易。我将类别和其他属性移动到子文档中,以便我可以轻松地查询用户+日期,我将使用一些客户端代码对用户+日期结果集进行任何用户+类别+日期查询。 / p>