目录
一、为什么需要分库分表
生产环境中,随着业务数据量的不断增长,尤其是核心业务数据库和表的数据量达到一定量级的时候,查询性能的瓶颈就会暴露出来,不管是mysql还是其他数据库。如果不对数据库或表进行分库分表,通常可以引入其他的存储,比如es,mongodb,数据量较小的情况下,甚至可以考虑redis等。
在行业规约中,通常来说,单表数据量达到500万时就需要考虑进行分库分表了,当然,提升查询性能的方案,分库分表不是必须的,但是如果系统架构本身不是很复杂的话,与其引入一门新的存储介质,分库分表不失为一种相对简单且容易操作的方案。
1.1 分库分表的优势
理论上讲,分库分表主要用于解决查询的性能问题,使用分库分表之后,可以带来如下好处:
- 分表之后,单表数据量降低,查询性能有一定提升;
- 分表之后,可以合理的对冷热数据进行区分和处理;
- 分表之后,可以使得关键业务字