PostgreSQL和BDR:BDR确实是多主设备吗?它是2019年的1.x版开源和EOL吗?

时间:2018-08-17 10:08:45

标签: postgresql postgresql-bdr postgres-bdr

我对PostgreSQL BDR感到困惑,并且有几个问题:

问题1:BDR是否真的是PostgreSQL的多主服务器?

根据the docs here,它表示:

  

BDR(双向复制)项目添加了多主数据库   复制到PostgreSQL 9.4

但如果我在2ndQuadrant上阅读,则会阅读以下内容:

enter image description here

如果我读了那部分,他们根本不会提到多主机。只是一个“第二主人,被动工作”,这表明它不是真正的主人?

问题2:BDR是开源的吗?

read here是,至少是:

  

BDR是PostgreSQL的第一个开源多主复制系统

还在吗?因为当我看时,我经常被引导到2ndQuadrants网页,当他们说:

时,这给我的印象是它不是开源的。
  

如何获得Postgres-BDR?

     

只需填写下面的联系表格,PostgreSQL专家就会尽快与您联系!

听起来像是卖给我=)

问题3:什么版本?

read that 2ndQuadrant released version 1.0.5在今年三月。我也read on 2ndQuadrants webpage那个

  

在复杂的复制环境中,第三代BDR实现了...

第三代?版本1.0.5是同一个第三代,还是其他?

此外,同一页上还说:

  

当前Postgres-BDR用户的注意事项:BDR 1.x将于2019年12月到期。我们的PostgreSQL专家团队可帮助您以最小的影响和几乎零的停机时间来计划和执行升级。立即与我们联系,我们专业服务团队的成员将尽快与您联系。

因此,1.0.5在3月发布,但EOL在2019年12月发布? 2.x是否不是开源的,所以与之相关的一些许可证成本,而1.x是EOL 2019?

3 个答案:

答案 0 :(得分:2)

我通过电子邮件收到2ndQuadrant的答复,因此我将其张贴在此处,以解决上述问题:

  

1-“ BDR是真正的主控主机;影子主控仍然是主机。   BDR是最终一致的多主机解决方案;最终   一致的多主群集,可以写多个   一位大师同时出现,而同一位大师可能会发生冲突   行被同时写入。冲突可能是可以接受的,或者   不取决于应用程序的逻辑模型。有些人做   无需同时在两个节点上写入,并且将使用BDR   就像我们的BDR-AlwaysOn架构一样,只能实现更快的故障转移。   其他人需要在两个节点上都写,在这种情况下,我们需要   评估冲突的影响和可能性。”

     

2- BDR 1.x是开源(http://bdr-project.org/docs/stable/)。   包括BDR3的更高版本仅适用于2ndQuadrant   生产支持客户。很高兴详细讨论这一点。   您是对的,听起来确实像是在卖东西,我们是一家公司:)

     

3-最新版本是BDR3,这是第三代BDR。它   仍然可以使用,但仅适用于支持客户。

     

1.x是开放源代码,但正如您提到的那样停产。

答案 1 :(得分:2)

BDR1是开源的。 BDR2不是。 BDR3还没有,但是应该在以后的某个阶段变得如此。

BDR是真正的多主设备。 “ AlwaysOn体系结构”是用于BDR部署的简化模型,该模型使用具有快速故障转移功能的主动/备用,旨在保留与现有应用程序的更好兼容性,同时提高HA和健壮性。

因此BDR可以并且经常以完全多主机的角色进行部署,AlwaysOn体系结构只是不使用这种方式。


用于PostgreSQL 9.4的BDR 1.x系列(+ BDR补丁)是开源的。它将在2019年12月上线EoL。它可以正常工作,但是鉴于计划中的EoL,我不建议在新部署中使用它。

BDR 2.x系列(对于PostgreSQL 9.6)不是开源的,仅适用于2ndQuadrant客户。但是,部分内容已提交给PostgreSQL本身。它已被BDR 3.x取代。

BDR 3.x系列现已投入生产,目前尚不开源,仅对2ndQuadrant客户可用。我的理解是,它打算最终开放源代码发布,但尚未确定日期,因此我无法为2ndQuadrant正式发言。 BDR3添加了更强大的节点通信模型,更好的冲突处理等等,并且可以在PostgreSQL 10和11上运行。

我一直在鼓励有关人员就这些问题提供一些最新的官方指导。我目前为您提供的最新信息是2ndQuadrant博客上的"News and Roadmap for BDR (Multi-master PostgreSQL)"

答案 2 :(得分:0)

此外,“仅适用于支持客户”,这意味着它不是您可以一次购买的产品。你得付钱。每年。这是您租用的产品:(。