java - DynamoDB 中的全局二级索引是否需要唯一?

标签 java database amazon-dynamodb

假设我有一个 order 表,其中存储用户发出的订单。它具有以下架构:

id(字符串,唯一主键)

userId(字符串,创建用户的用户id

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

通过阅读文档,我不太清楚这种情况是否可以,或者我是否需要添加范围键以使主键唯一。

我不想添加范围键,因此我可以简单地使用 userId 来获取特定用户发出的所有订单。

有什么想法吗?

最佳答案

这种情况没问题,全局二级索引可以是非唯一的。唯一的缺点(我能想到的)是,如果您有一个“ super ”用户,有多个订单(写入时),它可以指责吞吐量容量错误。

这里有一个很好的引用:

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

关于java - DynamoDB 中的全局二级索引是否需要唯一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37118040/

相关文章:

java - 如何使用序列表

java - 使用java的regex api插入单词be

php - 从 GOOGLE CHROME 访问网站时,访客信息未存储在数据库中

mysql - 我有一个包含非英语单词的文本文件,我需要将其放入 mysql 中,我该怎么办?

java - 需要帮助让数字一直翻倍到中间

java - 绘制随机粗细线

java - 如何更快地将多条记录插入MySQL,Java?

amazon-dynamodb - 如何在 DynamoDB 中查找与模式匹配的所有表名?

android - 使用 Amazon Lambda 通过 SNS 通知用户 DynamoDB 中的更改

amazon-web-services - 如何通过从 CloudFormation 中删除全局二级索引来将其从 DynamoDb 中删除?