> 1 个客户端同时使用 updateItem 添加 10,000 个唯一值到 DynamoDB“set”类型和ADD(不知何故仍低于规定的限制)在下一次一致读取时,集合的大小-6ren">
gpt4 book ai didi

amazon-web-services - DynamoDB "set"值是 CDRT 吗?

转载 作者:行者123 更新时间:2023-12-02 21:16:24 24 4
gpt4 key购买 nike

换句话来说,如果 N >> 1 个客户端同时使用 updateItem 添加 10,000 个唯一值到 DynamoDB“set”类型和ADD(不知何故仍低于规定的限制)在下一次一致读取时,集合的大小将始终为 10,000 吗?

我所说的“设置”特指 Multi-Valued Data Type可以附加到 DynamoDB 中。理论上,单调增长的集合是 CDRT ,但文档中没有提及 DynamoDB 实现是否是 CDRT。实际上,它对于安全性一点也不具体:

ADD - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute:

If the existing data type is a set, and if Value is also a set, then Value is appended to the existing set. For example, if the attribute value is the set [1,2], and the ADD action specified 3, then the final attribute value is [1,2,3]. An error occurs if an ADD action is specified for a set attribute and the attribute type specified does not match the existing set type.

我已经对此进行了实验,并且尚未产生任何丢失的添加,除非我受到限制,但我在文档中找不到这样的无损保证。事实上,除了“条件更新”之外,我找不到任何关于任何数据类型的此类保证。

最佳答案

是的,从集合中添加/删除也是原子的。

http://aws.amazon.com/dynamodb/faqs/仅提到了 StringSet,但它也适用于其他集合类型。

Q: Does DynamoDB support in-place atomic updates?

Amazon DynamoDB supports fast in-place updates. You can increment or decrement a numeric attribute in a row using a single API call. Similarly, you can add or remove to a set of strings atomically as well.

关于amazon-web-services - DynamoDB "set"值是 CDRT 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30348884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com