[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
Greg Sabino Mullane greg at endpoint.com
End Point Corporation
PGP Key: 0x14964AC8
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
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