有关创建Dynamo DB表的建议

时间:2018-08-20 06:41:33

标签: amazon-web-services amazon-dynamodb

我正在Dynamo DB中创建新表,以下是属性:-

  1. ProjectID
  2. CreatedTime
  3. JobID
  4. JobType
  5. 说明
  6. 消息
  7. 状态

我主要在“ ProjectID”,“ CreatedTime”和“ JobType”上搜索(查询)项目。 我也想在“ JobID”上搜索(查询)项目。 也可以,但并非总是如此。

据我

  1. “ ProjectID”将是主分区键。
  2. “ CreatedTime”将是主要的排序键。
有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在DynamoDB中,使用主分区键排序键创建一个复合键。换句话说,DynamoDB将允许使用相同的ProjectID但不同的CreatedTime创建多个项目,这显然是不希望的。

您需要使用ProjectID 主键创建一个不同的表,并为每个要查询的属性创建一个索引。对于您的情况,您将需要为JobTypeJobIDStatus中的每个索引。

还请注意,为了查找两个日期之间的所有项目,您必须扫描表格。通常要避免 Scan 操作,因为它对表中的每个项目都使用 RCU