分库分表实战及中间件之Mycat实战
一、 Mycat 简介
Mycat
是一个实现了 MySQL
协议的 Server
,前端用户可以把它看作是一个数据库代理,用 MySQL
客 户端工具和命令行访问,而其后端可以用 MySQL
原生协议或JDBC
协议与多个 MySQL
服务器通信, 其核心功能是分库分表
和读写分离
,即将一个大表水平分割为 N
个小表,存储在后端 MySQL
服务器里 或者其他数据库里。
-
对于 DBA 来说,可以这么理解 Mycat
Mycat 就是 MySQL Server,但是Mycat 本身并不存储数据,数据是在后端的 MySQL 上存储的, 因此数据可靠性以及事务等都是 MySQL 保证的。简单的说,Mycat 就是 MySQL 最佳伴侣。 -
对于软件工程师来说,可以这么理解 Mycat
Mycat 就是一个近似等于 MySQL 的数据库服务器,你可以用连接 MySQL 的方式去连接 Mycat(除了端 口不同,默认的 Mycat 端口是 8066 而非 MySQL 的 3306,因此需要在连接字符 串上增加端口信息),大多数 情况下,可以用你熟悉的对象映射框架使用 Mycat,但建议对于分 片表,尽量使用基础的 SQL 语句,因为这样能 达