コンシステントハッシュとは?
コンシステントハッシュは、ハッシュ関数を使ってキーとノードの両方を概念上のリング上に配置し、各キーを時計回りで次のノードに割り当てます。ノードが参加または離脱すると、単純なモジュロハッシュのようにほぼすべてのキーが動くのではなく、そのノードと隣接ノードの間のキーだけが移動します。負荷をより均等に分散させるため、しばしば仮想ノードが追加されます。
なぜ重要か
素朴なキーからノードへのマッピングは、ノード数が変わるとほぼすべてを再シャッフルし、巨大な cache やデータのチャーンを引き起こします。コンシステントハッシュはそのチャーンを変化に比例した量に抑えるため、分散キャッシュやシャードがこれに依存しています。
関連ガイド
What Is a Sharding Key?A sharding key is the field used to decide which shard a record belongs to, determining how data and load are…
What Is Partition Tolerance?Partition tolerance is a distributed system's ability to keep operating when network failures split nodes int…
What Is a Quorum Read?A quorum read queries enough replicas that their responses overlap with the replicas a write touched, ensurin…