Greetings all...

While I can find lots of documentation about what a ring is and how it's
using in Riak, I've found very little that's actually useful about
determining the right size for your system. The most useful formula I've
found so far has been the simple:

ring size = 2 ^ (ceiling(log(max nodes * min partitions per node, 2)))

Where the minimum recommended number of partitions per node is 10 (as per
http://docs.basho.com/riak/latest/cookbooks/faqs/operations-faq/#is-it-possible-to-change-the-number-of-partitions
).

Nothing tells me though what sane upper bound is for the amount of data in
a partition, or the overhead inside the cluster of managing larger ring
sizes. My gut feel though is that more than a couple of hundred gigabytes
per partition is getting a bit much.

I've done some initial testing of ring sizes across a cluster of 9 physical
machines and have seen some concerning results. All the numbers below are
done on the same hardware running Ubuntu 12.04 with Riak 1.3.0 (official
.deb release):

Ring Size      |   512 |  1024 |    2048 |
Create Cluster | 01:53 | 05:41 | 0:12:58 |
Remove Node    | 04:01 | 10:31 | 0:31:13 |
Add Node       | 01:05 | 05:22 | 1:04:49 |

All this is done with NO DATA in the cluster at all - so why does it take
over an hour to add a new node when ring=2048?

Does it have anything to do with the concerns raised on this thread:
https://groups.google.com/forum/?fromgroups=#!topic/nosql-databases/DZkgkgd9YnA

Thanks,

Chris
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to