DynamoDB - 异步/并行写入是否安全?

问题描述 投票:2回答:1

在我只执行UPDATE请求(没有获取)我执行加法操作的情况下,最终结果是否可以在竞争条件下安全?

这是一个例子:

id: { num: 0 }

id: { num: 1 }

id: { num: 2 }

...

id: { num: 45 }

updateexpression表示所有这些更新操作,将num属性添加到DynamoDB但是异步并且没有任何顺序概念,它们是否仍然可以安全地输出到相应的系列结束值(即1035)?

如果DynamoDB在同一时间获得两个更新请求会发生什么?一个请求会覆盖另一个请求,还是会正确递增,DynamoDB会通过原子操作一次更新一个请求?

我是否需要担心这种竞争状况的发生,或者DynamoDB是否能很好地处理这种情况?

java amazon-web-services amazon-dynamodb aws-sdk race-condition
1个回答
2
投票

是的,UpdateItem操作可用于实现atomic counters。如果您只是添加数字,则操作的顺序无关紧要,没有竞争条件。

© www.soinside.com 2019 - 2024. All rights reserved.