Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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:

Question 1: Is BDR truly multi-master for PostgreSQL?

According to the docs here, it says that:

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

but if I read on 2ndQuadrant, I read the following:

enter image description here

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?

I read here that it is, at least that it was:

BDR is the first open source multi-master replication system for 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:

How can you get Postgres-BDR?

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

Sounds like selling to me =)

Question 3: What version is what?

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

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

The 3rd gen? Is version 1.0.5 that same 3rd gen, or is it something else?

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. 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? Is 2.x not open-source, so some license cost associated with it, and 1.x is EOL 2019?

like image 340
Ted Avatar asked Aug 17 '18 10:08

Ted


People also ask

What is PostgreSQL used for?

PostgreSQL is used as the primary data store or data warehouse for many web, mobile, geospatial, and analytics applications. The latest major version is PostgreSQL 12.

Is PostgreSQL a SQL or NoSQL?

PostgreSQL is not NoSQL. PostgreSQL is a classical, relational database server (and syntax) supporting most of the SQL standards.

What is difference between SQL and PostgreSQL?

PostgreSQL is an object-relational database, while Microsoft SQL Server is a relational database system. This means PostgreSQL offers more complex data types and allows object inheritance, though it also makes working with PostgreSQL more complex.

Is PostgreSQL better than MySQL?

Postgres offers a wider variety of data types than MySQL. If your application deals with any of the unique data types it has available, or unstructured data, PostgreSQL may be a better pick. If you're using only basic character and numeric data types, both databases will suit you.


1 Answers

BDR1 is open source. BDR2 is not. BDR3 is not yet, but should become so at some later stage.

BDR is truly multi-master. 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.

So BDR can and often is deployed in fully multi-master roles, the AlwaysOn architecture just doesn't use it that way.


The BDR 1.x series for PostgreSQL 9.4 (+BDR patches) is open source. It will go EoL in December 2019. It works fine, but I don't recommend it for new deployments given the planned EoL.

The BDR 2.x series (for PostgreSQL 9.6) is not open source and is only available for 2ndQuadrant customers. However, parts of it have been submitted to PostgreSQL itself. It has been superseded by 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. 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. BDR3 adds a much more robust node communication model, better conflict handling, and a lot more, plus it runs on PostgreSQL 10 and 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.

like image 121
Craig Ringer Avatar answered Nov 27 '22 06:11

Craig Ringer