[Bucardo-general] Newbie Questions

Greg Sabino Mullane greg at endpoint.com
Tue Sep 18 00:08:32 UTC 2012


>> [MCP]
>> Responsible for communication with the outside world.

> So it's the thing that's LISTENing?

Well, they all listen - it's how they talk to each other, but 
the MCP is the one listening for the Bucardo "triggerkick" triggers, 
as well as communication via the 'bucardo' program.

> Since reads the DB on startup, does that mean I have to 
> kick it if I add new tables to be replicated?

No - all "ping" tables are auto-kicked on Bucardo startup, mostly 
to cover the case that something happened while Bucardo was down 
an unable to receive the triggerkick notices.

>> [CTL]
>> May be short-lived or persistent (configuratble).

Also, 'configurable'. :)

> Oh? Which is preferable, and why? I would assume that persistent 
> would be preferable in a high transaction environment, less so in 
> a low transaction environment. And by "transactions" I mean 
> "replicable events".

Yes. For low activity, you do not want persistent, as it just ties up 
resources waiting around for something to happen. It's not really 
a lot of resources though, so all in all it's usually easier just to 
leave it as persistent until a problem is seen.

>> [KID]
> Again, I assume the choice should be determined by the 
> volume of replication events.

Yes.

>> Bucardo 4 (B4) had multiple kids per controller (for multiple targets). 
>> Bucardo 5 (B5) does things a little different so currently it is one 
>> kid per controller. That may change. :)
> 
> Hrm. Sounds like maybe it no longer needs to be a separate process, eh?

Not quite. As the kid can be in the middle of a long database activity, 
it's nice to have something that can be easily signalled and can (for 
example) reap the kid if needed. While that job could be moved onto the 
MCP, it gets a little out of its design goal of being a simple 
postmaster-like process that farms out the real work to child processes.
Also, we may go back to multiple kids someday. For true multi-master 
situations it does not make sense, as a single kid has to access all the 
databases, but there might be cases such as one-master, multiple-kids where it 
still might be an overall win. Measurement and testing showed that to 
be a pretty big "might", but I'd also like to keep it separate for any 
future ideas that pop up.

> Thanks, very useful. I've added a Wiki page with this stuff:

Thanks!

>> Tell us your parameters! :)
> 
> Two masters, one in Seattle and one in Portland. Our main requirement 
> is to be able to do maintenance in one data center without the other 
> one needing to go down. It's okay if replication is paused during maintenance, 
> as long as they sync back up quickly when it's done. Relatively small 
> databases (up to around 50G to start) with relatively little transaction 
> volume (a few thousand inserts, updates, and deletes per day).

Yeah, that should be no problem at all.

> I guess I can have Bucardo replicate its own database, eh? 
> That would keep things pretty simple.

It could, but I usually advise something simpler such as WAL-shipping 
or an occasional pg_dump.

> Sure. But if there isn't too much transaction volume, a downtime of a few 
> hours or even a day wouldn't be a big deal, I assume.

Right. It's all about the number of rows that have changed. Anything 
under 100,000 rows is probably not going to be much of a problem.

> How stable is 5.0 if I were to target it? Do you have a release date in 
> mind? Seems like it has been close for a long time…

Sigh. Yeah, the release seems asymptotic. It is pretty darn stable for 
simple use cases, it's some of the edge cases that we are trying to 
iron out. One of the last big things is some changes to the conflict 
resolution system. Right now, because we disable triggers, there is 
potential for violation of foreign keys in certain situations. I have 
ideas on a solution, but no time to implement yet. It may or may not 
hold up a release of version 5. There are some small bugs in the TODO 
list that *are* going to hold up B5, so any help there is appreciated.
There are some outstanding issues raised on the mailing list as well; 
most should be in the TODO, but those should all be considered blockers 
as well.

-- 
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/20120917/4f8163c1/attachment.sig>


More information about the Bucardo-general mailing list