incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Newson <>
Subject Re: change notifications question
Date Sat, 09 Apr 2011 09:42:31 GMT
CouchDB does not provide revisioning or history features to the end
user at all. This is a common mistake.

The use of _rev and MVCC is purely a mechanism to enable sane
replication between servers where writes are permitted everywhere.
CouchDB's replication will only ensure that the current version* of
any document is replicated, earlier revisions are *not* replicated.
Earlier revisions are also removed on compaction, which is an
essential maintenance operation.


* Strictly, CouchDB replicates all leaf revisions of all documents,
the difference is only noticeable if a document has conflicts (all
conflicting versions will be replicated).

On 9 April 2011 09:45, Thomas Vander Stichele <> wrote:
> On Thu, 2011-04-07 at 11:19 -0700, Mark Hahn wrote:
>> You are not even guaranteed the old version will be there.
> I would be ok with that, it doesn't seem to be a big problem in
> practice.  (Although it's strange to me that all the infrastructure is
> there to have document revisions, but we have no control over how much
> history we want couchdb to keep.  Seems like a relatively
> straightforward next step).
>>   You need
>> to build history into your app.
> Can you be a bit more explicit about what you mean?
> It sounds like you say I should re-write CouchDB's revisioning/history
> approach in my app just to get around the fact that couchdb has no
> controls for history.  I might as well build it on top of anything else
> than couchdb no ? :)
> Thanks
> Thomas

View raw message