前言
对于服务端开发的同学对mysql应该不陌生,尽管mysql5.7之后单表可存放的数据量超过千万都不是问题,但是单表的数据量一旦上去之后,带来的一个很明显的问题就是,在应用端,接口响应将会边长;
虽然可以通过索引来解决一部分查询性能问题,但数据量继续增长的话,单表的查询性能始终是一个绕不开的问题;
如何解决mysql查询性能的问题是困扰很多DBA或服务端开发的现状,从源头来看,最根本的还是要减少单表的数据量过大的问题;
于是行业中就出现了“分库分表”的解方案,这里就不再过多展开了,有兴趣的同学可以查阅相关资料;
常用的分库分表的形式,主要是两种:垂直拆分和水平拆分。
分库分表策略简述
一、垂直拆分
1、垂直分库
- 以表为依据,根据业务将原本单库中的多个表拆分到不同库下面去;
2、垂直分库特点
- 每个库的表结构都不一样;
- 每个库的数据也不一样;
- 所有库的并集是全量数据;
3、垂直分表