Getting random objects filtered by a set of criteria

Dmitrii Dimandt dmitriid at gmail.com
Mon Jan 11 02:42:05 EST 2010


On Jan 10, 2010, at 15:58 , David Smith wrote:

> On Sat, Jan 9, 2010 at 9:01 AM, Dmitrii Dimandt <dmitriid at gmail.com> wrote:
> I want to show the user a photo to vote for. This has to be a random photo from those he hasn't voted for yet.
> 
> In a prior conversation Kevin Smith suggested[1] I use M/R for such a task. Well, not only do I have to understand how to write such a M/R :) I also need to know whether  it's ok to run such a query on every page request.
> 
> I wouldn't recommend using M/R for this task, simply because of the frequency you want to perform this operation. A better solution, IMO, would be to use your keyspace to your advantage. Store the pictures keyed by an integer; in this way you can randomly select an integer between 0..MaxKey and return that with a single GET operation. Of course, if you have an existing key storage system that is based on some other key, this may mean you wind up storing some data twice (i.e. denormalized), but that's a reasonable trade-off for efficiency/latency.
> 
> Just my $0.02. :)
> 
> D.


The problem with this is that I would need to somehow have a global autoincrementing counter for these images. I was hoping to avoid writing that :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20100111/af253b95/attachment.html>


More information about the riak-users mailing list