0x01:水平分库
以表的主键字段为依据,按照一定策略(取模,hash等),将本来在一个库中的数据拆分到多个库中。
- 每个库的表结构都一模一样;
- 每个库的数据都不一样,没有任何交集;
- 所有库的表的数据的并集才是全量数据;
0x02:水平分表
以表的主键字段为依据,按照一定策略(取模,hash等),将本来在一个表中的数据拆分到多个表中。
- 拆分的表的结构都一样;
- 拆分的表数据都不一样,没有交集;
- 拆分的所有表的所有数据并集才是全量数据;
0x03:垂直分库
以表为单位依据,按照业务归属不同,将不同业务的表拆分到不同的库中。
- 每个库的结构都不一样;
- 每个库的数据也不一样,没有交集;
- 所有库的数据的并集才是全量数据;
0x04:垂直分表
以字段为依据,按照字段的使用情况(常用和不常用),将表中字段拆到不同的表,主要分为主表和扩展表。
- 每个表的结构都不一样;
- 每个表的数据也不一样,一般来说,主表和扩展表的字段至少有一列交集,一般是主键,用于主表和扩展表关联;
- 所有表的数据的并集是全量数据;