Bi-Directional Replication for PostgreSQL (Postgres-BDR, or BDR) is the first open source multi-master replication system for PostgreSQL to reach full production status. Developed by 2ndQuadrant, BDR is specifically designed for use in geographically distributed clusters, using highly efficient asynchronous logical replication, supporting anything from 2 to more than 48 nodes in a distributed database.
Organizations with geographically distributed databases will understand the complexity of replication and the goal of achieving efficient and accurate replicas of data. Unlike other solutions, BDR doesn't rely on using triggers to collect changes and insert them into a queue table. Instead it processes the WAL using the changeset extraction mechanism developed by 2ndQuadrant for version 9.4 of PostgreSQL. This solution avoids the write amplification involved in trigger-based solutions.
Postgres-BDR in Production
Postgres-BDR has been successfully deployed by various enterprises that require geographically distributed multi-master replication. Below is one example of a successful deployment, currently in production.
Animal Logic is one of the world’s most creative digital studios producing award winning, groundbreaking animation, visual effects and design and has been using PostgreSQL as a core database technology for many years. Animal Logic chose Postgres-BDR with 2ndQuadrant to support their custom production workflow system that is geographically distributed across two studios located on two continents. Read more about Postgres-BDR in production in the full case study here.
Postgres-BDR has some very impressive results, which you can view [here].
(NEW! Postgres-BDR 2.0 on Server Version 9.6 Now Available!)
2ndQuadrant is proud to announce the availability of BDR 2.0 running as an extension to community PostgreSQL 9.6 for its support customers. You can now make full use of the additional features offered with PostgreSQL 9.6 while using Multi-Master Replication from BDR, fully backed by 2ndQuadrant’s world renowned 24/7 Production Support. Fill out the contact form below to get in touch with us.
(Postgres-BDR 1.0.3 on Server version 9.4.15 Released - November 22, 2017)
Postgres-BDR is available as RPMs via yum for Fedora, CentOS, & RHEL, and as DEBs via apt for Debian and Ubuntu. For installation instructions, please click here.
You can view the release notes here.
The complete source code for Postgres-BDR server component is available here.
The complete source code for BDR Plugin is available here.
How to Get Started
For an example setup visit our [start-up guide], which will explain how to get a simple setup of Postgres-BDR running on Linux in just a few minutes.
The full BDR reference manual is available here.
Postgres-BDR vs Other Open Source Replication Solutions
Postgres-BDR has a lower impact on the masters(s) than trigger-based replication solutions. There is no write-amplification, as it does not require triggers to write to queue tables in order to replicate writes.
Support for Postgres-BDR
You can raise a query with the Postgres-BDR community by sending an email to [email protected]. Alternatively, you can access it via Google Groups at https://groups.google.com/a/2ndQuadrant.com/forum/#!forum/bdr-list.
Postgres-BDR is developed and supported by 2ndQuadrant. 2ndQuadrant provides professional support for BDR, as well as consultation and training. With our deep knowledge of distributed databases, we will ensure that you are able to evaluate your use case and applications and determine the most suitable product or solution.
Postgres-BDR is also available in 2ndQuadrant Cloud, initially on AWS.
Want to Know More?
If you'd like to know more about PostgreSQL replication technology, including Postgres-BDR, please get in touch. We'd be delighted to hear from you.