Re: Conflict resolution in Multimaster replication(Postgres-R)

From: Robert Hodges <robert(dot)hodges(at)continuent(dot)com>
To: M2Y <mailtoyahoo(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Conflict resolution in Multimaster replication(Postgres-R)
Date: 2008-09-03 23:53:50
Message-ID: C4E4719E.F065%robert.hodges@continuent.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Srinivas,

Multi-master replication in Postgres-R is handled using a process called certification that ensures there are no serializability violations. Look at the paper by Kemme and Alonzo entitled "Don't be Lazy, Be Consistent..." (http://www.cs.mcgill.ca/~kemme/papers/vldb00.html). In the first case you describe one transaction must abort if applying them would break serializability.

In the second case you describe, you must transmit read sets as well as write sets. The same sort of algorithm is applied as for writes.

Please email me directly if you want more information.

Thanks, Robert

On 9/3/08 4:02 PM, "M2Y" <mailtoyahoo(at)gmail(dot)com> wrote:

Hello,

My basic question is: in multimaster replication, if each site goes
ahead and does the modifications issued by the transaction and then
sends the writeset to others in the group, how the ACID properties be
maintained?

Details:
Suppose there are two sites in the group, lets say, A and B and are
managing a database D. Two transactions TA and TB started in sites A
and B respectively, at nearly same time, wanted to update same row of
a table in the database. As, no locking structures and other
concurrency handling structures are replicated each will go ahead and
do the modifications in their corresponding databases and sends the
writeset. Since, both writesets contain update to the same row, will
the two transactions be rolled back or anything other than this
happens?

A more general question is: for Transactional isolation level
4(serializable level), the information such as locking of rows be
transmitted across sites? If not, what is the mechanism to address
concurrency with serializibility.

Thanks,
Srinivas

--
Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

--
Robert Hodges, CTO, Continuent, Inc.
Email: robert(dot)hodges(at)continuent(dot)com
Mobile: +1-510-501-3728 Skype: hodgesrm

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2008-09-04 00:01:33 Re: [PATCH] Cleanup of GUC units code
Previous Message Tom Lane 2008-09-03 23:30:14 Re: Our CLUSTER implementation is pessimal