通俗易懂了解一下分库分表的概念

2020-06-15 17:09:26 浏览数 (1)

0x01:水平分库

以表的主键字段为依据,按照一定策略(取模,hash等),将本来在一个库中的数据拆分到多个库中。

  • 每个库的表结构都一模一样;
  • 每个库的数据都不一样,没有任何交集;
  • 所有库的表的数据的并集才是全量数据;

0x02:水平分表

以表的主键字段为依据,按照一定策略(取模,hash等),将本来在一个表中的数据拆分到多个表中。

  • 拆分的表的结构都一样;
  • 拆分的表数据都不一样,没有交集;
  • 拆分的所有表的所有数据并集才是全量数据;

0x03:垂直分库

以表为单位依据,按照业务归属不同,将不同业务的表拆分到不同的库中。

  • 每个库的结构都不一样;
  • 每个库的数据也不一样,没有交集;
  • 所有库的数据的并集才是全量数据;

0x04:垂直分表

以字段为依据,按照字段的使用情况(常用和不常用),将表中字段拆到不同的表,主要分为主表和扩展表。

  • 每个表的结构都不一样;
  • 每个表的数据也不一样,一般来说,主表和扩展表的字段至少有一列交集,一般是主键,用于主表和扩展表关联;
  • 所有表的数据的并集是全量数据;

0 人点赞