Re: On "multi-master"

Поиск
Список
Период
Сортировка
От Chris Travers
Тема Re: On "multi-master"
Дата
Msg-id 434EAEFF.3000303@travelamericas.com
обсуждение исходный текст
Ответ на Re: On "multi-master"  (Andrew Sullivan <ajs@crankycanuck.ca>)
Ответы Re: On "multi-master"  (Andrew Sullivan <ajs@crankycanuck.ca>)
Список pgsql-general
Ok. I was completely unclear regarding how I think Slony would fit into
a multimaster async solution with updates.

Andrew Sullivan wrote:

>Also, there is still (or was last I checked) a limitation on the
>number of machines pgpool could address, and there are some stability
>and reliability issues we've seen.  It's a great piece of code, don't
>get me wrong; but it's not stable enough yet to bet millions of
>dollars on.
>
>ObNit: ORAC isn't really synchronous; it just looks that way.
>
>
>
If it is shared disk, is it even really replication?

>>This is multimaster async replication.  But it can be further broken
>>down into four types:
>>
>>
>
>Sure; I think you could break it even smaller sub-types, if you
>worked at it, too.  For example, an async system that tolerates
>farily brief interruptions in two-way communications is very
>different from the one where your sales force (or your Palm) shows up
>after a week and dumps a whole bunch of new conflicts on your lap.
>
Well, a disconnected sales force is interesting in that you will almost
certainly have a "star" topology in your replication environment.  After
all, your sales force is not replicating the entire sales database onto
their laptops we hope....

I think you could still use Slony as a sort of pre-conflict-resolution
update-log replication solution.  Then you could have custom triggers on
your update logs to actually attempt conflict resolution and handle
failure on that area.  I.e. anytime you have updates, you are going to
have a replication solution that operates in the following way:

1)  Replicates changed data (updatelog)
2)  Resolves conflicts
3)  Makes changes to authoritative data sets
4)  Replicates datasets back.

Stages 1 and 4 could be handled by Slony, while 2 and 3 would require
custom triggers.  In essence this is really master/slave that appears
multimaster.  You will have tradeoffs here in granularity of conflict
resolution versus performance.

For a smaller number of nodes (maybe one at each branch office, where
you might have a small level of interruption, you could use a mesh
topology, but it uses the same 4 stages up above.  Just you will
probably have a separate update log for every other node, and use a
similar solution.  Again, you will have a tradeoff between granularity
in conflict resolution and performance.

>
>This second case is something Slony wouldn't tolerate; but I think a
>relatively-high availability would probably work with some multi-way
>conflict resolution, if someone were willing to build it.
>
Why would Slony have to do your conflict resolution at all?  Why not
just use it to replicate update logs and data sets, and leave conflict
resolution to custom triggers?  Conflict resolution is really going to
be the area where you have individual needs anyway.  Slony makes a good
piece of a solution but it is just that, a piece.  Because multimaster
async replication is unlikely to be a one-size fits all area, any out of
the box solution will likely be incomplete, unwieldy, or worse.

Maybe a pgfoundry project consisting of sample setups might be useful as
starting points, however.

>  That
>wasn't the itch Afilias needed scratching, because of the kinds of
>problems we have to solve (to begin with, exactly one person may be
>the registrant of record of a domain name at any one time, so
>conflict resolution is just not allowed in our problem set: we have
>to maintain global uniqueness).  But we did have some discussions
>about how one might file the corners of the hole to make it square
>enough for the peg.  I think it's possible, if someone volunteers to
>do the work (maybe in a sub-project, maybe as a co-operative
>project).  I don't have the problem, so I can't justify the staff
>time.  So if someone _else_ has the problem, maybe s/he can.
>
>
Well, I want to thank Afilias for such a useful tool.  Again, if we all
could make such contributions, we would take over the world in no time
whatsoever.....   Again, I see Slony as a very useful piece of a
multimaster async replication solution, but as you point out, Slony
can't handle it by itself.  This isn't in my view a question of a square
peg in a round hole, but an issue of a useful piece of a solution.

Best Wishes,
Chris Travers
Metatron Technology Consulting

В списке pgsql-general по дате отправления:

Предыдущее
От: Alex Turner
Дата:
Сообщение: Re: PostgreSQL 8.1 vs. MySQL 5.0?
Следующее
От: Chris Travers
Дата:
Сообщение: Re: PostgreSQL Gotchas