Amazon web services DynamoDb全局表原子计数器区域并发写入行为

Amazon web services DynamoDb全局表原子计数器区域并发写入行为,amazon-web-services,amazon-dynamodb,Amazon Web Services,Amazon Dynamodb,我们在两个地区有dynamodb全球表。该表包含类似网站点击的信息,键为user,另外还有一列total\u user\u clicks,这是一个数值。为了增加这个值,我们使用原子计数器dynamodb特性 让我们考虑下一个情况。在同一时刻,我们从两个不同的区域为单个密钥发送两个增量更新。我的问题是:最终的结果是什么?我们是否保证最终将为+2?或者,它可以是+1或+2,具体取决于复制环境 据我所知,如果我们复制数据库日志,而不是原始行,我们保证最终会有+2。但是我在官方文件中找不到任何确认。如果

我们在两个地区有dynamodb全球表。该表包含类似网站点击的信息,键为user,另外还有一列total\u user\u clicks,这是一个数值。为了增加这个值,我们使用原子计数器dynamodb特性

让我们考虑下一个情况。在同一时刻,我们从两个不同的区域为单个密钥发送两个增量更新。我的问题是:最终的结果是什么?我们是否保证最终将为+2?或者,它可以是+1或+2,具体取决于复制环境


据我所知,如果我们复制数据库日志,而不是原始行,我们保证最终会有+2。但是我在官方文件中找不到任何确认。

如果
添加请求来自不同的地区,它可以是+1或+2

从中,如果请求在复制时更新不同区域中的相同项,则可能会导致冲突

即使请求可以在没有冲突的情况下进行协调(即,在同一个键上添加操作或更新不同的路径),它也会引发冲突并覆盖到最后一个写入程序。因此前一个请求将被忽略

因此,对于来自不同区域的2项请求,可能存在3种情况

  • 结果是+1,冲突,请求1获胜
  • 结果是+1,冲突,请求2胜
  • 结果是+2,没有冲突,两个请求不会重叠复制时间