Re: PostgreSQL-R

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: "Mikheev, Vadim" <VMIKHEEV(at)sectordata(dot)com>
Cc: "PostgreSQL Hackets (E-mail)" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PostgreSQL-R
Date: 2002-12-27 05:55:52
Message-ID: 200212270555.gBR5tqL22590@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


FYI, I think we are going to need two-phase commit, at least to
implement distributed transactions. I will add it to the TODO list.

---------------------------------------------------------------------------

Mikheev, Vadim wrote:
> > http://www.cs.mcgill.ca/~kemme/papers/vldb00.html
>
> Thanks for the link, Darren, I think everyone interested
> in discussion should read it.
> First, I like approach. Second, I don't understand why
> ppl oppose pg-r & 2pc. 2pc is just simple protocol to
> perform distributed commits *after* distributed conflicts
> were resolved. It says nothing about *how* to resolve
> conflicts. Commonly, distributed locks are used, pg-r uses
> GCS & kind of "batch" locking to order distributed transactions
> and serialize execution of conflicting ones. Actually, this
> serialization is the only drawback I see at the moment: due
> to "batching" of writes/locks pg-r will not allow execution
> of transactions from different sites in read committed mode -
> one of conflicting transactions will be aborted instead of
> waiting for abort/commit of another one, continuing execution
> after that. Because of resolving conflicts *before* commit
> pg-r is not async solution. But it's not true sync replication
> neither due to async commit (read Jan vs Darren discussion in
> http://archives.postgresql.org/pgsql-hackers/2002-12/msg00754.php).
> What's problem with using 2pc for commit in pg-r? We could make it
> optional (and can discuss it later).
> Next, pg-r was originally based on 6.4, so what was changed for
> current pg versions when MV is used for CC? It seems that locking
> tuples via LockTable at Phase 1 is not required anymore, right?
> Upon receiving local WS in Phase 3 local transaction should just
> check that there are no conflicting locks from remote transactions
> in LockTable and can commit after that. Remote transactions will not
> see conflicts from local ones in LockTable but will notice them
> during execution and will be able to abort local transactions.
> (I hope I didn't miss something here.) Also it seems that we could
> perform Phases 2 & 3 periodically during transaction execution.
> This would make WS smaller and conflicts between long running
> transactions from different sites would be resoved faster.
>
> Comments?
>
> Vadim
>
>
> _____________________________________________________
> Sector Data, LLC, is not affiliated with Sector, Inc., or SIAC
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Kevin Brown 2002-12-27 08:04:36 Re: MOVE strangeness
Previous Message Vadim Mikheev 2002-12-27 05:50:06 Vacation