I am taking a course on Eductive on System Design and I read about the ways the data can be partitioned amongst DB servers. See the snippet below:
b. Hash-Based Partitioning: In this scheme, we take a hash of the object we are storing. We then calculate which partition to use based upon the hash. In our case, we can take the hash of the ‘key’ or the short link to determine the partition in which we store the data object. Our hashing function will randomly distribute URLs into different partitions (e.g., our hashing function can always map any ‘key’ to a number between [1…256]). This number would represent the partition in which we store our object.
This approach can still lead to overloaded partitions, which can be solved using Consistent Hashing.
Q: How does exactly consistent hashing is solving the problem of overloaded nodes? Please advise.