假设我有一个order
表,用于存储用户发出的订单。它具有以下模式:
id (string, unique primary key)
userId (string, id of the user who made the user
我想在userId
列上添加全局二级索引,但它不是唯一的,即单个用户可能会生成多个订单,这意味着可能会有多个订单相同的userId
。
通过阅读文档,我无法确定这种情况是否正常,或者我是否需要添加范围键以使主键唯一。
我不想添加范围键,因此我只需使用userId即可获取特定用户的所有订单。
有什么想法吗?
答案 0 :(得分:1)
这种情况可以,全局二级索引可以是非唯一的。唯一的缺点(我能想到的)是,如果你有一个'mega'用户,有多个订单(写入时),它可以控制吞吐量容量错误。
这里有一个很好的参考:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html