couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom Wright <...@inflatablecookie.com>
Subject Re: Optionally including docs in view results
Date Wed, 06 Aug 2008 11:23:51 GMT
I agree, to an extent.

Having had a bit of time to stew on this issue, I'm coming to the 
conclusion that there needs to be more of a separation of concerns.
Fetching records should not be lumped into the same call as updating / 
inserting / deleting - ie. _bulk_docs. However, I reckon _bulk_docs as 
it is is trying to do too much - why not go for something like the 
following:

_bulk_get
_bulk_insert
_bulk_update
_bulk_delete

This way, a request will only ever have one purpose, and the response 
can be simpler and more relevant, especially where errors are concerned. 
Maybe change insert / update for put / post in terms of naming, but you 
get the idea.

Troy Kruthoff wrote:
> Getting the API future-proof as possible before 1.0 release is more 
> important than backwards compatibility.  The main reason I am a 
> proponent of a bulk_docs api supporting the REST verbs is IMHO it is 
> easier to use and understand than having multiple API end-points to 
> accomplish RESTful access in a performant manner.  Couch is marketing 
> itself (among other things) as a RESTful database for web apps, which 
> is an obvious buzzword and one that I believe will aide in the 
> adoption of the technology, but the fact is we are having this 
> discussion because we need more performance than what the RESTful 
> access is bringing to the table.
>
> So, to the web developer we can say:
>
> "When you only need to access 1-5 documents for you web page, use the 
> REST api.  If you need to get 100 documents, modifiy them and save 
> them back, then use the bulk_load api to get the documents and the 
> bulk_docs api to save them, because we are the RESTful database built 
> for tomorrows web apps"
>
> The message that I believe is more marketable, easier to understand 
> and use is that you can wrap multiple REST calls into a single request 
> to the server by POSTing your requests as a JSON payload to the 
> bulk_docs uri when you want to achieve maximum performance (or 
> _transaction, or bulk_rest, or any other name).
>
> -- troy



Mime
View raw message