2ndQuadrant is now part of EDB

Bringing together some of the world's top PostgreSQL experts.

2ndQuadrant | PostgreSQL
Mission Critical Databases
  • Contact us
  • EN
    • FR
    • IT
    • ES
    • DE
    • PT
  • Support & Services
  • Products
  • Downloads
    • Installers
      • Postgres Installer
      • 2UDA – Unified Data Analytics
    • Whitepapers
      • Business Case for PostgreSQL Support
      • Security Best Practices for PostgreSQL
    • Case Studies
      • Performance Tuning
        • BenchPrep
        • tastyworks
      • Distributed Clusters
        • ClickUp
        • European Space Agency (ESA)
        • Telefónica del Sur
        • Animal Logic
      • Database Administration
        • Agilis Systems
      • Professional Training
        • Met Office
        • London & Partners
      • Database Upgrades
        • Alfred Wegener Institute (AWI)
      • Database Migration
        • International Game Technology (IGT)
        • Healthcare Software Solutions (HSS)
        • Navionics
  • Postgres Learning Center
    • Webinars
      • Upcoming Webinars
      • Webinar Library
    • Whitepapers
      • Business Case for PostgreSQL Support
      • Security Best Practices for PostgreSQL
    • Blog
    • Training
      • Course Catalogue
    • Case Studies
      • Performance Tuning
        • BenchPrep
        • tastyworks
      • Distributed Clusters
        • ClickUp
        • European Space Agency (ESA)
        • Telefónica del Sur
        • Animal Logic
      • Database Administration
        • Agilis Systems
      • Professional Training
        • Met Office
        • London & Partners
      • Database Upgrades
        • Alfred Wegener Institute (AWI)
      • Database Migration
        • International Game Technology (IGT)
        • Healthcare Software Solutions (HSS)
        • Navionics
    • Books
      • PostgreSQL 11 Administration Cookbook
      • PostgreSQL 10 Administration Cookbook
      • PostgreSQL High Availability Cookbook – 2nd Edition
      • PostgreSQL 9 Administration Cookbook – 3rd Edition
      • PostgreSQL Server Programming Cookbook – 2nd Edition
      • PostgreSQL 9 Cookbook – Chinese Edition
    • Videos
    • Events
    • PostgreSQL
      • PostgreSQL – History
      • Who uses PostgreSQL?
      • PostgreSQL FAQ
      • PostgreSQL vs MySQL
      • The Business Case for PostgreSQL
      • Security Information
      • Documentation
  • About Us
    • About 2ndQuadrant
    • 2ndQuadrant’s Passion for PostgreSQL
    • News
    • Careers
    • Team Profile
  • Blog
  • Menu Menu
You are here: Home1 / Blog2 / 2ndQuadrant3 / News and Roadmap for BDR (Multi-master PostgreSQL)
Simon Riggs

News and Roadmap for BDR (Multi-master PostgreSQL)

July 12, 2017/28 Comments/in 2ndQuadrant, Simon's PlanetPostgreSQL /by Simon Riggs

Postgres-BDR is an open source project from 2ndQuadrant that provides multi-master features for PostgreSQL. We have pursued a joint strategy of providing both working code available now and also submitting the features into core PostgreSQL.

Postgres-BDR 1.0 runs on a variant distro of PG9.4. This is in Production now and receives regular maintenance and security updates. 2ndQuadrant will support this until 9.4 End of Life in December 2019.

One of the greatest achievements to come out of our work on BDR is the logical replication technology. Our engineers spent a considerable amount of energy to contribute the tech to PostgreSQL core and I feel especially proud that this is a headline feature of the upcoming PG10 release.

And Now BDR 2.0 … 

BDR 2.0 runs on community PG9.6 as an extension. 2ndQuadrant is making this available now to Support customers only. BDR 2.0 allows our customers to upgrade to PostgreSQL 9.6 while we work on some new BDR features to be made available in version 3.0, which will be released as open source.

BDR 3.0 will be available by Q1 2018, maybe earlier. We will be working with our customers to prioritize feature content and it already looks exciting. We expect BDR3 to be the main future development path and will be supported from its release for 5 years.

We will be submitting further enhancements of performance and robustness to logical replication into PG11. These are all important infrastructure features that will pave the path for inclusion of multi-master replication in PostgreSQL core.

Multi-master functionality from BDR 3.0 will be submitted as core patches to PG12 in 2018, allowing us to work hard towards getting it full function multi-master into core for Production use by Sept 2019 onwards. At that point the project will have taken us 7 years to complete integration.

Tags: BDR, Postgres-BDR
Share this entry
  • Share on Facebook
  • Share on Twitter
  • Share on WhatsApp
  • Share on LinkedIn
