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



这是我们计划插入到 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作为排序键的一个优点是,可以对特定分区键的数据进行排序,并标识最新更新的项目。这是具有排序键的非常常见的用例。

将分区键和排序键都保留为随机生成的值没有多大意义,因为您无法有效地使用排序键(除非我在这里错过了一些东西(。

最新更新