darcs repository web UI and hosting app. This is the main darcsden trunk, which also runs hub.darcs.net. (https://hub.darcs.net)

#50replace couchdb with something else ?

It seems couchdb is optimised for large data sets with queries that don't change much (cf http://blog.scoutapp.com/articles/2011/01/20/couchdb-in-production), whereas I frequently want to run ad-hoc queries (and don't expect to have a very large data set). Also couchdb, though very good, is unfamiliar and therefore a bit of a headache for many folks. These are reasons to experiment with something else, such as:

a standard rdbms - postgresql or sqlite, perhaps via persistent

acid-state - easy installation, but immature, possibly high memory use

  • Actually I see again how to write ad-hoc queries ("temporary views") easily, assuming you use the web interface. But this is still of interest.

  • At least as of now, I'd vote against acid-state. Interactive querying isn't the easiest (unless it's changed dramatically in the last year), and I don't think it is mature enough yet. Anecdote to back that up:

    I had a simple blog written with acid-state, and it corrupted its transaction log somewhere in the file. Which I didn't realize until I next restarted the application (a few weeks later), at which point it could not replay all of the transactions - it would replay up to a certain point and then stop, each time. I debugged it quite a bit, (including with the devs), before I finally just manually recovering the text from the transaction files and switching to postgresql. Luckily this was a low-traffic blog with only a few writers, so there were only 5 or 6 entries I had to recover.

    This is one data-point, but one data-point is all you need to ruin your day.

  • I'd go forward with postgresql; it has a growing library support (persistent, esqueleto, postgresql-simple) and the DB is rock solid.

  • I agree, persistent with both postgresql and sqlite support is my preference.