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

【哈希分片之哈希取模法(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函数的严重耦合,故缺乏灵活扩展性


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




    推荐阅读