[ 
https://issues.apache.org/jira/browse/COUCHDB-2182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13917742#comment-13917742
 ] 

Gabe Malicki commented on COUCHDB-2182:
---------------------------------------

This looks great.  I'm glad to hear it's already in the works.  I'm closing 
this ticket


> Why doesn't couchdb support multiple keys requests to a reduce function using 
> group_level ?
> -------------------------------------------------------------------------------------------
>
>                 Key: COUCHDB-2182
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-2182
>             Project: CouchDB
>          Issue Type: Question
>      Security Level: public(Regular issues) 
>          Components: Database Core, HTTP Interface
>            Reporter: Gabe Malicki
>
> Why doesn't couchdb support multiple keys requests to a reduce function using 
> group_level ?  I need this functionality in order to reduce the amount of  
> network IO and latency in my system.  Perhaps it would be possible to 
> implement this with a warning about the cost of such a query.  
> Here is my example real-world use case:
> I have a database of widgets that are being voted on by web users and I have 
> a reduce function that computes different types of ranking for each widget 
> based on the widget's numerical properties in conjunction with user votes (1 
> to 10).  There are far too many widgets to sort in the client and couchdb 
> does not allow the sorting of view query results by value.   This means in 
> order to be able to get the widgets sorted by their ranking I need to first 
> write the reduce function output (score results for each widget) to a 
> database so that I can later query on that data sorted by score.   
> As new votes enter the system they are bulk_saved then a separate view reduce 
> query is executed for each effected widget to calculate the new scores then 
> those scores are bulk_saved into a db so that they can later be queried 
> sorted by their various scores.  Since couchdb doesn't allow querying 
> multiple keys with my reduce function using group_level I'm having to make 20 
> HTTP GET requests if 20 different widgets were voted on instead of a single 
> HTTP GET and all of this extra network io means I have to fire off a bunch of 
> threads to block on network IO which is expensive and this cost becomes 
> greater the more votes I need to process per minute.
> Adding multiple keys query with group_level would reduce the amount of CPU, 
> latency, and bandwidth that I'm having to burn in order to achieve reduce 
> function sorting by value.  Of course if someone could figure out how to let 
> me sort reduce output by value then that would save me even more resources.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to