Does Riak support Range Queries over binary safe strings?

Jeremiah Peschka jeremiah.peschka at gmail.com
Tue Jul 16 18:53:16 EDT 2013


Following up on Alex's comments -

If you know which bytes you need to slice, you can store this in a
secondary index. You can perform range queries across secondary indices (as
well as keys).

As long as you're storing your data in a way that allows it to be read by
either Erlang or JavaScript, you should be able to query over it in
MapReduce. This is typically regarded as a Bad Idea™ since an MR query will
need to scan all keys in a bucket (which effectively means scanning the
entire cluster) and is best done as an infrequent activity to transform
data.

---
Jeremiah Peschka - Founder, Brent Ozar Unlimited
MCITP: SQL Server 2008, MVP
Cloudera Certified Developer for Apache Hadoop


On Tue, Jul 16, 2013 at 3:45 PM, Alexander Sicular <siculars at gmail.com>wrote:

> I would say no. Riak is generally oblivious as to the content of your
> data. Any ranges or other method you would use to query needs to be
> explicitly indexed via riak search or secondary indexes. Once you have
> found your data you could operate over that data in a map reduce, but I
> can't speak to "binary safe" blob operations in either erlang or JavaScript
> although I'm inclined to say yes, you would be able to operate over it in
> m/r.
>
> So searching for keys with certain data in the binblob is probably not
> gonna happen but once you have a key to feed an m/r you could get a slice
> of that value.
>
> Make sense?
> -Alexander
>
> @siculars
> http://siculars.posthaven.com
>
> Sent from my iRotaryPhone
>
> On Jul 16, 2013, at 18:17, gbrits <gbrits at gmail.com> wrote:
>
> > First, hello all!
> >
> > Coming from Redis, I love that you can just put any binary blob in Redis
> > which is just treated as a string. This is possible because Redis strings
> > are what they call 'binary safe'. This makes it possible to return
> slices of
> > string-encoded binary data, which is super useful for bitset-operations,
> > etc.
> >
> > I'm investigating Riak and I like it a lot so far. Riak seems to have
> range
> > queries (on values, as it seems I must make that distinction with
> > column-stores), but I'm not sure if strings in Riak are "Binary safe" in
> the
> > above sense. If not, is there another way to store binary data in Riak
> and
> > still do range queries over them quickly?
> >
> > To be exact: I want to do multi-key lookups in Riak, where each returned
> > result should be of format: <key,slice(featureX,start,end)>
> >
> > Thanks,
> > Geert-Jan
> >
> >
> >
> > --
> > View this message in context:
> http://riak-users.197444.n3.nabble.com/Does-Riak-support-Range-Queries-over-binary-safe-strings-tp4028356.html
> > Sent from the Riak Users mailing list archive at Nabble.com.
> >
> > _______________________________________________
> > riak-users mailing list
> > riak-users at lists.basho.com
> > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
> _______________________________________________
> 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/20130716/89009be4/attachment.html>


More information about the riak-users mailing list