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

Reply via email to