-
Mycat简介
Mycat 最早的版本完成于2013年年底,实现于雾霾中的北京城。Mycat的前身是 OpencloudDB,后来改名为Mycat,一个原因是简单好记;另一个原因是:Mycat打算进驻apache。
Mycat是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的Server,前端用户可以把它看作是一个数据库代理,用Mysql客户端工具和命令行访问;而后端用户可以用Mysql原生(Native)协议与多个Mysql服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信。
Mycat与Mysql相似,Mysql默认端口:3306;Mycat默认端口:8066
Mycat发展到现在,它的后端可以支持 MySQL、SQL 、Server、Oracle、DB2、PostgreSQL 等主流数据库,也支持 MongoDB这种新型NoSQL方式的存储,未来还会支持更多类型的存储。
-
Mycat工作原理
Mycat工作原理可以用“拦截”一词来形容,它拦截用户发送过来的SQL语句,首先对SQL语句做一些特定的分析:如切片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL语句发送给后端真实的数据库,并将返回的结果做适当的处理,最终再返回给用户。
![](https://img-blog.csdnimg.cn/20200425104441141.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3)