Talk:Consistent hashing

Latest comment: 1 year ago by Skyerise in topic I'm confused a bit

Untitled

edit

I am after reading this article unable to code a consistent hash. I therefore argue it has failed to explain the core concept involved; the article has only described its functionality. Toby Douglass (talk) 22:48, 5 July 2012 (UTC)Reply

Confusing K and n notations

edit

I might be the only one but I find the notation   for the number of keys and   for the number of nodes confusing. I know it is the first letter of each word but usually   is used for the number of partitions and   for the total number of elements and therefore considered  . I think it should either be   or changed to  . I wanted to have some opinions before doing this correction. Cmolter (talk) —Preceding undated comment added 16:40, 15 July 2013 (UTC)Reply

Slightly related to this, I want to add that it is not clear whether   is the number of slots before or after the resize... Additionally, it be good if this article would clarify what "resizing a hash table" means... does it mean "changing the number of slots"? --Abdull (talk) 14:12, 18 July 2013 (UTC)Reply

Additional algorithm

edit

There is an alternative algorithm for consistent hashing that is shorter, and that is much more efficient when there is a large numbers of servers. The open source Guava hashing library contributed by Google contains an implementation. See consistentHash() here: https://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/hash/Hashing.java

That code doesn't have an explanation of the algorithm, but a preprint now gives one: http://arxiv.org/ftp/arxiv/papers/1406/1406.2294.pdf

As an author of that preprint, it is not appropriate for me to edit this page, but it seems like appropriate subject matter for this page. Johnlamping (talk) 05:02, 13 June 2014 (UTC)Reply

Technique clarification needed

edit

"Since each bucket is associated with many pseudo-randomly distributed points, the resources that were held by that bucket will now map to many different buckets."

Please explain what this (emphasized part) means. I see that the values for the keys were distributed randomly, but the keys themselves were a contiguous block (the bucket), not random "points" (points on the circle, I assume — the circle analogy is confusing).

"Since each bucket is associated with many pseudo-randomly distributed points, the resources that were held by that bucket will now map to many different buckets."

How?

209.49.110.163 (talk) 21:45, 20 August 2014 (UTC)Reply

I was also confused by this. The confusing bit is that part of the text says a bucket is associated with many points on the circle, but this text seems to suggest that a bucket is a single point. It might be easier to remove the confusing notion of a bucket, and just call it a machine.

"then walks around the circle until falling into the first bucket it encounters (or equivalently, the first available bucket with a higher angle). The result is that each bucket contains all the resources located between its point and the previous bucket point. — Preceding unsigned comment added by 50.158.132.159 (talk) 17:54, 8 February 2015 (UTC)Reply

Jungleh (talk) 09:40, 9 October 2016 (UTC)Reply

I clarified the confusion. It seems that the original text mixed the simplistic one-point-per-bucket technique with the more elaborate technique of having many different points around the circle map to the same bucket.
edit

Hello fellow Wikipedians,

I have just modified one external link on Consistent hashing. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 5 June 2024).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 10:03, 12 August 2017 (UTC)Reply

Removal of citation needed tag

edit

A citation needed tag was added to the claim of rendezvous hashing being first invented in 1996. A reference is present on the appropriate page and has hence been removed from this page. AB1908 (talk) 06:09, 16 April 2020 (UTC)Reply

India Education Program course assignment

edit

  This article was the subject of an educational assignment at College Of Engineering Pune supported by Wikipedia Ambassadors through the India Education Program during the 2011 Q3 term. Further details are available on the course page.

The above message was substituted from {{IEP assignment}} by PrimeBOT (talk) on 20:09, 1 February 2023 (UTC)Reply

I'm confused a bit

edit

I'm confused a bit about the following statement:

"The central idea is, we use a hash function that randomly maps both the BLOB and servers to a unit circle, usually radians. For example, (where is hash of a BLOB or server's identifier, like IP address or UUID)."

I was under the impression that a hash function is deterministic so I'm not sure how it would randomly map... Grossb1 (talk) 19:41, 27 July 2023 (UTC)Reply

I believe this is actually referring to an random-like uniform distribution and have updated the article accordingly in two places. Skyerise (talk) 16:55, 4 August 2023 (UTC)Reply