可以安全地将随机生成的字母数字字符串设置为DynamoDB中的主分区键和排序键

时间:2017-07-24 13:50:54

标签: amazon-dynamodb database

以下是我们计划插入DynamoDB表的示例JSON。截至目前,我们将organizationID作为主分区键,将__id__作为排序键。由于我们将基于organizationID进行查询,因此我们将其保留为主分区键。将__id__作为排序键是一种很好的方法。

{
  "__class__": "package",
  "__updated__": "2015-10-19T14:30:13Z",
  "__created__": "2015-10-19T12:32:28Z",
  "transactions": [
    {
      transaction1
    },
    {
      transaction2
    }
  ],
  "carrier": "USPS",
  "organizationID": "6406fa6fd32393908125d4d81ec358",
  "barcode": "9400110891302408",
  "queryString": [
    "xxxxxxx",
    "YYYY",
    "delivered",    
  ],
  "deliveredTo": null,
  "__id__": "3232d1a045476786fg22dfg32b82209155b32"
}

1 个答案:

答案 0 :(得分:1)

根据最佳做法,您可以将timestamp作为上述数据模型的排序键。将timestamp作为排序键的一个优点是,您可以排序特定分区键的数据并标识最新更新的项。这是使用排序键的常见用例。

将分区和排序键保持为随机生成的值没有多大意义,因为您无法有效地使用排序键(除非我在这里遗漏了一些内容)。