mycat一个重要的作用-分库分表
Mycat原理
原理图
mycat通过拦截,拦截用户发送过来的sql语句,首先对sql语句做了一些特定的分析:如分片分析,路由分析,读写分离分析、缓存分析等,然后将此SQL发送到后端真实的数据库,并处理返回结果,最终返回用户
数据库分布式
Mysql单张表的瓶颈在千万级别以上就可能会影响性能
数据分片
多数据源整合
分库分表
垂直分库、水平分表
- 垂直拆分----分库
一个数据库由很多表组成 每个表对应着不同的业务,垂直切分是按照业务将表进行分类,分布到不同的数据库上面,这样也就把压力分担到不同的库上面
- 水平拆分----分表
相对于垂直拆分,水平拆分不是讲表做分类,而是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据,简单说,我们可以将数据的水平切分理解为是按照数据行的切分,就是将表中的某些行切分到一个数据库,而将表中另外的行切分到其他的数据库