Amazon DynamoDB条件写入和原子计数器

joh*_*ohn 10 distributed-database database-concurrency amazon-dynamodb

我正在处理的应用程序当前要求我在20到30分钟的时间内多次递增属于DynamoDB中项目的属性.我一直在做一些关于DynamoDBs 条件写入和原子计数器的额外阅读

发电机中的原子计数器似乎是我需要的合理选择,但我确实担心数据的一致性,特别是在发电机等分布式数据库中,并且会发出数据的准确性.我期望API在高峰时刻受到重创,但我想避免与条件更新相关的性能问题.我想我想知道原子计数器对DynamoDB的可靠性以及如何使用dynamo正确实现它们.其他建议也欢迎.

Son*_*van 9

是的,这些是您想要使用的功能.通过Dynamo API使用它们就是这样.

现在,在这两个特性之间,使用条件写,如果你需要修改计数器,如果对业务非常关键(你告诉API将值更新为x + 10"IF而且只有IF"现有值为x)

您提到的同一文件解释了原子计数器:

"如果您怀疑之前的请求不成功,您可能会重试此操作.但是,您可能会冒两次同样的更新.这对于网站计数器来说可能是可以接受的,因为您可以容忍略微过多或不足的计数但是,在银行应用程序中,使用条件更新会更安全."

因此,如果它是业务关键操作使用条件写,否则原子计数器.希望它澄清一下.