本文目录
本文导读
掌握MyCAT的基本概念,MyCAT的应用场景和优缺点,掌握MyCAT安装和启动。
一、MyCAT入门
MyCAT是Java语言编写的MySQL数据库网络协议的开源中间件。
MyCAT 相当于MySQL SERVER层,MySQL就相当于MyCAT的存储层。MyCAT不存储数据所有数据都存储在MySQL中。我们可以理解MyCAT是MySQL。MyCAT对开发人员是透明的。MyCAT对使用的SQL有一些限制。
二、MyCAT作为数据库中间层
MyCAT是一个数据库中间层位于前端应用与后端数据库中间,可以为后端数据库实现数据库分库分表和读写分离,MyCAT为应用程序隐藏后端数据库的存储逻辑 。
三、MyCAT实现读写分离和负载均衡
MyCat 可以实现数据库负载均衡/读写分离,搭建之前保证数据库的数据一致,将两个主机互为主从,互相实现挂载,主即从。
MyCat 主从配置步骤:
1、编辑主数据库的配置文件以打开二进制日志并检查是否已启用
2、编辑从库配置(server-id 值不同,其他操作一致)
3、主从数据库挂载(如果需要数据库的主从同步,则应从从数据库安装到主数据库)
四、MyCAT对数据库进行垂直/水平切分
逻辑库:对于应用程序相当于MySQL中的数据库。逻辑库可以对应于后端的多个物理数据库,而无需保存数据(订单库、商品库……)
逻辑表:对于应用程序相当于MySQL中的数据表。逻辑表可以对应于后端多个物理数据库中的表,也不保存数据(商品、商品、配送信息表……)
五、MyCAT优点
高性能:支持并行拉取结果集、支持自动调动后端结果集、支持多种路由注释、优化器注释
优化:对请求的sql进行参数化、缓存物理执行计划、相同参数化sql的请求、将免去一些分析优化过程
优化查询计划:定制Calcite分布式查询引擎、编译SQL到关系代数表达式、规则优化引擎和代价优化引擎、生成物理执行计划、支持逻辑视图
支持定制任意多字段路由:提供分片算法接口、优化器简化过滤条件、分片信息与关系表达式结合生成执行sql
SQL支持语法:任意跨库跨表join查询、支持跨库跨表非关联子查询、支持跨库跨表关联子查询、支持跨库跨表Window语法、支持全局二级索引、有限支持存储过程、支持可视化配置
支持原生协议:前端协议MySQL网络通信协议、MySQL原生网络协议异步非阻塞、JDBC接口支持多种数据库、生成物理执行计划
六、MyCAT安装
MyCAT的安装步骤
1、下载并解压MYCAT(官网 mycat.org.cn/)
2、安装JAVA运行环境(JDK1.7及以上)
3、新建mycat运行系统账号
4、配置系统环境变量
5、修改mycat启动参数
总结
掌握MyCAT的基本概念,MyCAT的应用场景和优缺点,掌握MyCAT安装和启动。