Keeping your data in more than one place is vital for business continuity, and databases are no exception. Backups are great, but they won't help you when your normally-connected EU, US and Australian operations all want to continue operating during a major WAN outage. This is where multi-master replication systems come into their own - but they also come with often overlooked costs and downsides. Bi-Directional Replication (BDR) for PostgreSQL can help solve some users' availability challenges in a globally distributed environment... if it's applied correctly.
Multi-master is not magic high availability secret-sauce that can be applied to every problem, no matter what some major vendors' sales teams would like you to believe.
Learn about when to use - and not to use - multi-master replication in general, and BDR in particular. When is it better to stick to a single-master system with failover? If you do select a multi-master system, what kind is best for you? Do you need something partition- and latency-tolerant, or something tightly coupled and transparent? Shared-mostly or shared-nothing? These details will have a major impact on whether a given system architecture can meet your needs, and understanding them will help you set better requirements during a design and product selection process.
Craig is a PostgreSQL developer with particular interests in replication, usability, and user experience. He's spent the last few years focused on multi-master replication for PostgreSQL and on Bi-Directional Replication for Postgres (BDR) in particular.
Craig enjoys development, documentation, writing and support, and tries to maintain a broad perspective of a variety of real world user needs. He believes that it's important not to let developers get too isolated from the end user and the challenges they face.