Re: terms for database replication: synchronous vs eager

From: Chris Browne <cbbrowne(at)acm(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: terms for database replication: synchronous vs eager
Date: 2007-09-14 14:08:41
Message-ID: 60ps0l2vbq.fsf@dba2.int.libertyrms.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

JanWieck(at)Yahoo(dot)com (Jan Wieck) writes:
> On 9/7/2007 11:01 AM, Markus Schiltknecht wrote:
>> None the less, Postgres-R is eager (or pessimistic?) in the sense
>> that it replicates *before* committing, so as to avoid
>> divergence. In [1] I've tried to make that distinction clear, and
>> I'm currently advocating for using synchronous only in the very
>> strong (and commonly used) sense. I've choosen the word 'eager' to
>> mean 'replicates before committing'.
>>
>> According to that definitions, Postgres-R is async but eager.
>
> Postgres-R is an asynchronous replication system by all means. It only
> makes sure that the workset data (that's what Postgres-R calls the
> replication log for one transaction) has been received by a group
> communication system supporting total order and that the group
> communication system decided it to be the transaction that (logically)
> happened before any possibly conflicting concurrent transaction.
>
> This is the wonderful idea how Postgres-R will have a failsafe
> conflict resolution mechanism in an asynchronous system.
>
> I don't know what you associate with the word "eager". All I see is
> that Postgres-R makes sure that some other process, which might still
> reside on the same hardware as the DB, is now in charge of
> delivery. Nobody said that the GC implementation cannot have made the
> decision about the total order of two workset messages and already
> reported that to the local client application before those messages
> ever got transmitted over the wire.

The approach that was going to be taken, in Slony-II, to apply locks
as early as possible so as to find conflicts as soon as possible,
rather than waiting, seems "eager" to me.

But I'm not sure to what extent that notion has been drawn into the
Postgres-R work...
--
select 'cbbrowne' || '@' || 'acm.org';
http://www3.sympatico.ca/cbbrowne/slony.html
Rules of the Evil Overlord #37. "If my trusted lieutenant tells me my
Legions of Terror are losing a battle, I will believe him. After all,
he's my trusted lieutenant." <http://www.eviloverlord.com/>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Sibte Abbas 2007-09-14 14:13:03 Re: psql slash# command
Previous Message Alvaro Herrera 2007-09-14 13:43:34 away for extended weekend