这是我们计划插入到 DynamoDB 表中的示例 JSON。截至目前,我们将organizationID
作为主分区键,__id__
作为排序键。由于我们将根据组织 ID 进行查询,因此我们将其保留为主分区键。将__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"
}
根据最佳实践,您可以将timestamp
作为上述数据模型的排序键。将timestamp
作为排序键的一个优点是,可以对特定分区键的数据进行排序,并标识最新更新的项目。这是具有排序键的非常常见的用例。
将分区键和排序键都保留为随机生成的值没有多大意义,因为您无法有效地使用排序键(除非我在这里错过了一些东西(。