couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mickael Bailly (JIRA)" <j...@apache.org>
Subject [jira] Commented: (COUCHDB-812) implement randomization in views resultset
Date Mon, 28 Jun 2010 16:07:50 GMT

    [ 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.


Mime
View raw message