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

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

[[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 年にアルゴリズム エンジニアに必要な必須スキルは何ですか?

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

ブログ    

推薦する

TRSのTuotianビッグモデルが正式にリリースされ、メディア、金融、政府関係の3つの業界向けのビッグモデルが発表されました。

2023年6月29日、チューリングはNLP分野での30年間の技術革新、10年以上の高品質なデータと...

浙江大学の呉飛氏とアリババの賈洋青氏が口論。AIの進化と年収100万ドルのどちらが本当なのか?

人工知能が再び人気を集めていることは間違いありません。第14次5カ年計画では、国家発展の戦略的支えと...

...

面接中にアルゴリズムの質問を解く際にプログラマーが知っておくべきこと

面接でアルゴリズムのみをテストする質問は、一般的に多くのプログラマーの友人から嫌われます。ここでは、...

20万人を超える人々が請願し、MITとハーバード大学が米国政府を訴えています。

米国移民関税執行局の最近の新しい規制は、アメリカのトップ大学の間で騒動を引き起こしている。ハーバード...

レポート | ジェネレーティブ AI はリアルタイムの可能性を秘めているが、まだ初期段階にある

最近の調査によると、企業は生成 AI がリアルタイムのデータ分析を実現する大きな可能性を秘めていると...

...

ポストエピデミック時代のスマートエネルギー管理にエッジAIを活用する方法

COVID-19の影響により、今年の新学期は例年とは少し様子が異なります。多くの学校や企業がハイブリ...

なぜ「ハイエンド」アルゴリズムエンジニアはデータ移民労働者になったのでしょうか?

まず、Zhihu の「アルゴリズム エンジニアになるのはどんな感じか」という質問に対する私の回答を共...

ディープラーニングと比較すると、この新しいアルゴリズムの方が優れているようですね?

ニューラル ネットワーク アルゴリズムと機械学習における人類の現在の成果に基づくと、コンピューター ...

AIメモリに与える8つの優れたオープンソースの無料ベクターデータベース

今年、AI大規模モデルの応用は爆発的な成長を遂げました。その中でも、LangChainやHaysta...

Googleの「AIが写真を推測」アプリがWeChat Momentsで人気:ユーザーの参加でよりスマートに

Google 初の WeChat ミニプログラム「絵を当てよう」アプリは、リリースから 1 日で、一...

欧州が世界クラスの人工知能研究機関を建設へ

英国の「ガーディアン」ウェブサイトは、この新しい研究所を設立した理由は、欧州原子核研究機構を設立した...

10行のPythonコードで画像認識

[[226981]]ディープラーニングアルゴリズムの台頭と普及により、人工知能の分野、特にコンピュー...

機械学習を攻撃に利用する9つの方法

機械学習と人工知能 (AI) は、一部の脅威検出および対応ツールの中核技術になりつつあります。サイバ...