End Point Corporation
Services   |   Our Clients   |   Interchange   |   Ruby on Rails   |   PostgreSQL   |   Hosting   |   About Us   |   Contact
Tech News
End Point Home > Tech News
Tech News

Bucardo: Replication for PostgreSQL
by Greg Sabino Mullane
October 10, 2007

Overview

Bucardo, an asynchronous multi-master replication system for PostgreSQL, was recently released by Greg Sabino Mullane. First previewed at this year's PostgreSQL Conference in Ottawa, this program was developed for Backcountry.com to help with their complex database needs.

Bucardo allows a Postgres database to be replicated to another Postgres database, by grouping together tables in transaction-safe manner. Each group of tables can be set up in one of three modes:

  1. The table can be set as master-master to the other database, so that any changes to either side are then propagated to the other one.
  2. The table can be set up as master-slave, so that all changes made to one database are replicated to the second one.
  3. It can be set up in "fullcopy" mode, which simply makes a full copy of the table from the master to the slave, removing any data already on the slave.

Master-master replication is facilitated by standard conflict resolution routines, as well as the ability to drop in your own by writing small Perl routines. This custom code can alse be written to handle exceptions that often occur in master-master replication situations, such as a unique constraint on a non-primary key column.

History

Backcountry.com, an online retailer of high-end outdoor gear, needed a way to keep their complex, high-volume, Postgres databases in sync with each other in near real-time, and turned to End Point for a solution. In 2002, the first version of Bucardo was rolled out live, and reliably replicated billions of rows. In 2006, Bucardo was rewritten to employ new features, including a robust daemon model, more flexible configuration and logging, custom conflict and exception handling routines, much faster replication times, and a higher level of self-maintenance. This new version has been in production at Backcountry.com since November 2006.

In September 2007, the source code for Bucardo version 3.0.6 was released under the same license as Postgres itself, the flexible BSD license. A website and mailing lists were created to help foster Bucardo's development. The website can be found at http://bucardo.org/.

Recent Tech News Features
Recent Tech News Features
DBD::Pg 2.0.0 released
Better Git it in Your Soul
Bucardo: Replication for PostgreSQL
RailsConf 2007 Conference Report
Get Out of Technical Debt Now!
Red Hat Enterprise Linux 4 Security Report
Evangelizing Test-Driven Development
USPS changes the Web Tools Rate Calculator API
New edition of The Book of JavaScript reviewed
Interchange 5.4.2 released
Greg Sabino Mullane's PostgreSQL tips and how-to articles
Hardware Monitoring with Nagios on OpenBSD
YAPC::NA 2006 Conference Report
Practices of an Agile Developer Reviewed
Trouble with MySQL 4.1 under heavy load
Interchange 5.4.1 released
PostgreSQL Supports Two-Phase Commit
DBD::Pg 1.48 Released
Interchange 5.4 Released
PostgreSQL 8.1 Shows Database Progress
Red Hat Enterprise Linux 3 Update 3 Released
© 2008 End Point Corporation. 920 Broadway Suite 701, New York, NY 10010 USA | Tel +1 212-929-6923 or 1-888-351-3239 | Fax +1 212-929-6927