MySQL分库分表浅谈
一、分库分表类型
1、单库单表
所有数据都放在一个库,一张表。
2、单库多表
数据在一个库,单表水平切分多张表。
3、多库多表
数据库水平切分,表也水平切分。
二、分库分表查询
通过分库分表规则查找到对应的表和库的过程:
如分库分表的规则是acc_id mod 4的方式,当用户新注册了一个账号,账号id的123,我们可以通过acc_id mod 4的方式确定此账号应该保存到Acc_0003表中。当用户123登录的时候,我们通过123 mod 4后确定记录在Acc_0003中。
三、分库分表的问题
分库分表需要按不同维度记录数据,否则无法满足业务场景不同维度的查询。
四、分库分表策略
1、按时间分表;
2、分主表和详细信息表;
3、按数据区间分表;
4、取模映射;
5、一致性Hash分表;
6、二叉树分表。