Andrew Sullivan ajs at crankycanuck.ca
Fri Aug 3 07:19:09 PDT 2007
On Fri, Aug 03, 2007 at 09:21:37AM +0400, Dmitry Koterov wrote:
> data from the origin time to time (when a replica is not ready enough). No
> need to refer to non-existed "synchronous replication" in that case - it's

What is missing in two-phase commit that does not provide you with
synchronous replication?  Oh, wait, you want synchronous replication
with no cost?  Sorry, the magic database faeries haven't been created
yet.

> Instead of saying about a "synchronous replication", it is better to explain
> an algorythm of checking if a replica is ready enough comparing to the
> origin state in the past. 

The reason you're not getting an answer is because you keep asking
for an algorithm that never gives you an answer you don't want, _not_
because you can't do any comparisons.  

You can of course figure out roughly what your overall lag is on a
replica.  You cannot figure out what state a given tuple is in,
without looking at it.  And such cost is at least as high as just
querying from the origin anyway, so there's no point to doing it.

When you have been told that, you start in with remarks about how
useless all this is, which is the point at which everyone concludes
you want synchronous replication, because you seem to want every node
to be up to date without you having to wonder about it.  The only way
to achieve that is to do sync. replication: it's not like a replica
can know that it doesn't have data it doesn't know about.  Rumsfeld
was a fool, but he wasn't an idiot: the unknown unknowns are in fact
important.

A

-- 
Andrew Sullivan  | ajs at crankycanuck.ca
A certain description of men are for getting out of debt, yet are
against all taxes for raising money to pay it off.
		--Alexander Hamilton


More information about the Slony1-general mailing list