DynamoDB“设置”值是 CDRT 吗?

2023-12-13

另有说法if N >> 1客户端同时添加 10,000 个唯一值使用 DynamoDB“设置”类型updateItem and ADD——以某种方式保持在规定的限度内——下一次一致性读取时,该集合的大小将始终为 10,000 吗?

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

ADD- 如果属性尚不存在,则将指定值添加到项目中。如果该属性确实存在,则 ADD 的行为取决于该属性的数据类型:

如果现有数据类型是集合,并且 Value 也是集合,则将 Value 附加到现有集合。例如,如果属性值为集合[1,2],并且指定了ADD操作3,那么最终的属性值为[1,2,3]。如果为集属性指定 ADD 操作并且指定的属性类型与现有集类型不匹配,则会发生错误。

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


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

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

问:DynamoDB 是否支持就地原子更新?

Amazon DynamoDB 支持快速就地更新。您可以使用单个 API 调用来增加或减少行中的数字属性。同样,您也可以原子地添加或删除一组字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DynamoDB“设置”值是 CDRT 吗? 的相关文章

随机推荐