Mycat---入门概述(一)

快来打我* 2021-09-23 18:04 488阅读 0赞

Mycat是什么?

1、数据库中间件

官网:http://www.mycat.io/
中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟通。
例子:Tomcat,web中间件。
数据库中间件:连接java应用程序和数据库

2、为什么要用Mycat?

①Java与数据库紧耦合。
②高访问量高并发对数据库的压力。
③读写请求数据不一致

3、数据库中间件对比
在这里插入图片描述
①Cobar属于阿里B2B事业群,始于2008年,在阿里服役3年多,接管3000+个MySQL数据库的schema,集群日处理在线SQL请求50亿次以上。由于Cobar发起人的离职,Cobar停止维护。

②Mycat是开源社区在阿里cobar基础上进行二次开发,解决了cobar存在的问题,并且加入了许多新的功能在其中。青出于蓝而胜于蓝。

③OneProxy基于MySQL官方的proxy思想利用c进行开发的,OneProxy是一款商业收费的中间件。舍弃了一些功能,专注在性能和稳定性上。

④kingshard由小团队用go语言开发,还需要发展,需要不断完善。

⑤Vitess是Youtube生产在使用,架构很复杂。不支持MySQL原生协议,使用需要大量改造成本。

⑥Atlas是360团队基于mysql proxy改写,功能还需完善,高并发下不稳定。

⑦MaxScale是mariadb(MySQL原作者维护的一个版本)研发的中间件

⑧MySQLRoute是MySQL官方Oracle公司发布的中间件

能干什么?

1、读写分离
在这里插入图片描述

2、数据分片
垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分(分库分表)
在这里插入图片描述
3、多数据源整合
在这里插入图片描述

原理

Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的SQL语句,首先对SQL 语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。
在这里插入图片描述
这种方式把数据库的分布式从代码中解耦出来,程序员察觉不出来后台使用Mycat还是MySQL。

发表评论

表情:
评论列表 (有 0 条评论,488人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Mycat入门

    MyCat介绍 MyCat,这个是基于阿里巴巴的Cobar方案优化而来,支持半自动化分片、join。数据库是对底层存储文件的抽象,而Mycat是对数据库的抽象。MyCat

    相关 mycat入门

    安装 [github下载连接][github] 解压 修改jdk路径(/conf/wrapper.conf),如果系统环境已经配置了jdk就不用改 ![在这里插入

    相关 Mycat 概述

    是什么 是一种数据库中间件。中间件是一种连接软件组件和应用的计算机软件,便于软件各部分的沟通与解耦。比如 Tomcat 就是一种 web 中间件。 使用数据库中间件的原

    相关 Mycat概述

    目录 1、功能介绍 2、原理 3、应用场景 4、Mycat 中的概念 4.1 数据库中间件 4.2 逻辑库(schema) 4.3 逻辑表 4.3.1 逻辑表

    相关 MyCat——概述

    MyCat是什么 MyCat是数据库中间件。 1. 数据库中间件: 中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部分之间的沟通。 例子:Tomca