一貫性ハッシュアルゴリズムとは何ですか?

一貫性ハッシュアルゴリズムとは何ですか?

[[413431]]

一貫性のあるハッシュ

コンシステントハッシュ法は、ノードを削除または追加する際に、既存のキーのマッピング関係をできるだけ変更しないハッシュアルゴリズムです。通常は時計回りに動作します。答える前に、実際の状況に対処する方法を考えてください。コンシステントハッシュ法は、ハッシュ値空間全体を仮想リングに整理します。ハッシュ関数の値空間が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 年にアルゴリズム エンジニアに必要な必須スキルは何ですか?

>>:  機械プログラミングが次に投資すべきテクノロジーである理由は何ですか?

ブログ    

推薦する

回帰問題に最適な機械学習アルゴリズムを選択する

あらゆる種類の機械学習 (ML) の問題に取り組む場合、選択できるさまざまなアルゴリズムがあります。...

消防ドローンはあらゆる能力に優れていることから人気が高まっています!

火災による被害は明らかですが、火災の予防と制御は容易ではありません。たとえば、森林火災は、その範囲が...

特定の文字を削除するためのアルゴリズム設計とCコードの実装

1. 要件の説明長い文字列と短い文字列を入力し、短い文字列に現れる文字を長い文字列から削除するプログ...

コンピューティングセンターからコンピューティングネットワークまで、人工知能は静かに変化している

人工知能はデジタル経済の高品質な発展の原動力であり、新たな科学技術革命と産業変革の重要な原動力です。...

5G時代の到来により、携帯電話はどのように人工知能を取り入れることができるのでしょうか?

最近、第51回国際コンシューマー・エレクトロニクス・ショーが米国ラスベガスで開催され、世界中の人工知...

TensorFlow を使い始めるための重要なポイントをここにまとめました。まだ怠ける理由がありますか?

この記事の著者である Steven Dufresne は、初心者が TensorFlow を学習する...

機械学習によるディープラーニングが企業の今後の方向性となる理由

機械アルゴリズムのディープラーニングは、ビジネスの世界に多くの変化をもたらしました。定義上、これは人...

ビッグデータと人工知能 - 機械的思考から統計的思考へ

[[384196]]今日は、ビッグデータ、人工知能、認知問題の解決の関係ロジックについて話す記事を書...

2021 年のトップ 10 のテクノロジー トレンド - AI、エッジ コンピューティング、マシン ビジョンなど

アーキテクチャ、クラウドコンピューティング1. 複雑なものをシンプルに: 「ミニマリズム」の道を行く...

...

...

あなたのプライベートな写真が「合法的に」閲覧される可能性があります。顔認識を使用するときは必ず服を着用してください。

本日7月3日、デジタルブロガーの@长安数码君がソーシャルプラットフォームでニュースを発表しました。顔...

TCP輻輳制御アルゴリズムについての簡単な説明

最近、TCP/IP プロトコルの学習に時間を費やしました。主な理由は、TCP/IP に関する私の理解...

ディープラーニングで構造化データを処理するにはどうすればよいですか?

この投稿では、ディープラーニングのあまり知られていない応用分野である構造化データに焦点を当てます。こ...

金融ビジネスイノベーションを実現する自社開発グラフデータベースに基づくナレッジグラフ実装

人工知能の急速な発展に伴い、ナレッジグラフの実装と商業化の可能性は継続的に強化され、社内のデータ分析...