首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql集群与Patroni的一致性是什么?

Postgresql集群与Patroni的一致性是什么?
EN

Stack Overflow用户
提问于 2018-02-09 20:50:44
回答 2查看 870关注 0票数 1

Postgresql集群与Patroni的一致性是什么?

我的理解是,由于故障转移使用的是一个共识(等等或动物园管理员),系统将保持一致的网络分区。

这是否意味着在可序列化隔离级别下运行的事务也将提供线性化。

如果没有,我会得到顺序一致性,因果一致性。?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-12 19:25:29

在分布式上下文中,我们有一个对象状态的多个副本,如果它是,则调度是可线性的,就好像它们都在同一时间点被更新一样。

一旦写入完成,所有以后从任何副本中读取的(挂钟时间)都会看到该写入的值或后续写入的值。

自从PostgreSQL版本9.6以来,就有可能有多个同步的标准节点。这意味着,如果我们有3台服务器,并且使用num_sync = 2,那么主服务器在执行提交之前总是等待写在2备用状态下。

这应该满足线性化调度的约束,即使有故障转移。

由于版本1.2的Patroni,当启用同步模式时,Patroni将自动失败,仅用于在主故障时同步复制的备用设备。这实际上意味着,在这种情况下,没有用户可见的事务会丢失

票数 2
EN

Stack Overflow用户

发布于 2018-02-10 17:02:27

您不应该混淆主副本和副本之间的一致性以及数据库中的一致性。

运行在Patroni集群中的PostgreSQL数据库是一个具有流副本的普通数据库,因此它提供了流复制的最终一致性(所有副本最终将显示与主副本相同的值)。

Serializabiliy保证您可以在数据库事务中建立一个与主事务运行的顺序,以便按该顺序序列化执行的结果与实际的工作负载相同。

如果我正确地理解了这个定义,那就是“线性化”。

由于只能将Patroni集群中的一个节点写入(主节点),所以无论数据库是否位于Patroni集群中,这都将保持为真。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48713900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档