key filters

Russell Brown russelldb at basho.com
Wed Nov 23 03:19:24 EST 2011


On 23 Nov 2011, at 08:04, Ben Aviram wrote:

> Hi all,
>  
> We’re working on analytics system based on Riak(1.0.2).
>  
> I’m storing my data in this structure:
> Key = “userid_date”
> Value = daily report values
>  
> So if I want for example to query last year’s data I’m using key-filter like this
> {
>   "inputs":{
>      "bucket":"report"
>      "key_filters":[["tokenize", "-", 2],
>                     ["between", "20110101", "20111231"]]
>    },
> }
>  
> Are key-filters efficient enough?

Using key-filters mean you're doing a full key list, wish isn't recommended. Rusty might be able to shed better light on it, but when I did some date based stuff recently I converted date to a timestamp and indexed it using secondary indexes _int index, then I could get keys from a range between 2 dates by using 2i range queries. Has to be more efficient than a full key list/key filters. In fact, on the wiki[1] it suggests dates encoded as sortable strings would work.

[1] http://wiki.basho.com/Secondary-Indexes.html

> Or should I just send a bulk of keys to the map reduce query(ie. userid _20110101, userid _20110102, userid _20110103 ….)
>  
> Many thanks,
> Ben
>  
> _______________________________________________
> riak-users mailing list
> riak-users at lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20111123/9386dd25/attachment.html>


More information about the riak-users mailing list