日期:2014-05-16 浏览次数:20428 次
1. 都是基于散列算法分表,有两种不同的方法,
?一种取模法,但是取模也是先预估100张,也可以先用10张,10张表相当于0, 9,19, 29等,如果模下来的在5就寻址到值为9的那张表,这样即使加入新的10张表也只要迁移部分数据。
?
二种一致性hash,按100张表为例,每个物理节点增加10个虚拟节点。不要舍不得增加虚拟节点,直到算出来的节点比较平均就可以了。
?
2. 数据不要舍不得冗余
?
内容表本身按照ID分,跟用户相关比如收藏,喜欢,转发,发布等都是按照UID分。列表显示的数据都需要冗余。列表显示的数据要尽量控制住。
?
3. 根据id分表不是万能的。有时候需要根据其他字段来分,比如时间。
?
4. 业务数据量不需要分表的不要乱分,比如可以通过回收的策略清理数据的。