Beyond keys not being adjacent due to chashing, you can not retrieve partial keys like userid:* and you can not do range queries. None of the internal data saved is exposed to riak or sorted in any way.
All your indexing has to be add-on. On 2010-04-29, Mark Jones <mjo...@imagehawk.com> wrote: > If I wanted to build an e-mail system for millions of users, how would I go > about doing it in Riak? > > > > Let's say each e-mail has the following characteristics, to, sender, header, > body, when, attachments. Every user is identified by a userid, and to is not > necessarily the same thing as userid. > > > > In addition to the above characteristics, the user would be allowed to place > tags and flags on various e-mails in a user interface. > > > > In Cassandra could model this in two ways, one using super columns, which > I've been advised against, and another using the order preserving > partitioner where the key is made up something like: userid:convo-id:when. > Then I can get a range to bring all of those messages up at one time. > > > > The idea of a convo-id is similar to gmails conversation grouping of emails. > > > > With distributed key structure of riak, I'm not sure how to pull this off. > Since the keys are all consistently hashed, the users information never be > adjacent to each other and pulling up a group of messages will result in > lots of seeks. > > -- Sent from my mobile device _______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com