园搬家测试账号 2020-04-26
1、MyCAT介绍
MyCAT是数据库的中间层,可以帮助我们在高并发场景下的分库分表操作,以提升数据库的整体性能。
MyCAT是基于阿里的Cobar开发,每年双11的高并发场景。
对于数据库工程师来说
MyCAT相当于MySQL SERVER层
MySQL相当于MyCAT测存储层
MyCAT中不存储数据,所有数据存储在MySQL中
对于研发人员是来说
MyCAT就是MySQL
MyCAT对于研发人员来说几乎是透明的
MyCAT对使用SQL有一些限制
对于架构师来说
MyCAT是一个数据中间层
MyCAT可以实现对后端数据库的分库分表和读写分离
MyCAT对前端应用隐藏了后端数据库的存储逻辑
2、其它数据库中间层产品
OneProxy
MaxScale
3、MyCAT的主要作用
1) 实现后端数据库的读写分离以对读数据库实行负载均衡
2) 对业务数据库进行垂直切分
3) 对业务数据库进行水平切分
4) 控制数据库连接的数量
MyCAT与其它数据库中间产品的区别:
MySQL是主从(1主1从)架构的时候,当监控到主数据库挂掉后,剔除主数据库。把读操作也转成到了从数据库
4、MyCAT基本元素
1) 逻辑库:
对应用来说相当于MySQL中的数据库
逻辑库可对应后端多个物理数据库
逻辑库中并不保存数据
2) 逻辑表
对应用来说相当于MySQL中的数据库
逻辑表可对应后端多个物理数据库中的表
逻辑表并不保存数据
逻辑表的类别
分片表(相同的表结构)和非分片表是否被分片划分
全局表, 在所有分片中都存在的表
ER关系表,按ER关系进行分片的表