最近分表的一点感想

1. 都是基于散列算法分表,有两种不同的方法,

 一种取模法,但是取模也是先预估100张,也可以先用10张,10张表相当于0, 9,19, 29等,如果模下来的在5就寻址到值为9的那张表,这样即使加入新的10张表也只要迁移部分数据。

二种一致性hash,按100张表为例,每个物理节点增加10个虚拟节点。不要舍不得增加虚拟节点,直到算出来的节点比较平均就可以了。

2. 数据不要舍不得冗余

内容表本身按照ID分,跟用户相关比如收藏,喜欢,转发,发布等都是按照UID分。列表显示的数据都需要冗余。列表显示的数据要尽量控制住。

3. 根据id分表不是万能的。有时候需要根据其他字段来分,比如时间。

4. 业务数据量不需要分表的不要乱分,比如可以通过回收的策略清理数据的。

猜你喜欢

转载自ldd600.iteye.com/blog/1561366