couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antony Blakey <>
Subject Re: couchdb transactions changes
Date Sat, 07 Feb 2009 23:31:26 GMT

On 08/02/2009, at 2:17 AM, Damien Katz wrote:

> 1. Transactions don't work with replication. Replication doesn't  
> repeat the bulk single transaction, it just copies the documents  
> individually to the target replica. This means any downstream  
> replica can and will sees inconsistent states until replication  
> fully completes, not "all or nothing" states. With bidirectional  
> replication is even worse, as you can get edit conflicts that must  
> be resolved by an external process, .

This presumes that the UI model doesn't distinguish between conflicts  
due to replication and constraint failures due to local ACID operations.

In my Notes Client-like model for example:

1. Web actions such as form submits don't result in conflict - they  
either succeed or fail, to be retried. Users don't want to be thrown  
into a conflict resolution UI when they hit save on a document that  
they've been editing for some time.

2. Replication and normal operation are exclusive states. The  
replication process checks for conflicts, and won't re-enter the  
normal operational state until conflicts are resolved by the user,  
using a specialized replication-conflict UI.

In my model, conflicts only ever occur due to replication, and this  
fact allows applications to be considerable simpler, and the user  
experience to be IMO vastly superior.

> 2. Transactions don't work in a partitioned database without a huge  
> performance hit (locking + 2 phase commits).

Can you share your thinking about your model for a partitioned  
database? For example: are there any consistency guarantees or ACID  
constraints (e.g. storage) within the cluster? Is there actual or  
effective serialization of updates on a cluster-wide basis? Are views  

I really need to know more about your model before I can reason about  
this point.

Antony Blakey
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787

Success is not the key to happiness. Happiness is the key to success.
  -- Albert Schweitzer

View raw message