一貫性のあるハッシュコンシステントハッシュ法は、ノードを削除または追加する際に、既存のキーのマッピング関係をできるだけ変更しないハッシュアルゴリズムです。通常は時計回りに動作します。答える前に、実際の状況に対処する方法を考えてください。コンシステントハッシュ法は、ハッシュ値空間全体を仮想リングに整理します。ハッシュ関数の値空間が0〜2^32-1であると仮定すると、ハッシュ空間リング全体は、以下の左の図に示されています。 コンシステント ハッシュの基本的な考え方は、同じハッシュ アルゴリズムを使用して、データとノードの両方を図のリング ハッシュ空間にマッピングすることです。右上の図は、リング上の 4 つのデータ オブジェクト 1 ~ オブジェクト 4 の分布を示しています。 ノードとデータのマッピングサーバーのグループがある場合は、IPまたはホスト名をハッシュのキーワードとして使用し、結果をハッシュリングにマップすることができます。3つのサーバーはnodeA-nodeCです。 これで、サーバーに保存する必要があるデータ バッチ (object1 ~ object4) ができました。同じハッシュ アルゴリズムを使用してデータをハッシュできます。結果もリング上にある必要があります。時計回りに検索できます。ノード (サーバー) が見つかったら、このノードにデータを保存します。このようにして、次の図に示すように、データとノードは 1 対 1 で関連付けられます。 ノードを削除上図のノード B のように、サーバーに問題がある場合は、反時計回りの方向と次のノードの間のデータが影響を受けます。このデータを時計回りの最初のノードにマップするだけで済みます。 1566573901641 ノードを追加新しいサーバー nodeD が追加されると、サーバーから反時計回りの次のノードまでのデータが影響を受けます。このデータは、右の図に示すように、nodeD にマッピングできます。 仮想ノードサーバーが 2 つ (nodeA と nodeC) しかないと仮定します。nodeA は 1 つのデータをマップし、nodeC は 3 つのデータをマップします。これは、データ分散が不均衡であることを意味します。仮想ノードを導入し、ノードの複製数が 2 であると仮定すると、nodeA は nodeA1 と nodeA2 になり、nodeC は nodeC1 と nodeC2 になり、マッピングは次のようになります。 これにより、データの配分がより均等になり、バランスが大幅に改善されます。 |
<<: 2021 年にアルゴリズム エンジニアに必要な必須スキルは何ですか?
>>: 機械プログラミングが次に投資すべきテクノロジーである理由は何ですか?
6月21日のニュースによると、新たな研究により、人工知能(AI)は人気曲を正確に識別できることが示さ...
ご家族の皆さん、世界中で人気の魔法のダンス「Subject Three」、まさか兵馬俑も踊り始めると...
[51CTO.comよりオリジナル記事] 12月1日、WOT2018グローバル人工知能技術サミット...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
空港のセキュリティは、航空機と乗客の生命と財産の安全を確保するために、爆発性、可燃性、腐食性の物品、...
レノボとブラジルのレシフェにある先端研究システムセンター(CESAR)は、聴覚障害者向けに手話を「翻...
2021年以降、企業内部者によるデータ侵害、損失、盗難は月平均28%増加しており、回答者の85%は今...
[[390500]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
ビジネスとテクノロジーに関心のある人なら誰でも、AI がすでに業界や日常生活に大きな変化をもたらして...
いつか、おそらく数十年以内に、人工ニューラル ネットワークを使用して、人間の脳をリアルにシミュレート...