一、项目背景

新到一家公司,项目上线了一个月,有三张数据表以每天600W-1000W的速度在增长,通过count(*)查看到系统运行不到一个月,单表的数据量就已经1.7亿了,mysql是单机8核32G的,系统做了主从复制和读写分离,但是查询的效率还是很慢很慢,时不时还会查询超时,并且通过分析发现,表索引都已经超过32G,单机的主从mysql已经无法再支撑系统运转下去了。
此时临危受命,要对系统进行升级优化。

项目已经完成上线了,方案不宜激进,只能在自己熟悉的范围里进行优化,经过考量,觉得采用sharding-jdbc进行分组+分库+分表+主从复制+读写分离的方案是比较合适的。

二、开始着手设计优化方案

1、垂直分库

2、水平分组+分库+分表