DynamoDB中的全局二级索引是否必须是唯一的?

时间:2016-05-09 14:13:44

标签: java database amazon-dynamodb

假设我有一个order表,用于存储用户发出的订单。它具有以下模式:

id (string, unique primary key)

userId (string, id of the user who made the user

我想在userId列上添加全局二级索引,但它不是唯一的,即单个用户可能会生成多个订单,这意味着可能会有多个订单相同的userId

通过阅读文档,我无法确定这种情况是否正常,或者我是否需要添加范围键以使主键唯一。

我不想添加范围键,因此我只需使用userId即可获取特定用户的所有订单。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这种情况可以,全局二级索引可以是非唯一的。唯一的缺点(我能想到的)是,如果你有一个'mega'用户,有多个订单(写入时),它可以控制吞吐量容量错误。

这里有一个很好的参考:

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html