Consistent Hashingとは Consistent Hashingはハッシュテーブルアルゴリズムの1つです。 ハッシュテーブルのサイズの変更をしても柔軟にマッピングできるため、ノードの追加・削除が発生する分散データベースやキャッシュの保存先を決定するといった用途に使われます。 アルゴリズムの説明 ハッシュ化 例えば入力値を0~99の値に変換するハッシュ関数を用意します。 ノードのIDをそのハッシュ関数で変換すると以下のように配置されたとします。 次にデータも同じようにハッシュ関数で変換し、以下のように配置されたとします。 マッピング データのハッシュ値と同じorより大きな値の中で最も近いノードにマッピングします。 自分よりも大きなハッシュ値を持つノードが存在しない場合は、最小のハッシュ値のノードにマッピングします。 これがConsistent Hashingです。 ノードの追加