【发布时间】:2019-01-25 19:40:56
【问题描述】:
我想在添加到 dynamoDB 之前检查新项目的 id(primary-key) 是否为 uniq
什么是性能和成本方面的最佳选择。
检查主键唯一性的可能选项是...
1) 获取(如果返回空数组,表示没有匹配的数据,也表示是uniq)
2) 扫描(显然,性能和成本都是最糟糕的想法)
3) 查询
++ 我的另一个想法是,如果有任何方法可以在 DynamoDB 设置中强制忽略传入请求(丢弃传入请求或发送错误消息),逻辑可能会简单得多。
在普通的RDB中,如果我们尝试使用现有的主键添加新项目,数据库将返回错误消息,而不改变存储在数据库中的原始数据。
然而,在 DynamoDB 中,无论我们使用现有主键放置项目还是更新项目,它只是默默地更改存储在数据库中的原始数据。
有什么想法吗?
【问题讨论】:
-
您的选项 1 和 3 是一回事,它们都是对主键进行查询操作。如果您有要查找的主键值,您的选项 2 甚至不值得考虑。
标签: amazon-web-services amazon-dynamodb