🇨🇳
Site
  • 壹棵开花的树
  • 操作系统
    • Linux From Scratch
    • Linux
      • Linux内核
      • Untitled
      • Untitled
    • Winodws
      • 全家桶
  • 系统集成
    • Untitled
    • 系统集成
    • 机房建设
      • 服务器
      • Untitled
    • 弱电系统
    • 网络
      • 路由器
      • 交换机
      • 无线网络
      • 网络安全
      • TCP/IP
        • 1. 物理层
        • 2. 数据链路层
        • 3. 网络层
        • 4. 传输层
        • 5. 会话层
        • 6. 表示层
        • 7. 应用层
    • 数据中心
    • 信息安全
  • 网络
    • Untitled
    • Untitled
    • 协议
      • Untitled
      • Untitled
      • HTTP
  • DataBase
    • 关系型数据库
      • Access
      • MariaDB
      • MySQL
        • 数据库存储引擎
        • Untitled
        • MySQL Replication
        • 高可用架构
        • 数据库中间件
          • MyCAT
      • Oracle
      • PostgreSQL
      • SQL Server
    • NoSQL
      • Untitled
      • Untitled
      • Untitled
      • tu
      • lie
      • wendang
        • MongoDB
      • kv
        • Redis
    • 云数据库
  • 安全
    • Untitled
  • 消息队列
    • Untitled
    • ActiveMQ
      • Untitled
    • RabbitMQ
      • Untitled
    • RocketMQ
      • Untitled
    • Kafka
      • Untitled
  • 大数据
    • Untitled
      • 大数据概述
    • Hadoop 生态系统
      • Hadoop
        • HDFS常用Shell命令和基础开发
        • Untitled
        • Untitled
        • MapReduce
        • Yarn
        • Hadoop的优化与发展
      • ZooKeeper
        • Untitled
        • Untitled
        • Untitled
      • Hbase
        • HBase常用Shell命令和基础开发
      • Sqoop
      • Flume
      • Pig
      • Hive
      • Impala
      • Storm(流计算)
      • Pregel(图计算)
      • Loader
      • Flume
    • Spark生态系统
      • Untitled
    • Flink
    • BI
  • 云计算
    • 云计算
      • 技术栈
      • OpenStack
    • 虚拟化
      • 服务器虚拟化
        • Untitled
        • Proxmox VE
        • VMware
        • KVM
        • Hyper-V
        • H3C CAS
        • FusionCloud
        • FusionSphere
          • 安装
  • Cloud Native
    • DevOps
      • 版本控制
      • Untitled
      • Untitled
      • Untitled
      • CI/CD
        • Jenkins
    • Untitled
    • Microservices
      • Dubbo
      • Spring Cloud
        • 最佳实践
        • Untitled
    • Service Mesh
      • Istio
    • 容器
      • Untitled
      • Docker
        • Docker
        • Untitled
    • Kubernetes
  • 网站架构
    • Untitled
    • 集群
      • 负载均衡
      • HA
    • 关于
    • 一次完整的HTTP请求过程
    • 全文搜索引擎
      • Lucene
      • Solr
      • ElasticSearch
        • 安装配置
      • Untitled
    • HTTP Cache
    • 大型网站架构
    • 网站服务器
      • WEB服务器
        • Nginx
        • Apache
        • nginx
        • IIS
      • 应用服务器
        • Weblogic
        • Tomcat
        • Jboss
  • BlockChain
    • Untitled
  • 编程语言
    • 前端
    • Python
      • Tornado
      • Django
        • 最佳实践
        • Untitled
        • manage.py
    • Go
    • Java
      • Untitled
      • 关于Java
  • Test
    • 0. 测试
      • 软件测试
      • 测试分类
      • 测试模型
    • 1. 性能测试
      • 基础
    • 2. 接口测试
      • Untitled
      • 接口测试
      • Postman
    • 3. 自动化测试
      • Python测试驱动开发
      • Python测试框架
        • Unitest
          • 最佳实践
    • 4. 测试工具
      • Selenium
      • LoadRunner
      • JMeter
    • 5. 最佳实践
  • 开发与运维
    • 软件开发模式
    • 敏捷开发
  • 存储
    • Untitled
    • 分布式存储
      • Ceph
      • MinIO
      • FusionStorage
  • 关于
    • 认证
    • 知识管理
      • Hugo
      • Gitbook
    • 企业组织架构
    • 文本格式
      • JSON
      • YAML
      • XML
    • API
