哈希分片之哈希取模法(round robin)

接着上一章數據路由分片抽象模型,本節介紹一種此抽象模型的實現方案-round robin(哈希取模法)

假設有K臺物理機 根據以下方法就可以實現數據分片

H(key) = hash(key)mod K

物理機編號爲0到K-1  根據以上哈希方法 可以把數據分配到每臺機器上,取數據時也是使用相同的方法。


但是如果新增一臺物理機,哈希函數就變成以下形式

H(key)=hash(key)mode(K+1)

之前存儲好的數據和物理機之間的映射關係完全被打亂,所有數據需要重新分配,對於在線存儲系統缺乏靈活擴展性。


對照上節的數據分片路由抽象模型可以看出,哈希取模法是把物理機和數據分片兩個功能合二爲一了,每臺物理機對應一個數據分片,key-patition,partition-machine合爲一體,用用一個hash函數來承擔,這樣就造成了,物理機和hash函數的嚴重耦合,故缺乏靈活擴展性




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章