articleList

06-海量数据处理之Mysql数据库【垂直分库】

2025/03/13 posted in  ShardingJDBC
Tags: 

  • 需求:C端项目里面,单个数据库的CPU、内存长期处于90%+的利用率,数据库连接经常不够,需要进行优化
  • 垂直分库讲解
    • 垂直分库针对的是一个系统中的不同业务进行拆分, 数据库的连接资源比较宝贵且单机处理能力也有限
    • 没拆分之前全部都是落到单一的库上的,单库处理能力成为瓶颈,还有磁盘空间,内存,tps等限制
    • 拆分之后,避免不同库竞争同一个物理机的CPU、内存、网络IO、磁盘,所以在高并发场景下,垂直分库一定程度上能够突破IO、连接数及单机硬件资源的瓶颈
    • 垂直分库可以更好解决业务层面的耦合,业务清晰,且方便管理和维护
    • 一般从单体项目升级改造为微服务项目,就是垂直分库
      image-20211122115003554
  • 问题:垂直分库分表可以提高并发,但是依然没有解决单表数据量过大的问题