面接でコンシステントハッシュアルゴリズムについて再度質問されました。この答えは面接官を即死させるでしょう!

面接でコンシステントハッシュアルゴリズムについて再度質問されました。この答えは面接官を即死させるでしょう!

[[284994]]

データシャーディング

まずは例を見てみましょう。

多くの場合、キャッシュには Redis を使用し、データ負荷を軽減するために一部のデータをそこに配置します。

データ量が少なく、アクセス負荷が大きくない場合は、通常 1 つの Redis で処理できます。高可用性を実現するには、マスター スレーブで十分です。

データ量が増え、同時実行数が増えると、キャッシュされたデータをすべて 1 台のマシンに置くことが難しくなります。結局のところ、マシンのリソースには限りがあります。通常は、各 Redis にデータをできるだけ均等に分散するクラスター環境を構築します。たとえば、クラスターには 4 つの Redis があります。

では、これらの 4 つの Redis サーバーにデータをできるだけ均等に配置するにはどうすればよいでしょうか。最も簡単な方法は、モジュロ アルゴリズムです。

hash( key ) % N、N は Redis の数です。ここでは N = 4 です。

この方法を使用すると、データを 4 つの Redis サーバーに均等に保存できるため、非常に便利です。新しいリクエストが届いたときに、データがどの Redis サーバーにあるかを特定できるため、キャッシュされたデータを正確にクエリできます。

02データシャーディングで発生する問題

しかし、4 台の Redis サーバーでは不十分であり、さらに 4 台の Redis サーバーが必要です。

剰余アルゴリズムは次のようになります: hash( key ) % 8;

したがって、現在のキャッシュの場所のほとんどは間違っていると想像できます。極端な場合には、キャッシュの雪崩が発生します。

03一貫性ハッシュアルゴリズム

一貫性のあるハッシュ アルゴリズムはこの問題を非常にうまく解決できます。その一般的なプロセスは次のとおりです。

0を始点、2^​​32-1を終点として直線を描き、始点と終点を一致させます。直線は円になり、方向は小さい方から大きい方へ時計回りになります。 0 の右側の最初の点は 1、次は 2 というようになります。

3 つのサーバーの IP アドレスまたはその他のキーワードをハッシュし、モジュロ 2^32 をとった後、それらは必然的にこの円のどこかに収まり、Node1、Node2、および Node3 として記録されます。

次に、データ キーに対して同じ操作を実行すると、必然的に円上のどこかに落ちます。その後、時計回りに進むと、このキーが保存されるサーバーである特定のノードを見つけることができます。

サーバーを追加または削除すると、データの一部のみが影響を受けます。

ただし、ノード数が少なすぎたり、分散が不均一だったりすると、データの偏り、つまりほとんどのデータが特定のサーバーに集中する状態が発生しやすくなります。

データの偏りの問題を解決するために、コンシステント ハッシュ アルゴリズムでは、各サービス ノードに対して複数のハッシュを計算し、それらを円上の異なる位置に配置する [仮想ノード] を提案します。

もちろん、一貫性のあるハッシュ アルゴリズムではほとんどのデータの問題を解決できることもわかります。

<<:  今日の人工知能はすでに販売業界に混乱をもたらしている

>>:  サイバーセキュリティにおける人工知能の役割と6つの製品オプション

推薦する

人工知能がボトルネックに到達しました!学者らが「共同で」ディープラーニングに反対し、AIの今後の発展方向を指摘

ディープラーニングにおける現在の技術的なボトルネックに対応して、清華大学の張北氏を含む多くの学者や教...

ヴィーナステックのヤン・ワンジア氏:人工知能を活用した産業用インターネットセキュリティの開発促進に関する提案

1. 問題と原因の分析インダストリアル インターネットは、新世代の情報通信技術と高度な製造技術の深い...

OpenAI は PyTorch、TensorFlow を全面的に採用していますが、なぜそれほど優れていないのでしょうか?

TensorFlow と PyTorch フレームワーク間の戦いは長い間続いています。最近のニュー...

人工知能と機械学習がビジネスに及ぼす影響

[[400670]]人工知能と機械学習が今日のテクノロジー業界のあらゆる部分に影響を与えていることは...

教科書では学べない機械学習に関する12の「民間伝承」

[[264978]]ビッグデータダイジェスト制作出典: towardml編纂者:劉嘉偉、王元元、ウ...

...

5G+ロボットが炭鉱のインテリジェント開発を加速します!

最近、山西省太原でインテリジェント炭鉱・安全生産フォーラムが盛大に開催され、炭鉱のインテリジェント建...

AI医薬品製造はここにあります!新薬開発は「10年間の努力」に別れを告げるかもしれない

[[385336]] AI顔認識技術は人気歌手のコンサートから逃亡した犯人を捕まえるのに役立ち、AI...

感情 AI はデジタルヘルスケアの未来となるでしょうか?

進化するヘルスケアとテクノロジーの世界では、「感情 AI」と呼ばれる画期的なイノベーションが変化の兆...

...

ByteDanceは、従来の4倍の速度を誇る高性能トレーニングおよび推論エンジンLightSeqを発表した。

Transformer モデルは、Google チームが 2017 年に発表した論文「Attent...

2018 年の人工知能に関する 10 冊の良書のまとめ

いろいろ検索してみたところ、インターネット上にはまだ人工知能に関する本のリストがないので、自分で作っ...

人工知能、機械学習、ディープラーニングとは、いったい何なのでしょうか?

近年のホットな言葉といえば、「人工知能」が挙げられます。昨年のChatGPTの人気爆発により、「AI...

ディープラーニングとディープクローニング: チャットボットにとってより優れたソリューションはどちらでしょうか?

[[200112]]編集者注: チャットボットは目新しいものではありません。Facebook や ...

AIは信頼の危機にどう対処するか

今後 10 年間で AI が改善する必要がある領域が 1 つあります。それは透明性です。しかし、人工...