当前位置: 首页 > 知识库问答 >
问题:

dynamodb global是否在同步期间替换整个项目?

贺文彬
2023-03-14

启用dynamodb全局表时,如果在同一项上发生两次写入,但每个区域的表上的属性不同。dynamodb如何在这两个表之间同步?

例如,在区域A中,有一个项目的更新:

{
  a: 1
}

与此同时,在区域B中的同一表上还有另一个写入,更改如下:

{
  b: 1
}

dynamodb全局表同步是否将属性合并为一个:

{
 a: 1,
 b: 1
}

还是一个会取代另一个?

共有1个答案

南门飞扬
2023-03-14

在竞赛条件下,一个更新将被接受,而另一个将被拒绝。使用DynamoDB全局表时,DynamoDB由于其分布式性质,无法可靠地解决不一致问题。作为应用html" target="_blank">程序的一部分,您需要确保防止或解决可能的不一致。

根据文件:

为了帮助确保最终的一致性,DynamoDB全局表在并发更新之间使用最后一个writer,其中DynamoDB尽最大努力确定最后一个writer。使用此冲突解决机制,所有副本都将同意最新的更新,并收敛到它们都具有相同数据的状态。

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables_HowItWorks.html

 类似资料:
  • 在IntelliJ IDEA中,是否有一个选项可以查找整个项目的符号并将其替换为准时操作?

  • 我使用的是JSoup,想要替换和整个div,比如 与 我找到了替换div的innerHtml的方法,但是如何替换整个div呢?

  • 问题内容: java.util.concurrent.atomic软件包的javadoc表示以下内容: 一个小的类工具包,支持对单个变量进行无锁线程安全编程。 但是我没有在任何AtomicInteger或AtomicBoolean类中看到任何线程安全的(同步或锁定)代码。 因此,这2个是否相同: 1。 2。 更新 :感谢您的回答。使用AtomicInteger时需要挥发吗? 问题答案: 它们将提供

  • 问题内容: 在 IntelliJ IDEA中 ,是否可以通过按时操作找到并替换整个项目的符号? 问题答案: 编辑: 这是 可视化表示形式, 用于更好地理解。 在指定路径内的所有文件中替换一段文本,请执行以下操作之一: 在主菜单上,选择“编辑”。查找| 替换为路径 按+ + 你可以试试+ + 。 而且,如果您将Eclipse键映射用于IntelliJ,则可以使用+ 。

  • 我单击ctrl-R并单击replaceAll按钮,但它只在当前文件中更改。 任何想法如何做同样的,但在整个项目。

  • 根据文件中的说明: setState()不会立即改变this.state,但会创建挂起的状态转换。调用此方法后访问this.state可能会返回现有值。 对setState的调用不能保证同步操作,可能会为了提高性能而对调用进行批处理。 因此,由于是异步的,因此无法保证其同步性能。是否有同步的替代方法。 例如 因为值是以前的值,所以什么是替代方案,将给予使用。 Stackoverflow上有几个问题