Webと言うよりはデータの分割とうに関する質問です。
データを複数のマシン間で分割することを考えます。
私の読んでいる本に次のような記述があります。
「ハッシュ値が一致するコンピュータにデータを保持していく方法があります。
具体的には次のようにします。
データに関するキーをいくつか選び、ハッシュ値を生成し、ハッシュ値をマシンの台数で割ったあまりを計算し、その値に対応したマシンにデータを保持する。つまりデータは#[mod(hash(key), N)]というマシンに保持されることになります。
この方法の利点はルックアップテーブルが必要ないことです。どのマシンも、データのグループがどのマシンに保持されるかを自分で求めることができるからです。しかし、問題は一つのマシンのデータ量が増えてしまい、最終的には許容量を超えてしまう可能性があるということです。この場合はより良い負荷分散のためにデータを他のマシンに振り分けるか、マシンを木構造のような構成にしてデータを分割する必要があります。」
ハッシュ値の生成に偏りが生じるというわけですが、確率的に考えて不自然に思えます。
ハッシュ値を使うと、そのような偏りは生じないと思うのですが、生じてしまうのでしょうか?
回答お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/09/11 13:55
2016/09/12 09:15
退会済みユーザー
2016/09/12 11:27
2016/09/12 12:25
退会済みユーザー
2016/09/12 13:28