I can't speak to the performance differences, but my understanding is that secondary indexes perform very well.

Personally, I prefer one document with multiple secondary indexes instead of extra documents. I think it's cleaner conceptually, and it's a simpler implementation.

On 2/21/12 2:46 PM, David Dawson wrote:
This looks great

Although I am still not clear when to use index's and when not to, for instance if I wanted to build a high speed backend system where you could look up a user either by their email address or their mobile number I see 2 ways to do this:

1 .Create a *user* document, followed by a *user_email_index / user_msisdn_index* document which points back to the user document
2. Create a *user *document and add a index called *email* and*msisdn.*

My concern with *options 2*. is the performance characteristics and other tradeoffs ? e.g. is it quicker to do the lookup against a key, rather than a secondary index?

Dave


On 21 Feb 2012, at 15:29, Paul Gross wrote:

We at Braintree (http://www.braintreepayments.com/) open sourced our Riak ORM for Ruby called Curator. It follows a repository pattern rather than an ActiveRecord or Ripple pattern.

You can check out the code on github:
https://github.com/braintree/curator

We also released a blog post that explains our pattern:
http://www.braintreepayments.com/devblog/untangle-domain-and-persistence-logic-with-curator

Comments welcome.

Thanks,
Paul

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

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

Reply via email to