hash去模跟随机分布的优缺点

一般在遇到大数据量的情况下,自然而然的会想到分库分表,而在分库分表的时候大部分会想到hash取模,去模方式缺点跟优点一样明显。

hash去模跟随机分布的优缺点

 

为了改变hash取模扩容的不方便性,我选择了随机去存数据, 随机存数据有2个问题需要解决

1. 随机算法,插入的数据一定要尽量平均

2.插入以后查询怎么办, 插入的ID,业务自己生产,在随机到库表以后,在ID里带入库表的定位标志,这样查询的时候才能找到库表。

这样对写的问题就解决了

 

然后再增加机器的时候,数据怎么进行分配。这就用到了目录改权重的问题

1.在新加机器以后,在目录里增加这台机器,并加大插入权重,这样就会有多点的数据进入到这台机器。等数据数据慢慢平均以后,可以再改小这个权重

2.再一台机器容量快满的时候,也可以改小这个权重,这样插入的数据就会减少

 

再关于数据热点的问题

一般扩容不会只增加一台机器,要么增加50%,要么翻倍,而且老的机器也在提高写的服务的,这样就能尽量的减少数据的热点问题

 

当然这个策略需要很好的规化DB的容量,在容量到40-50%就开始扩容,就能很好的避免,导数据的问题。

 

你可能感兴趣的:(算法)