使用复合键,DynamoDB复制主键

时间:2013-12-03 08:30:20

标签: java amazon-web-services amazon-s3 nosql amazon-dynamodb

快速问题,我是NoSQL数据库的新手,请原谅我对这个主题缺乏了解,但我想知道,如何在DynamoDB中使用主键和复合键的组合。以下面的例子为例。我可以使用相同的主键但使用不同的复合键来查询数据库吗?我想按数据排序,所以我可以按日期或区域查询,我也想保留一个包含Bills id和Name的Map。任何帮助表示赞赏。

enter image description here

1 个答案:

答案 0 :(得分:2)

回答您的评论问题,您无法通过范围键快速查询。 您只能查询哈希键以获取日期列表。 也许你应该切换它并制作日期哈希,但是你不能查询范围。

在为DynamoDB建模时,您需要确保相应地了解限制和模型。

编辑回答评论 你可以有一个表,其中hash是clientId,range是billId 这将帮助您查询客户的所有账单。如果要按数据库中的类型过滤它们,可以在“类型”属性上添加local secondary index并快速过滤它(请记住,我们仍在讨论二级查询。第一个是clientId)。

另请注意,您一次只能使用一个索引(范围键被视为索引)