由 GitBook 提供支持
在本页
  • Atlas
  • Cobar
  • TDDL
  • MyCAT
  • 框架比较
  • TDDL
  • Amoeba
  • Cobar
  • MyCat
  • 点评
  • 其它资料

这有帮助吗?

  1. DataBase
  2. 关系型数据库
  3. MySQL

数据库中间件

上一页高可用架构下一页MyCAT

最后更新于5年前

这有帮助吗?

mysql中间件研究( Atlas,cobar,TDDL,mycat,heisenberg,Oceanus,vitess,OneProxy )

Atlas

Cobar

TDDL

MyCAT

框架比较

TDDL

Amoeba

Cobar

MyCat

点评

  1. TDDL不同于其它几款产品,并非独立的中间件,只能算作中间层,是以Jar包方式提供给应用调用。属于JDBC Shard的思想,网上也有很多其它类似产品。

  2. Amoeba是作为一个真正的独立中间件提供服务,即应用去连接Amoeba操作MySQL集群,就像操作单个MySQL一样。从架构中可以看来,Amoeba算中间件中的早期产品,后端还在使用JDBC Driver。

  3. Cobar是在Amoeba基础上进化的版本,一个显著变化是把后端JDBC Driver改为原生的MySQL通信协议层。

  4. MyCat又是在Cobar基础上发展的版本,两个显著点是:

    1. 后端由BIO改为NIO,并发量有大幅提高

    2. 增加了对Order By、Group By、limit等聚合功能的支持(,虽然Cobar也可以支持Order By、Group By、limit语法,但是结果没有进行聚合,只是简单返回给前端,聚合功能还是需要业务系统自己完成)。

  5. 目前社区情况:

    1. TDDL处于停滞状态

    2. Amoeba处于停滞状态

    3. Cobar处于停滞状态

    4. MyCAT社区非常活跃

  6. 感想:抛开TDDL不说,Amoeba、Cobar、MyCAT这三者的渊源比较深,若Amoeba能继续下去,Cobar就不会出来;若Cobar那批人不是都走光了的话,MyCAT也不会再另起炉灶。所以说,在中国开源的项目很多,但是能坚持下去的非常难,MyCAT社区现在非常活跃,也真是一件蛮难得的事。

其它资料

比较了业界流行的分布式数据库中间件,关于每个产品的介绍,网上的资料比较多,本文只是对几款产品的架构进行比较,从中可以看出中间件发展和演进路线

分布式数据库中间层TDDL
分布式数据库中间件Amoeba
分布式数据库中间件Cobar
分布式数据库中间件MyCat

另外,网上有关于TDDL的图,如 中的图 1-2 TDDL 所处领域模型定位,把TDDL画在JDBC下层了,这个是不对的,正确的位置是TDDL夹在业务层和JDBC中间

后端去掉JDBC Driver后,意味着不再支持JDBC规范,不能支持、PostgreSQL等数据。但使用原生通信协议代替JDBC Driver,后端的功能增加了很多想象力,比如主备切换、读写分离、异步操作等。

这个博客把几款产品的资料汇总在一起,倒也省得大家在网上到处搜了。 mysql中间件研究(Atlas,cobar,TDDL,mycat,heisenberg,Oceanus,vitess)

mysql中间件研究(Atlas,cobar,TDDL)

MySQL
http://www.tuicool.com/articles/nmeuu2
Oracle
http://songwie.com/articlelist/44
http://www.guokr.com/blog/475765/
TDDL、Amoeba、Cobar、MyCAT架构比较_mycat tddl-CSDN博客
Logo