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
