? ? ? ? 主要解决两个瓶颈:
- IO瓶颈
- CPU瓶颈
????????
- 垂直分库:将一个数据库的表拆分到不同的数据库中,例如:A库有user表和sku表,将这两个表分别拆分到B库和C库,每个数据库的表和数据都不一样,所有数据库一起组成了整个业务系统的数据。
- 水平分库:将一个数据库的数据拆分后,分别存储到多个数据库,每个数据库的表结构一样,但是存储的数据不一样,例如:A库有1200万数据,将A库数据分为两个600万,分别存储在B库和C库,B库和C库的表结构一样,只是存储的数据不一样,两个库一起组成业务系统全量数据。
- 垂直分表:将字段较多的表拆分为两张字段较少的表,根据字段的逻辑关联拆分,例如:A表12个字段,拆成B表8个字段,C表5个字段,B和C表都带ID字段。
- 水平分表?:将一张表的数据拆分到多张表中存放,减轻单表的压力,每个表的数据结构一样,存放的数据不一样。
?加入MyCat中间件之后,应用程序只需要访问MyCat即可,底层的访问数据库的逻辑,都是由MyCat做的,但是我们需要配置下。