Re: Best way to replicate to large number of nodes

From: "Greg Sabino Mullane" <greg(at)turnstep(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Best way to replicate to large number of nodes
Date: 2010-04-22 15:25:49
Message-ID: 99e552d08dc0cc8345a373b534bb946c@biglumber.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

> I am looking at a configuration of on 'writable' node and anywhere from
> 10 to 300 'read-only' nodes. Almost all of these nodes will be across a
> WAN from the writable node (some over slow VPN links too). I am looking
> for a way to replicate as quickly as possible from the writable node to
> all the read-only nodes. I can pretty much guarantee the read-only
> nodes will never become master nodes. Also, the updates to the writable
> node are bunched and at known times (ie only updated when I want it
> updated, not constant updates), but when changes occur, there are a lot
> of them at once.
>
> We have use Slony-I for other nodes. But these are all 1 master, 2
> slave configurations (where either slave could become the master). But
> some of our admins are worried about trying to maintain a very large
> size cluster (ie schema changes).

If you are looking for something that can do automatic schema changes,
that's a considerably different requirement. But if you really just want
a whole bunch of read-only slaves, you might consider:

* Postgres 9.0 and WAL shipping. While not released yet, the overhead
is very low compared to some other solutions, so it might be worthwhile
to try this out and perhaps 9.0 will be stable and released by the time
your project goes live. This will also handle schema changes. You'd probably
want some sort of multicasting for the WAL files.

* Bucardo. Like Slony, it's trigger based, so there is the overhead of
triggers firing on every change to the master tables. Unlike Slony, you
can have it sit dormant until you want to push the changes. It also only
requires a single daemon. However, you'll probably want to setup cascading
slaves and use more than one daemon when the number of slaves climbs over
10 or so.

* Slony has a log shipping option that might be good for this use case.

- --
Greg Sabino Mullane greg(at)turnstep(dot)com
End Point Corporation http://www.endpoint.com/
PGP Key: 0x14964AC8 201004221122
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8

-----BEGIN PGP SIGNATURE-----

iEYEAREDAAYFAkvQamkACgkQvJuQZxSWSsgG0gCgln0D7eghnu8PX+0CBqKTAoDf
s6cAoOXLcA7JKa4nfTfJuat1VSN3WxSL
=q7r5
-----END PGP SIGNATURE-----

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Fernando Hevia 2010-04-22 15:28:13 Re: [GENERAL] Byte order mark added by (the envelope please...) pgAdmin3 !!
Previous Message Scott Marlowe 2010-04-22 15:18:07 Re: How to read the execution Plan