I know that you already said that you read everything on the Internet already, but for others who also read this question, I would like to publish two resources that discuss Riak "ring":
http://riak.basho.com/arch.html
http://riak.basho.com/edoc/architecture.txt
With this in mind, Riak uses the word “ring” in two places. The first is a description of the hash space that is used to determine where to store the data. The reason Riac calls this space a ring is because the last value in space (2 ^ 160-1) is considered adjacent to the first value in space (0). Data replicas are stored in the "next N sections" of the hash space following the section to which the key hashes. Considering the hash space as a ring provides a convenient definition for "the next pattern after the final split."
Another use of the word “ring” is connected, but not quite the same as the first. I mentioned sections: each node claims to have several hash space segments called sections. The knowledge that node claimed that the section is stored in a structure that Riak calls the "state of the ring", and sometimes just the "ring". Other cluster metadata can also be stored in a ring state because it is a conveniently shared piece of data across the cluster.
In general, an application does not have to think a lot about the ring.
Does this answer your question? I would advise you to post such questions on the riak-users mailing list ( http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com ). I am sure that other participants in this list are interested in these answers, and we (Riak developers) are usually more attentive to this channel than this one.
Bryan
source share