简体   繁体   English

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

[英]PostgreSQL & BDR: Is BDR truly multi-master, is it Open Source and EOL for 1.x in 2019?

I am confused regarding PostgreSQL BDR and I have several questions: 我对PostgreSQL BDR感到困惑,我有几个问题:

Question 1: Is BDR truly multi-master for PostgreSQL? 问题1:BDR是否真的是PostgreSQL的多主服务器?

According to the docs here , it says that: 根据此处的文档 ,它表示:

The BDR (Bi-Directional Replication) project adds multi-master replication to PostgreSQL 9.4 BDR(双向复制)项目将多主复制添加到PostgreSQL 9.4

but if I read on 2ndQuadrant, I read the following: 但是,如果我在2ndQuadrant上阅读,则会阅读以下内容:

在此处输入图片说明

If I read that part, they don't mention multi-master much at all; 如果我读那部分,他们根本不会提到多主机。 just that a "second master, working in passive", which indicates its not a real master? 只是一个“第二主人,被动工作”,这表明它不是真正的主人?

Question 2: Is BDR open-source? 问题2:BDR是开源的吗?

I read here that it is, at least that it was: 在这里读到的是,至少是:

BDR is the first open source multi-master replication system for PostgreSQL BDR是PostgreSQL的第一个开源多主复制系统

Is it still? 还在吗 Because when I look, I am often directed to 2ndQuadrants webpage, and that gives me the impression that its not open-source, when they say that: 因为当我看时,我经常被引导到2ndQuadrants网页,当他们说:

How can you get Postgres-BDR? 如何获得Postgres-BDR?

Just fill out the contact form below and a PostgreSQL expert will be in touch shortly! 只需填写下面的联系表格,PostgreSQL专家很快就会与您联系!

Sounds like selling to me =) 听起来像是卖给我=)

Question 3: What version is what? 问题3:什么版本?

I read that 2ndQuadrant released version 1.0.5 in March this year. 读到2ndQuadrant在今年3月发布了 1.0.5 I also read on 2ndQuadrants webpage that 我也在2ndQuadrants网页上读到

In the complex environment of replication, the 3rd generation of BDR achieves... 在复杂的复制环境中,第三代BDR实现了...

The 3rd gen? 第三代? Is version 1.0.5 that same 3rd gen, or is it something else? 版本1.0.5是同一个第三代,还是其他?

Also, the same page says that: 此外,同一页上还显示:

Note for current Postgres-BDR users: BDR 1.x will reach EOL in December 2019. Our team of PostgreSQL experts can help plan and execute your upgrade with minimal impact and almost zero downtime. 当前Postgres-BDR用户的注意事项:BDR 1.x将于2019年12月终止服务。我们的PostgreSQL专家团队可以帮助您以最小的影响和几乎零的停机时间来计划和执行升级。 Contact us today and a member of our professional services team will be in touch with you as soon as possible. 立即与我们联系,我们专业服务团队的成员将尽快与您联系。

So, 1.0.5 was released in March, but has EOL in December 2019? 因此,1.0.5在3月发布,但EOL在2019年12月发布? Is 2.x not open-source, so some license cost associated with it, and 1.x is EOL 2019? 2.x不是开源的,因此与之相关的一些许可证成本,而1.x是EOL 2019?

BDR1 is open source. BDR1是开源的。 BDR2 is not. BDR2不是。 BDR3 is not yet, but should become so at some later stage. BDR3还没有,但是应该在以后的某个阶段变得如此。

BDR is truly multi-master. BDR是真正的多主机。 The "AlwaysOn Architecture" is a simplified model for BDR deployments that uses active/standby with fast-failover, designed to retain better compatibility with existing applications while improving HA and robustness. “ AlwaysOn体系结构”是用于BDR部署的简化模型,该模型使用具有快速故障转移功能的主动/备用,旨在保留与现有应用程序的更好兼容性,同时提高HA和健壮性。

So BDR can and often is deployed in fully multi-master roles, the AlwaysOn architecture just doesn't use it that way. 因此BDR可以而且经常以完全多主角色的身份进行部署,AlwaysOn体系结构只是不以这种方式使用它。


