Jan Wieck JanWieck
Thu Jan 26 08:43:46 PST 2006
On 1/26/2006 11:18 AM, Alan Garrison wrote:
> Andrew Sullivan wrote:
>> On Fri, Jan 20, 2006 at 05:26:56PM -0600, Jim C. Nasby wrote:
> 
>>> Yeah, it would be damn nice if there was a stronger alternative. From
>>> what I've read I think Slony-II might fit the bill (though I can't
>>> remember if there's a guarantee that a changeset will exist at least
>>> somewhere else before COMMIT returns), but I suspect it wouldn't perform
>>> well over a WAN.
>> 
>> Well, the idea of slony-2 is that when a COMMIT returns, you are
>> guartanteed that all then-participating nodes have the data.  The big
>> question is whether slony-2 is even possible, alas.  and no, it
>> certainly won't work over a WAN.
> 
> Would the new "Two Phase Commit" stuff mentioned in the 8.1 release 
> notes obsolete slony-2?  I haven't had a chance to play with it yet, but 
> isn't that what's already there?

Two Phase Commit is NOT a replication solution. It is another vehicle to 
design a synchronous one, but someone still has to do that.

However, using 2PC to create a sync replication solution has some well 
known problems. The biggest one being that if the origin of a 
transaction becomes unavailable after you prepared for commit, you have 
to keep the locks of that transaction indefinitely because there is no 
way to figure out if the transaction was reported committed to the 
application or not. This means that every row that got locked 
exclusively in that transaction is indefinitely unavailable. One can say 
"hey, I have 1,000,000 rows, so if I can't access 100 of them I still 
have 99.999% availability", but I think that's not exactly what HA is 
about ;-)


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck at Yahoo.com #



More information about the Slony1-general mailing list