On Wed, Apr 1, 2009 at 5:23 AM, Hagen Overdick <[email protected]> wrote:
>>
>> IMO this is a questionable decision, but I'm in the minority.
>
>
>  Guess, after much thought about this, I am joining the minority.
>
> I base my argumentation on this excellent paper:
> http://www-db.cs.wisc.edu/cidr/cidr2007/papers/cidr07p15.pdf
>
> In essence, Pat Helland recommends to identify _entities_ which represent
> the maximum scope of _local_ serializability. Thanks to the bulk update
> mechanism, this used to be a whole couchdb, with the changes given, an
> entity maps to a single document now.

Correct. CouchDB is a key/value store. A database is just a namespace
for keys, and the boundary of map/reduce operations.

> So, what's an entity for CouchDB? I very much prefer a whole db

It was perhaps a mistake in managing expectations, to expose the
bulk-transactions API. My impression of the reason behind this is that
it made testing some low level file behavior more convenient in the
short term.

To provide an alternate viewpoint on this question, I remember using
CouchDB _before_ bulk-docs became transactional, and being
disappointed that what used to be an easy way to get data into CouchDB
was now failing even if just one of my documents had a conflict. In
the old days, bulk-docs worked a lot like it does in 0.9, and I found
this more relaxing for my web spidering use case.

Chris

-- 
Chris Anderson
http://jchrisa.net
http://couch.io

Reply via email to