什么是mycat和mycat的作用

 原创   
营养快线送你 2021-08-25 学习笔记
0 0 0 337

mycat是数据库中间件,基于cobar(阿里用的)进行二次开发,cobar目前已停止维护,mycat功能更强大,开源社区在维护


为什么要用mycat?

和nginx类似进行负载均衡,mycat内部会划分主从进行解决读写一致问题


mycat干什么的?

1.读写分离

2.数据分库

a.数据库表太多,进行分库,哪些表存哪个数据库,这是垂直拆分,和微服务业务模块拆分一样

b.表太大,超过千万数据量(这个数据量有待商榷)mysql性能不好,可以进行分表,这是水平拆分。

备注:分库分表是在其他机器上搭建mysql服务吗?

这要看性能瓶颈是软件带来的还是硬件带来的。假如查询速度慢,查看服务器的cpu和io性能,服务器性能才达到40%,这就是软件瓶颈,可以在此服务器上再搭建一个mysql。如果服务器性能经常接近满负荷,这就有可能是硬件瓶颈了,起码这台机器上不能搭建了。

3.可以多数据源整合


mycat的原理

mycat原理中最重要的一个动作就是拦截,它拦截了用户发送过来的SQL,首先对SQL语句做一些特定的分析,如分片分析、路由分析、读写分析、缓存分析等。然后将SQL发往后端的真实数据库,并将结果做适当的处理,最终返回给用户。


学习mycat实战应用笔记:https://b23.tv/V3zlAs