打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
1.Mycat原理解析

一、常见的数据库中间件对比

功能 Sharding-JDBC TDDL Amoeba Cobar MyCat
基于客户端还是服务端 客户端 客户端 服务端 服务端 服务端
分库分表
MySQL交互协议 JDBC Driver JDBC Driver 前端用NIO,后端用JDBC Driver 前端用NIO,后端用BIO 前后端均用NIO
支持的数据库 任意 任意 任意 MySQL 任意

MyCat是社区爱好者在阿里Cobar基础上进行二次开发,解决了cobar当时存 在的一些问题,并且加入了许多新的功能在其中,目前MyCAT社区活跃度很高。

二、架构图

1、Sharding-JDBC

2、TDDL

3、Amoeba

4、Cobar

5、MyCat


总结:

  1. TDDL 不同于其它几款产品,并非独立的中间件,只能算作中间层,是以 Jar 包方式提供给应用调用。属于JDBC Shard 的思想,网上也有很多其它类似产品。
  2. Amoeba 是作为一个真正的独立中间件提供服务,即应用去连接 Amoeba 操作 MySQL 集群,就像操作
    单个 MySQL 一样。从架构中可以看来,Amoeba 算中间件中的早期产品,后端还在使用 JDBC Driver。
  3. Cobar 是在 Amoeba 基础上进化的版本,一个显著变化是把后端 JDBC Driver 改为原生的 MySQL 通信协议层。后端去掉 JDBC Driver 后,意味着不再支持 JDBC 规范,不能支持 Oracle、PostgreSQL 等数据。但使
    用原生通信协议代替 JDBC Driver,后端的功能增加了很多想象力,比如主备切换、读写分离、异步操作等。
  4. MyCat 又是在 Cobar 基础上发展的版本,两个显著点是:
    (1)后端由 BIO 改为 NIO,并发量有大幅提高
    (2)增加了对Order By、Group By、limit 等聚合功能的支持(虽然 Cobar 也可以支持 Order By、Group By、Limit 语法,但是结果没有进行聚合,只是简单返回给前端,聚合功能还是需要业务系统自己完成)。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
[原]TDDL、Amoeba、Cobar、MyCAT架构比较
记录一次经历的数据库从单库到分库分表的过程
这些开源的分库分表中间件,可能会有大用处?
mysql中间件研究(Atlas,cobar,TDDL) | 日志 | 果壳网 科技有意思
开源数据库中间件
基于 MyCat 分布式数据库解决方案的学**汇总
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服