Skip to content

Commit

Permalink
Update ch5.md
Browse files Browse the repository at this point in the history
  • Loading branch information
songzhibin97 committed Apr 20, 2022
1 parent aaf62c6 commit c3c484a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion ch5.md
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ PostgreSQL 和 Oracle 等使用这种复制方法【16】。主要缺点是日

单主数据库按顺序进行写操作:如果同一个字段有多个更新,则最后一个写操作将决定该字段的最终值。

在多主配置中,没有明确的写入顺序,所以最终值应该是什么并不清楚。在 [图 5-7](img/fig5-7.png) 中,在主库 1 中标题首先更新为 B 而后更新为 C;在主库 2 中,首先更新为 C,然后更新为 B。两个顺序都不是 “更正确”
在多主配置中,没有明确的写入顺序,所以最终值应该是什么并不清楚。在 [图 5-7](img/fig5-7.png) 中,在主库 1 中标题首先更新为 B 而后更新为 C;在主库 2 中,首先更新为 C,然后更新为 B。两种顺序都不比另一种“更正确”。

如果每个副本只是按照它看到写入的顺序写入,那么数据库最终将处于不一致的状态:最终值将是在主库 1 的 C 和主库 2 的 B。这是不可接受的,每个复制方案都必须确保数据在所有副本中最终都是相同的。因此,数据库必须以一种 **收敛(convergent)** 的方式解决冲突,这意味着所有副本必须在所有变更复制完成时收敛至一个相同的最终值。

Expand Down

0 comments on commit c3c484a

Please sign in to comment.