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.

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to