On Feb 8, 2009, at 7:14 PM, Antony Blakey wrote:
On 09/02/2009, at 1:08 AM, Damien Katz wrote:
Nope, each individual read operation gets a snapshot of the
database. When you are replicating, there is one read operation for
every document that must be sent. Each read request gives you a new
MVCC database.
This prompts the question - why not?
It seems to me that the consistency characteristics of replication
could be improved if a) MVCC boundaries were created by update
operations and b) a given replication was bounded by the latest MVCC
state available when the replication was started i.e. replication
cannot race with updates. I presume replication cannot use a single
MVCC state because it needs to see revisions? If revisions are
visible within a state, then my question would be why replication
doesn't use a single MVCC state.
It's possible to use MVCC for replication. You'll need to create
special HTTP command to return you all the documents you are
interested in a single request, and a special replicator that uses
that command and loads those documents and writes them to the
destination.
-Damien
Antony Blakey
-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787
Borrow money from pessimists - they don't expect it back.
-- Steven Wright