couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Hahn <>
Subject Re: change notifications question
Date Sat, 09 Apr 2011 18:50:59 GMT
>  I might as well build it on top of anything else than couchdb no ? :)

If the only feature you care about in your db is versioning then you are
correct, all non-versioning dbs are equal.  I personally love using couch
for the many reasons discussed.  I find it so much less painful than a
structured db.

If you are willing to build the versioning in your app then there is a
simple solution, IMHO.  Save new versions as new docs, not revisions.  Couch
doesn't utilize differencing of versions so there is no performance hit.
 Keep your own ID that is separate from the couch ID.  You can create a view
that links to the previous "version" and you can pull both docs in one
query.  Replication will work the same.  DB size growth will be the same.
 You will need to do your own deleting at your leisure but you will have
full control with your own algorithm.

The coding of this would be trivial compared to changing the erlang
implementation of couch and you wouldn't be risking losing support by
forking.  I think I could do it in a day or so.  It would be fun.

On Sat, Apr 9, 2011 at 1:45 AM, Thomas Vander Stichele

> 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

Mark Hahn
Website Manager

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message