目录
Mycat是什么?
MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。
MyCat发展到目前的版本,已经不是一个单纯的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL等主流数据库,也支持MongoDB这种新型NoSQL方式的存储,未来还会支持更多类型的存储。而在最终用户看来,无论是那种存储方式,在MyCat里,都是一个传统的数据库表,支持标准的SQL语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度。
我们的应用只需要一台数据库服务器的时候我们并不需要Mycat,而如果你需要分库甚至分表,这时候应用要面对很多个数据库的时候,这个时候就需要对数据库层做一个抽象,来管理这些数据库,而最上面的应用只需要面对一个数据库层的抽象或者说数据库中间件就好了,这就是Mycat的核心作用。
Mycat原理
Mycat的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。
上述图片里,应用程序不再直接访问数据库,而是访问Mycat,由Mycat与数据库交互,数据库数据返回给Mycat,Mycat再返回给应用程序。三个Database才是真正的数据库,又称为三个节点,也称为三个分片。
Mycat学习教程
动力节点的Mycat实战教程,将全面讲解mycat,手把手带你了解mycat,学会使用mycat
Mycat实战入门视频教程
https://www.bilibili.com/video/BV1gK4y1b7iU
Mycat教程配套资料下载
?toutiao
课程学习目录
1.MyCat视频教程:背景
2.MyCat视频教程:MyCat介绍
3.MyCat视频教程:能做什么-读写分离
4.MyCat视频教程:能做什么-水平拆分
5.MyCat视频教程:能做什么-垂直拆分
6.MyCat视频教程:安装MyCat
7.MyCat视频教程:配置文件解读-server文件
8.MyCat视频教程:配置文件解读-schema
9.MyCat视频教程:读写分离配置
10.MyCat视频教程:读写分离测试
11.MyCat视频教程:Java代码链接MyCat
12.MyCat视频教程:水平拆分
13.MyCat视频教程:水平拆分测试
14.MyCat视频教程:垂直拆分
15.MyCat视频教程:主键生成策略
16.MyCat视频教程:总结