incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Bell <a...@theopenlearningcentre.com>
Subject Re: Relying on revisions for rollbacks
Date Mon, 17 Mar 2008 18:48:51 GMT
Jan Lehnardt wrote:
>
> You can do that, too. With attachments, you'd have it all in one
> place and would not need to write your views in a way that they
> don't pick up old revisions. That said, it is certainly possible to
> store older revisions in other documents, if that solves your
> problems.
>
> Cheers
> Jan
> -- 
well I might be missing something about the way couchdb handles 
attachments but this doesn't sound good to me. Adding attachments to 
hold the revision history means that the attachments have to be 
replicated each time a revision happens. Also a replication conflict is 
pretty much the same thing as a revision, a client application would 
have no knowledge of a replication conflict happening but this would be 
good to see in a wiki-like page history. I can imagine in a distributed 
system it would be very hard for the clients to maintain a revision 
history as attachments. As for writing views to not pick up old 
revisions, I think all applications should assume that all documents are 
at all times carrying a bundle of prior versions and replication/save 
conflicts. One of the nasty things in Notes is that most applications 
assume that replication conflicts don't happen and can break when they 
do happen. I think a major feature of Couchdb is sensible handling of 
revisions and conflicts. Purging revisions and conflicts is going to be 
necessary for some applications, but in others it is desirable to retain 
all versions. It would be good at least to be able to specify which 
databases to run compaction on and which to exclude.
What is the proposed rule for compaction? Just deleting all revisions it 
finds? Deleting old revisions over a certain age?
Another thought, it would be nice perhaps to run compaction on some 
servers but not on others for replicas of the same database. Thus a 
bunch of offline clients could compact fairly frequently and 
aggressively, however a central server they all replicate with that has 
lots of disk space could retain all versions. I am thinking in 
particular of the scenario of OLPC XO laptops replicating with a school 
server.

Alan.

-- 
Alan Bell
The Open Learning Centre

Web: www.theopenlearningcentre.com
Mob: +44 (0)7736 778908
Tel: +44 (0)8444 849388

The Open Learning Centre is a trading name of Bell Lord Ltd,
a company registered in England and Wales #05868943.
VAT Registration #GB 901 4715 55



Mime
View raw message