28 replies
  1. Chris Mair
    Chris Mair says:
    July 12, 2017 at 9:43 pm

    Hi,

    great news!

    Thanks for BDR 🙂

    — Chris.

    Reply
  2. Pisey
    Pisey says:
    July 13, 2017 at 2:57 am

    wow, Great BDR. thank 2ndQuadrant

    Reply
  3. Richard Zhang
    Richard Zhang says:
    August 9, 2017 at 4:52 pm

    As we understand the current BDR 1.x and 2.x are the multiple master with asynchronous replication in the peer-to-peer mesh-up connection. For the multi-master BDR 3.0, will it have the SYNC replication as well as loosely-couple connection (using any communication protocol)? Could you elaborate what’s the exact meaning for the multi-master BDR 3.0? Thanks.

    Reply
    • Simon Riggs
      Simon Riggs says:
      August 9, 2017 at 6:16 pm

      Yes, synchronous_commit will work with a variety of options to provide synchronous replication. It’s simply a function of the transport layer, so it still works with logical replication.

      Reply
      • Richard Zhang
        Richard Zhang says:
        August 10, 2017 at 1:01 am

        Thanks for the quick reply. I understood that the “synchronous_commit” configuration option is available in the postgres 9.4 and can work with the 9.4 BDR asynchronous replication when it’s turned on. But, it can only provide two nodes synchronous_commit when cross the networking. I observed and confirmed this feature works in the 9.4 BDR cluster. But, it can’t provide N-node (I confirmed it with Craig Ringer).

        I wonder in the BDR 3.x release, whether this option is true for N-node synchronous_commit or not? I heard that this feature is very hard to implement.

        Reply
        • Simon Riggs
          Simon Riggs says:
          August 10, 2017 at 9:28 am

          Yes, it all works now

          Reply
          • Richard Zhang
            Richard Zhang says:
            August 10, 2017 at 5:04 pm

            You mean, in the BDR 3.x release, it will have N-node synchronous_commit, right? For a 4-node BDR cluster, the commit on one node will be completed until all of other three nodes commit. Could you describe the “it all works now”? This is one of very important features we are looking for. Please clarify my understanding here. Thanks.

          • craig.ringer
            craig.ringer says:
            August 15, 2017 at 2:05 am

            Richard, it’s necessary to be a bit more specific about what commit completion means.

            BDR2 on PostgreSQL 9.6 already supports n-nodes synchronous commit. It’s the same as PostgreSQL core’s feature for physical replication. The transaction commits on the originating node, and confirmation of commit to the client is delayed until all synchronous peer nodes have confirmed they have replayed the commit.

            It does not support distributed two phase commit. In this case, the commit is prepared on the originating node, all the peers replay the PREPARE TRANSACTION, and only then do any of them commit. This feature is planned as an option on top of the coming BDR 3. If it is important for your use case, please get in touch about options for funding development so you can influence the roadmap and development priorities.

          • Michael Vitale
            Michael Vitale says:
            August 21, 2017 at 12:19 pm

            Interesting: two phased commit (2PC). So I’m guessing the goal is the “A” and “D”, not the “C” and “I” in ACID, correct? Only a distributed database like Postgres XL with a Global Lock Manager (GLM) can satisfy all ACID requirements. And then there is the issue of what kind of 2PC to implement, strict, etc. and how do we deal with the increasing likelihood of deadlocks…

          • craig.ringer
            craig.ringer says:
            October 13, 2017 at 7:31 am

            Correct. People also refer to it, somewhat misleadingly as an “AP” system in CAP terms. It’s more helpful to understand it in terms of PACELC (https://en.wikipedia.org/wiki/PACELC_theorem).

  4. Joe Wagner
    Joe Wagner says:
    August 9, 2017 at 6:55 pm

    HI,

    I’m rather new to PostgreSQL and replication, so please forgive a newbee question.

    Can the publication/subscription functionality that is being developed for PostgreSQL 10 be used to maintain a set of multi-master databases?

    Thanks,
    Joe

    Reply
    • Simon Riggs
      Simon Riggs says:
      August 9, 2017 at 7:08 pm

      Short answer is No

      Reply
    • craig.ringer
      craig.ringer says:
      October 13, 2017 at 7:35 am

      Not if there’s any overlap between the subscription sets. You can have two single-master DBs mutually replicating a disjoint set of tables, though.

      Reply
    • Mark J Crane
      Mark J Crane says:
      March 9, 2018 at 5:11 am

      Tried PostgreSQL 10 logical replication with 2 servers subscribing to each other. A to B and B to A. I did see that that Simon said ‘Short answer is No’. I was still curious. The result is an infinite loop for every insert, update, and delete. BDR must have a method to prevent this infinite loop. Maybe a unique ID per event and then run the event only once per subscriber.

      Reply
      • craig.ringer
        craig.ringer says:
        March 13, 2018 at 9:46 am

        BDR uses replication origins, which are present in PostgreSQL since 9.5.

        Logical replication in Pg 10 will apply with a replication origin set. I haven’t checked if it supports filtering out non-local writes using replication origins, as I haven’t yet worked with it, but if it doesn’t then adding such support is not hard.

        However, multimaster is so much more than that. Consistent schema changes and schema management, consistent node addition and removal under load, etc.

        Reply
        • Mahmoud
          Mahmoud says:
          April 19, 2018 at 7:28 am

          If you have 2 databases on A and B and you used logical replication at the DB level, on db1 (A) to db1 (B) and on db2 (B) to db2 (A) then i think it will work for you.

          Reply
  5. Pavanteja
    Pavanteja says:
    August 22, 2017 at 7:22 am

    Hi,

    Is ‘synchronous_comit’ option working for BDR 1.0 ? I mean to ask will the commit on one node of the BDR group will wait until all other nodes made that change visible?

    Is postgreSQL 10 coming up with an native Master/Master Clustering solution(shared disk)? Eager to know about these…

    Thanks,
    PavanTeja Achanta

    Reply
    • craig.ringer
      craig.ringer says:
      October 10, 2017 at 2:35 pm

      Yes, synchronous commit works on BDR 1.0 – and on in-core logical replication in PostgreSQL 10 too.

      PostgreSQL 10 definitely will not have native MM clustering, shared-disk or replication wise. We continue to work on getting more functionality related to MM replication into PostgreSQL. I am not aware of anyone working on shared-disk based clustering for PostgreSQL.

      Reply
      • Pavanteja
        Pavanteja says:
        November 10, 2017 at 10:34 am

        Thanks Craig for your brief update

        Reply
        • Pavanteja
          Pavanteja says:
          November 10, 2017 at 10:38 am

          I have a doubt I did a 2-node BDR set up. But the database size on the both the nodes is slightly varying around 58MB. But both the node status are running and BDR is active on both nodes.

          Is this a serious issue to consider regarding performance aspects? And will BDR have any performance overhead caused to the servers in terms of network/CPU etc ?

          Reply
  6. Sai
    Sai says:
    October 11, 2017 at 9:58 am

    Hi,

    So, there’s no way that PostgreSQL 9.6 or PostgreSQL 10 having multi-master because BDR 1.x is not supporting any of these?

    Reply
    • Simon Riggs
      Simon Riggs says:
      October 13, 2017 at 7:50 am

      BDR 3.0 will support PostgreSQL 10. As it says above, BDR 3.0 will be available by Q1 2018, maybe earlier.

      Reply
      • Kamrava
        Kamrava says:
        November 28, 2017 at 9:38 pm

        Great news. I’m currently using PG10 and waiting for BDR 3.0

        Reply
  7. vanguard
    vanguard says:
    November 30, 2017 at 11:54 am

    It’s time for postgresql community to integrate the N-node multi-master option since all major other SQL and NO SQL DB integrated it already

    Reply
  8. Stephen Sheehan
    Stephen Sheehan says:
    April 25, 2018 at 4:08 am

    Any availability of V3? Or is it for support customers only.

    Reply
    • craig.ringer
      craig.ringer says:
      May 2, 2018 at 4:06 am

      Keep an eye on the blog for more news on product availability and releases.

      Reply
      • Emilio
        Emilio says:
        October 11, 2019 at 9:02 pm

        Hello, we have a systems company in Argentina, where connection problems due to lack of electricity or internet are very frequent, with that in mind we look for a solution and we find BDR, solving all our problems works excellent. The question is, is there a way to acquire version 3.0 without paying support, only binaries?

        Reply
        • craig.ringer
          craig.ringer says:
          November 4, 2019 at 12:51 pm

          Please reach out to [email protected] for sales related questions, thanks!

          Reply

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Support & Services

24/7 Production Support

Developer Support

Remote DBA for PostgreSQL

PostgreSQL Database Monitoring

PostgreSQL Health Check

PostgreSQL Performance Tuning

Database Security Audit

Upgrade PostgreSQL

PostgreSQL Migration Assessment

Migrate from Oracle to PostgreSQL

Products

HA Postgres Clusters

Postgres-BDR®

2ndQPostgres

pglogical

repmgr

Barman

Postgres Cloud Manager

SQL Firewall

Postgres-XL

OmniDB

Postgres Installer

2UDA

Postgres Learning Center

Introducing Postgres

Blog

Webinars

Books

Videos

Training

Case Studies

Events

About Us

About 2ndQuadrant

What does 2ndQuadrant Mean?

News

Careers 

Team Profile

© 2ndQuadrant Ltd. All rights reserved. | Privacy Policy
  • Twitter
  • LinkedIn
  • Facebook
  • Youtube
  • Mail
News and Roadmap from Postgres-XL 10 PG Phriday: Crazy Correlated Column Crusade
Scroll to top
×