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