[Bucardo-general] Bucardo vs. rubyrep

Greg Sabino Mullane greg at endpoint.com
Wed Sep 8 13:51:22 UTC 2010

On Wed, Sep 08, 2010 at 12:58:05PM +0200, Udo Rader wrote:
> don't be afraid: I am not going to ask you the evil question which one
> is better ;-)

I think we all know the answer to that. :)

> instances for the past 2 months using rubyrep. The reasons to go with
> rubyrep was that it claims to be "battle tested"

Oh that's rich.

> UPDATE foobar SET last_verification=NOW() WHERE 1=1
> Will bucardo generate >500K entries in the "things2replicate"  table or
> will it handle it "more intelligently"?

There is no way to do this more intelligently with trigger based 
systems, so the answer is that there will be one entry in the bucardo_delta 
table for every row which changed.

> UPDATEs like these have caused most of our headache, because first they
> completely stalled the replication process and then finally killed it
> (because the amount of memory required to deal with such a huge number
> of pending changes just does not seem to exist).

If you are using master -> slave (pushdelta) this is not very much of a 
problem. The current master <-> master (swap) system will use a lot of 
resources, although the next version of Bucardo will solve this.

> Occasionally, some applications will "update" a record even though the
> data has not changed.
> Does bucardo utilize this functionality (thus reducing the amount of
> replicated data)?

No: this is a feature, not a bug. Think about triggers that fire on 
the table and update other tables, for instance. However, if you 
really want that behavior, it is possible by writing a custom 
trigger to populate bucardo_delta based on your own criteria.

> Every now an then we see rubyrep die because of connectivity problems.
> How "stable" is bucardo when it comes to network problems between two
> WAN connected servers?
> Will it automagically resume the replication if the nodes have been
> disconnected for say one hour or so?

Bucardo is very good at detecting network troubles and retrying when 
things fail. By default, it restarts itself and reconnects when a 
WAN connection fails.

> Is there a way to roughly calculate the memory requirements for bucardo,
> especially for a situation where the nodes have been disconnected for
> some time and need to resynchronize?

At the very least, it's going to need to read in all the rows that have 
changed, so start from there, then add 50% :)

> Well, the level of support for rubyrep is just ... "limited". So just in
> case we need specific support, is there any kind of commercial support
> for bucardo?

My company (End Point) provides support, as do most of the other well 
known Postgres consulting companies. I know EnerpriseDB has been investigating 
Bucardo for some time, but I don't know if they offer explicit support 
for it.

Greg Sabino Mullane greg at endpoint.com
End Point Corporation
PGP Key: 0x14964AC8
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
Url : https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20100908/ce20d0f7/attachment.bin 

More information about the Bucardo-general mailing list