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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 快速学习 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 的提取,从而简化应用程序的操作。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 Oracle 前端开发
MyCat-简介-MyCat 的使用场合及下载 | 学习笔记
快速学习 MyCat-简介-MyCat 的使用场合及下载
MyCat-简介-MyCat 的使用场合及下载 | 学习笔记
|
4月前
|
SQL 中间件 关系型数据库
MyCAT数据库中间件的架构与使用方法
MyCAT数据库中间件的架构与使用方法
|
6月前
|
SQL 缓存 关系型数据库
【Mycat】mycat综述(附安装配置)
【Mycat】mycat综述(附安装配置)
445 0
|
SQL 存储 关系型数据库
04MyCat - MyCat概述
04MyCat - MyCat概述
107 0
|
存储 NoSQL 安全
MyCat-简介-MyCat 引入 | 学习笔记
快速学习 MyCat-简介-MyCat 引入
MyCat-简介-MyCat 引入 | 学习笔记
|
关系型数据库 MySQL 中间件
MyCat-入门-分片测试-访问 MyCat | 学习笔记
快速学习 MyCat-入门-分片测试-访问 MyCat
MyCat-入门-分片测试-访问 MyCat | 学习笔记
|
缓存 负载均衡 监控
MyCat-案例概述 | 学习笔记
快速学习 MyCat-案例概述
MyCat-案例概述 | 学习笔记
|
存储 SQL 算法
MyCat - 分片 - MyCat 环境搭建 | 学习笔记
快速学习 MyCat - 分片 - MyCat 环境搭建
MyCat - 分片 - MyCat 环境搭建 | 学习笔记
|
Oracle 网络协议 关系型数据库
MyCat-架构剖析-MySQL 协议简介 | 学习笔记
快速学习 MyCat-架构剖析-MySQL 协议简介
MyCat-架构剖析-MySQL 协议简介 | 学习笔记
|
SQL 存储 分布式计算
MyCat:第三章:Mycat概述
MyCat:第三章:Mycat概述
295 0