PostgreSQL & BDR:BDR 是真正的多主,它是否在 2019 年 1.x 开源和停产?

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

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

问题一:BDR 真的是 PostgreSQL 的多主机吗?

根据the docs here,它说:

The BDR (Bi-Directional Replication) project adds multi-master replication to PostgreSQL 9.4

但如果我在第二象限阅读,我会阅读以下内容:

如果我读了那部分,他们根本没有提到多主机;就那一个"second master, working in passive",说明不是真正的高手?

问题二:BDR开源吗?

read here是的,至少是:

BDR is the first open source multi-master replication system for PostgreSQL

还在吗?因为当我看的时候,我经常被引导到 2ndQuadrants 网页,这给我的印象是它不是开源的,当他们说:

How can you get Postgres-BDR?

Just fill out the contact form below and a PostgreSQL expert will be in touch shortly!

听起来像是卖给我 =)

问题三:什么版本是什么?

read that 2ndQuadrant released version 1.0.5 in March this year. I also read on 2ndQuadrants webpage那个

In the complex environment of replication, the 3rd generation of BDR achieves...

第三代?版本 1.0.5 与第 3 代相同,还是其他版本?

另外,同一页说:

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. Contact us today and a member of our professional services team will be in touch with you as soon as possible.

那么,1.0.5 是在 3 月份发布的,但是在 2019 年 12 月就停产了吗? 2.x 不是开源的吗,所以有一些与之相关的许可成本,1.x 是 EOL 2019?

我通过电子邮件收到了 2ndQuadrant 的答复,因此我将 post 放在这里,因为它解决了上述问题:

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."

2- BDR 1.x is open source (http://bdr-project.org/docs/stable/) . Later versions including BDR3 is only available to 2ndQuadrant Production Support customers. 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. It will still be live, but is only available to Support Customers.

1.x is open source, but EOL as you mentioned.

BDR1 是开源的。 BDR2 不是。 BDR3 还没有,但应该会在以后的某个阶段成为这样。

BDR 是真正的多主机。 "AlwaysOn Architecture" 是 BDR 部署的简化模型,它使用 active/standby 和快速故障转移,旨在保持与现有应用程序更好的兼容性,同时提高 HA 和稳健性。

所以 BDR 可以而且经常部署在完全多主机角色中,AlwaysOn 架构只是不那样使用它。


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

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)"

另外,"is only available to Support Customers",这意味着它不是您可以一次性购买的产品。你得付钱。每年。这是您租用的产品:( .