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

Mickael Bailly commented on COUCHDB-812:
----------------------------------------

I _of course_ disagree with your point of view. The random ordering of results 
is implemented by any mainstream rdbms (mysql, postgresql, mssqlserver, oracle, 
db2...). Don't think it's for "niche" use cases. The "static random" views that 
I can use only once isn't even applicable in my particular app.

Of course, you decide, and I respect couch devs decisions, but I find the "not 
interesting" flagging of this feature a little fast :-)

If couchDB could provide a way for me to implement that (by some 
"non-deterministic lists" for example), it will be OK, but at the moment I 
can't do that as a couchdb user. 
For the big-O cost argument... I must admit I don't understand what that 
means... :-/ However I can imagine the big-network cost of retrieving all keys 
I'm interested in, pick some random ones client-side, and then fetch those 
docs... That's how my current implementation is.

Hope you'll reconsider adding this particular feature or a more generic 
"non-deterministic list" feature, even if performance is bad for you, it'll 
certainly be better than couch request + network IO + client code + couch 
request...?

Regards

> implement randomization in views resultset
> ------------------------------------------
>
>                 Key: COUCHDB-812
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-812
>             Project: CouchDB
>          Issue Type: Wish
>          Components: Database Core
>    Affects Versions: 0.11
>         Environment: CouchDB
>            Reporter: Mickael Bailly
>            Priority: Minor
>
> This is a proposal for a new feature in CouchDB : allow a randomization of 
> rows in a view response. We can for example add a randomize query parameter...
> This request would probably not return the same results for the same request.
> As an example :
> GET /db/_design/doc/_view/example :
> {
>   ..
>   rows: [
>     {key: 1 ...},
>     {key: 2 ...},
>     {key: 3 ...}
>   ]
> }
> GET /db/_design/doc/_view/example?randomize=true :
> {
>   ..
>   rows: [
>     {key: 2 ...},
>     {key: 3 ...},
>     {key: 1 ...}
>   ]
> }
> GET /db/_design/doc/_view/example?randomize=true :
> {
>   ..
>   rows: [
>     {key: 1 ...},
>     {key: 3 ...},
>     {key: 2 ...}
>   ]
> }
> This is a feature hard to implement client-side (but by reading all doc ids 
> and use client-side random function). It's implemented by the RDBMS from 
> ages, probably for the very same reasons : if we should read all the rows 
> client-side to random-select some of them, performances are awful.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to