Hi Mike,
I am relatively new to Couchdb so this might be horseshit but.. Since you know the doc._id you could also do the doc processing on the client side. This way you would not need any view and can instantly see your code in action.

Tim

On 5/24/12 3:55 PM, Mike Kimber wrote:
Robert,

Couchdb Lists work on top of views (and look great by the way), however that 
brings me back to my initial post (causes an error on this mailing list for 
some reason but you can find a copy here 
http://mail-archives.apache.org/mod_mbox/couchdb-user/201205.mbox/%[email protected]%3E)
 :-). Namely generating a view (well a design document with views in it) on our 
data set takes between 6 (simple view) and 16 hours, takes up a lot of disk 
space for what seems a small amount of data and burns a CPU at 100% for the 
full time it runs i.e. no IO contention and can't use multiple cores/cpus. So 
again am I doing something fundamentally wrong or is this just the way Couch 
works and most people don't have a data set like ours so it does not take that 
long to create views or does Big Couch solve the issue (although it would seem 
10 big couch nodes would still take an hour)

Looks like you work at Cloudant, so hopefully you might be able to provide some 
answers based on real world experience?

Mike



-----Original Message-----
From: Robert Newson [mailto:[email protected]]
Sent: 24 May 2012 12:08
To: [email protected]
Subject: Re: Am I doing something fundamentally wrong?

Or use a list function;

http://wiki.apache.org/couchdb/Formatting_with_Show_and_List

You can use one with _all_docs and you can POST an array of ids too.

http://wiki.apache.org/couchdb/HTTP_view_API

Since 0.9 you can also issue POST requests to views where you can send the 
following JSON structure in the body:
{"keys": ["key1", "key2", ...]}

B.

On 24 May 2012 11:58, Mike Kimber<[email protected]>  wrote:
Looking at Show documentation and running a quick test I don't think this helps 
as Show has to be referenced by a doc._id or view key. If these aren't provided 
it returns null. This makes sense as its for generation of a html, XML page/doc 
etc.

So I'd have to  get a list of all doc ID's I want and then call the show 
function for each and to get a filtered list I need a view.

Mike

-----Original Message-----
From: Mike Kimber [mailto:[email protected]]
Sent: 24 May 2012 10:47
To: [email protected]
Subject: RE: Am I doing something fundamentally wrong?

Aurélien,

Thanks for the response and apologies I didn't get a notification (e-mail) of my original 
post (or the 2nd one) or your response. When I look at my original post in Google Reader 
is has "An error occurred while fetching this message, sorry !", so there must 
be something in the e-mail that the mailing list system does not like.

In response to your original response " I'm a bit puzzled by the fact that your map 
functions use the document ID". I do this because I load the data into Luciddb and 
this allows me to join between tables. This is not my end game this is just a compromise 
due to the time it takes to generate a view and my need to play/discover with the data.

I will look at show to see if It helps, however it does not really answer my 
original questions and it does not remove the more general issue that view 
build takes a very long time, it only uses a single CPU and uses a bucket load 
of space even with compression on (no idea why when it has a lot less data than 
the original)

Thanks

Mike

-----Original Message-----
From: Aurélien Bénel [mailto:[email protected]]
Sent: 24 May 2012 07:40
To: [email protected]
Subject: Re: Am I doing something fundamentally wrong?

Hi Mike,

Didn't seem to get there first time so having another go

As I wrote in my earlier post, the use of 'map' functions in both of your 
examples is overkill.
Use 'show' functions instead.They won't require an index to be built.


Regards,

Aurélien

Reply via email to