On Aug 2, 2010, at 11:03 AM, Michael Beam wrote:

> Hi All,
> 
> CouchDB is used throughout an application that I work on, and I was thinking 
> of using it for a new implementation of an old feature. The feature involves 
> other applications reporting progress of "jobs" to a progress DB via 
> documents that look like:
> 
> {
>  "_id":"a8baaee7963b4ee5893f0120514c4294",
>  "_rev":"35-8735bcf3c66945932acb4d573166f741",
>  "progress":0.87
> }
> 
> Since there may be potentially hundreds of processes updating their progress 
> docs relatively frequently (say, one update every 10 seconds, maybe longer, 
> maybe much longer) I figured this would be an ideal use case for batch=ok in 
> the PUT request that applications use to update their job's progress to the 
> database. However, I discovered that the rev is not returned (which makes 
> sense), which  means that for an app to update it's progress doc, it needs to 
> get the rev through a separate HEAD request.
> 
> In terms of overall load on the server, is anything gained by doing lots of 
> updates via HEAD/PUT-batch=ok versus a standard PUT?  Or, am I missing some 
> other relevant aspect of Couch in my analysis of the problem?
> 

batch=ok should really be renamed async=true

basically it allows a serial client to get really fast inserts, without 
changing the load profile for CouchDB.

In your case (where you need the rev) it is probably better to do a regular PUT 
(or to batch requests on the client and use bulk_docs)

Chris

> Thanks in advance,
> 
> Mike
> 
> 

Reply via email to