MySQL分库分表浅谈

时间:2022-08-31 00:29:29

一、分库分表类型

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、二叉树分表。