The BDR 1.x series for PostgreSQL 9.4 (+BDR patches) is open source. PostgreSQL 9.4的BDR 1.x系列(+ BDR补丁)是开源的。 It will go EoL in December 2019. It works fine, but I don't recommend it for new deployments given the planned EoL. 它将在2019年12月上线EoL。它工作正常,但鉴于计划中的EoL,我不建议在新部署中使用它。

The BDR 2.x series (for PostgreSQL 9.6) is not open source and is only available for 2ndQuadrant customers. BDR 2.x系列(对于PostgreSQL 9.6)不是开源的,仅适用于2ndQuadrant客户。 However, parts of it have been submitted to PostgreSQL itself. 但是,部分内容已提交给PostgreSQL本身。 It has been superseded by BDR 3.x. 它已被BDR 3.x取代。

The BDR 3.x series, which is now entering production, is not currently open source and is available only to 2ndQuadrant customers. 目前正在投入生产的BDR 3.x系列目前尚未开源,仅对2ndQuadrant客户可用。 My understanding is that it's intended for eventual open source release, but no date has been set, and I cannot speak officially for 2ndQuadrant about this. 我的理解是,它打算最终开放源代码发布,但尚未确定日期,因此我无法为2ndQuadrant正式发言。 BDR3 adds a much more robust node communication model, better conflict handling, and a lot more, plus it runs on PostgreSQL 10 and 11. BDR3添加了更强大的节点通信模型,更好的冲突处理等等,并且可以在PostgreSQL 10和11上运行。

I have been encouraging the relevant people to provide some updated official guidance on these matters. 我一直在鼓励有关人员就这些问题提供一些最新的官方指导。 The latest I have for you right now is "News and Roadmap for BDR (Multi-master PostgreSQL)" on the 2ndQuadrant blog. 我现在为您提供的最新信息是2ndQuadrant博客上的“ BDR(多主PostgreSQL)新闻和路线图”

I received an answer from 2ndQuadrant via email, so I will post it here as it addresses the questions above: 我通过电子邮件收到了2ndQuadrant的答复,因此我将在此处发布,因为它可以解决上述问题:

1- "BDR is truly master-master; the shadow master is still a master. BDR is an eventually consistent multi master solution; in eventually consistent multi master cluster, it is possible to write on more than one master at the same time, and conflicts might arise when the same rows are written at the same time. Conflicts might be acceptable or not depending on the logical model of the application. Some people do not need to write on both nodes at the same time, and will use BDR only to achieve faster failover, as in our BDR-AlwaysOn architecture. Other people need to write on both nodes, and in that case we need to assess impact and likeliness of conflicts." 1-“ BDR真正是主-主;影子主仍然是一个主。BDR是最终一致的多主解决方案;在最终一致的多主群集中,可以同时写多个主机,并且当同时写入相同的行时,可能会发生冲突;根据应用程序的逻辑模型,冲突是否可以接受;有些人不需要同时在两个节点上进行写操作,并且仅将BDR用于像我们的BDR-AlwaysOn架构中那样,实现更快的故障转移。其他人需要在两个节点上进行写,在这种情况下,我们需要评估冲突的影响和可能性。”

2- BDR 1.x is open source ( http://bdr-project.org/docs/stable/ ) . 2- BDR 1.x是开放源代码( http://bdr-project.org/docs/stable/ )。 Later versions including BDR3 is only available to 2ndQuadrant Production Support customers. 包括BDR3的更高版本仅适用于2ndQuadrant生产支持客户。 Happy to talk about that in more detail. 很高兴详细讨论这一点。 You are right, it does sound like selling, we are a business :) 您是对的,听起来确实像是在卖东西,我们是一家公司:)

3- The latest version is BDR3, this is the third generation of BDR. 3-最新版本是BDR3,这是第三代BDR。 It will still be live, but is only available to Support Customers. 它仍将处于活动状态,但仅对支持客户可用。

1.x is open source, but EOL as you mentioned. 1.x是开源的,但是您已经提到过EOL。

also, "is only available to Support Customers", meaning it is not a product you can buy one time. 同样,“仅对支持客户可用”,这意味着它不是您一次可以购买的产品。 You have to pay. 你得付钱。 Every year. 每年。 It is a product you rent :( . 这是您租用的产品:(。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM