MyCat-简介-MyCat 历史 | 学习笔记

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 快速学习 MyCat-简介-MyCat 历史

开发者学堂课程【全面讲解开源数据库中间件MyCat使用及原理(一):MyCat-简介-MyCat 历史】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/755/detail/13237


MyCat-简介-MyCat 历史

一、MyCat 的历史

1、 Mycat 前身是阿里曾经开源的知名产品— Cobar,Cobar 的核心功能和优势是 MysqL 数据库分片,此产品曾经广为流传,据说最早的发起者对 Mysql 比较精通,后来从阿里跳槽,阿里随后开源的Cobar ,并维持到2013年年初。 Cobar 的思路和实现路径的确不错。基于 Java 开发的,实现了 MySQL 公开的二进制传输协议,巧妙地将自己伪装成一个 MySQT Server,连接的目前市面上绝大多数 MysL 客户端工具和应用都能兼容。比自己实现一个新的数据库协议要明智的多,因为生态环境在哪里摆着。应用程序连接 Cobar 与连接 Mysql 一致,数据库的驱动、连接的字物块及操作的语句都不需要改变,而 Cobar 只是一个中间件,最终进行数据的查询和插入都需要用到 Mysql 。

2、Mycat 是基于 cobar 演变而来,相对于 cobar 来说,有两个显著优势:

(1)对 cobar 的代码进行了彻底的重构,Mycat 在 I/O 方面进行了重大改进,将原来的 BIO 改成了NIO,并发量有大幅提高,同时访问性能也大大增加。

(2)增加了对 order By、Group By、Limit 等聚合功能的支持,同时兼容绝大多数数据库成为通用的数据库中间件。

// 早期的 cobar 也支持 order By、Group By、Limit 等,但没有聚合功能,Mycat 对这一功能进行了增强。总结来说,Mycat 的两个优势为:性能提高、功能增强。故 Mycat 在市面上用的比较多,是一个比较通用的数据库中间件。

3、简单的说, MyCAT 就是一个新颖的数据库中间件产品支持mysql 或者 mariadb cluster 的集群,mariadb cluster 可以看作 mysql 的一个分支,这两个数据库的驱动及具体操作基本一致,提供高可用性数据分片集群。可以像使用mysql 一样使用 mycat 。对于开发人员来说根本感觉不到 mycat 的存在。

4、应用程序原来是直接操作 mysql 数据库来进行相关的增删检查,但是 mysql 在这一部分存在互容的问题,单排的容量是有限的,假如数据量逐渐增长,由于考虑到 mysql 的互容,所以需要搭建 mysql 的提取,则数据库中间件出现可以解决这一问题。

image.png

// 应用程序直接操作数据库的中间件,由 mycat 将请求路由至节点主机所部署的 mysql ,分片 1-6 分别对应 6 个数据库,而其中存储的内容各不相同,如此就完成了横向互容,且 mysql 集群的存储能力增加,但是对于操作来说,并不关心 6 个数据库是如何操作的(数据库的插入和查询),而是学会操作 Mycat 的部分,因为数据库的插入和查询都是由 Mycat 来控制操作的。故 Mycat 的出现解决了这些问题,并且可以支持 mysql 的提取,从而简化应用程序的操作。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
hutool验证是否为中文字、英文字母、数字和下划线
hutool验证是否为中文字、英文字母、数字和下划线
|
6月前
|
Prometheus 运维 监控
从一次告警延迟说起:Prometheus scrape_interval配置的隐藏陷阱
从一次告警延迟说起:Prometheus scrape_interval配置的隐藏陷阱
546 116
|
11月前
|
SQL 监控 关系型数据库
MySQL慢查询攻略
本文详细介绍了MySQL慢查询优化的全流程,从定位性能瓶颈到具体优化策略,再到高级调优与预防监控。首先通过开启慢查询日志和分析工具(如pt-query-digest)找到问题SQL,接着从索引优化(如最左前缀原则、覆盖索引)、SQL语句重构(如避免全表扫描)及EXPLAIN执行计划解析等方面进行核心优化。随后深入参数调优和架构升级,如调整innodb_buffer_pool_size、实施分库分表等。最后,通过实时监控工具(如PMM、Prometheus+Grafana)建立长效机制,并以电商订单查询为例,展示优化前后性能大幅提升的实战效果。
1049 0
|
SQL 算法 Java
(二十六)MySQL分库篇:Sharding-Sphere分库分表框架的保姆级教学!
前面《MySQL主从原理篇》、《MySQL主从实践篇》两章中聊明白了MySQL主备读写分离、多主多写热备等方案,但如果这些高可用架构依旧无法满足业务规模,或业务增长的需要,此时就需要考虑选用分库分表架构。
7815 4
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
2058 12
Threejs制作窗户透亮效果
这篇文章讲解了如何在Three.js中制作窗户的透亮效果,包括设置透明材质和光照以实现逼真的窗户渲染效果的技术细节。
507 1
|
10月前
|
供应链 BI
OA、CRM、ERP,到底有啥区别?
本文深入解析了企业在数字化过程中常见的OA、CRM、ERP三大系统的功能与选型逻辑。OA系统聚焦内部流程与员工管理,适用于考勤、报销等行政事务;CRM专注客户与销售管理,适合需要跟进客户、提升成交率的企业;ERP则侧重企业核心业务,如采购、库存、财务等。文章结合企业不同发展阶段和关注重点,给出了系统的优先级选择建议,帮助企业明确数字化转型的路径。
|
存储 缓存 算法
Flink(十二)【容错机制】(2)
Flink(十二)【容错机制】
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
6214 0
|
Java 中间件 调度
SpringBoot整合XXL-JOB【03】- 执行器的使用
本文介绍了如何将调度中心与项目结合,通过配置“执行器”实现定时任务控制。首先新建SpringBoot项目并引入依赖,接着配置xxl-job相关参数,如调度中心地址、执行器名称等。然后通过Java代码将执行器注册为Spring Bean,并声明测试方法使用`@XxlJob`注解。最后,在调度中心配置并启动定时任务,验证任务是否按预期执行。通过这些步骤,读者可以掌握Xxl-Job的基本使用,专注于业务逻辑的编写而无需关心定时器本身的实现。
4990 10
SpringBoot整合XXL-JOB【03】-  执行器的使用

热门文章

最新文章