`
vanadiumlin
  • 浏览: 493287 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[原]TDDL、Amoeba、Cobar、MyCAT架构比较

 
阅读更多
布式数据库中间件TDDL、Amoeba、Cobar、MyCAT架构比较分

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

框架比较
TDDL
分布式数据库中间层TDDL

Amoeba
分布式数据库中间件Amoeba

Cobar
分布式数据库中间件Cobar

MyCat
分布式数据库中间件MyCat

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

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

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

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

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

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

后端由BIO改为NIO,并发量有大幅提高
增加了对Order By、Group By、limit等聚合功能的支持(,虽然Cobar也可以支持Order By、Group By、limit语法,但是结果没有进行聚合,只是简单返回给前端,聚合功能还是需要业务系统自己完成)。
目前社区情况:
TDDL处于停滞状态
Amoeba处于停滞状态
Cobar处于停滞状态
MyCAT社区非常活跃
感想:抛开TDDL不说,Amoeba、Cobar、MyCAT这三者的渊源比较深,若Amoeba能继续下去,Cobar就不会出来;若Cobar那批人不是都走光了的话,MyCAT也不会再另起炉灶。所以说,在中国开源的项目很多,但是能坚持下去的非常难,MyCAT社区现在非常活跃,也真是一件蛮难得的事。
其它资料
这个博客把几款产品的资料汇总在一起,倒也省得大家在网上到处搜了。
mysql中间件研究(Atlas,cobar,TDDL,mycat,heisenberg,Oceanus,vitess)
http://songwie.com/articlelist/44

mysql中间件研究(Atlas,cobar,TDDL)
http://www.guokr.com/blog/475765/
分享到:
评论

相关推荐

    数据库读写分离配置Amoeba和Mycat.docx

    amoeba和mycat方式实现 数据库读写分离的详细步骤

    分布式数据库架构及企业实践——基于Mycat中间件

    为了解决传统数据库的分布式化这个技术难题,各种数据库中间件应运而生,从早期的Amoeba、TDDL、Cobar,到如今的Mycat,技术日新月异,发展迅猛。Mycat已经成为了一个强大的开源分布式数据库中间件产品。面对企业...

    MySQL分布式集群之MyCAT权威指南

    MyCAT的前身,是阿里巴巴于2012年6月19日,正式对外开源的数据库中间件Cobar,Cobar的前身是早已经开源的Amoeba,不过其作者陈思儒离职去盛大之后,阿里巴巴内部考虑到Amoeba的稳定性、性能和功能支持,以及其他因素...

    Amoeba搞定mysql主从读写分离

    Amoeba搞定mysql主从读写分离

    amoeba-mysql-binary-2.2.0.tar.gz

    amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gzamoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz ...

    amoeba集群文档+Amoeba使用指南pdf+mysql主从同步

    amoeba集群文档+Amoeba使用指南pdf+mysql主从同步,看了包会,不会联系我,在线给你支持

    amoeba 详细配置文档

    本文档详细讲解了amoeba的配置及应用,来源于amoeba的官方论坛

    windows平台用amoeba实现读写分离

    这个软件基于Java致力于MySQL的分布式数据库前端代理层,处于在应用和数据库之间,对客户端透明,它主要... 通过Amoeba能够完成多数据源的高可用、负载均衡、数据切片的功能,目前Amoeba已在很多企业的生产线上面使用。

    Amoeba使用指南 20110928 pdf

    Amoeba使用指南 20110928 pdf

    Amoeba(amoeba-mysql-3.0.5-RC-distribution.zip)

    Amoeba实现了集中响应请求,依据事先设置的规则,将SQL请求发送到特定数据库上执行。可以实现数据库负载均衡、读写分离、高可用性等功能。 amoeba-mysql.zip压缩包内容: amoeba-mysql-3.0.5-RC-distribution.zip ...

    amoeba-mysql-binary

    amoeba-mysql-binary-2.1.0-RC5.tar.gz

    amoeba.pdf

    介绍Amoeba Amoeba在分布式数据库领域将致力解决数据切分,应付客户端“集中式”处理分布式数据

    amoeba-aladdin-binary

    amoeba aladdin for mssql 驱动程式

    amoeba-mysql-3.0.5-RC.tar.gz

    amoeba-mysql-3.0.5-RC.tar.gz数据库读写分离,linux版本

    Amoeba for mysql

    Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性...

    Amoeba mysq代理

    Amoeba mysq服务器,已经配置好了读写分离示例

    MySQL搭建Amoeba_读写分离.docx

    MySQL搭建Amoeba_读写分离.docx

    amoeba 读写分离 配置说明

    通过配置数据库链接池、虚拟服务器,实现读取的负载...需安装java SE 1.6并配置环境变量(Amoeba框架是基于Java SE1.5开发的,建议使用Java SE 1.5版本。 目前Amoeba经验证在JavaTM SE 1.5和Java SE 1.6能正常运行。

    amoeba[1]分布式数据库解决方案.pdf

    amoeba[1]分布式数据库解决方案.pdfamoeba[1]分布式数据库解决方案.pdf

    amoeba-n.zip

    amoeba和jdk安装包。以实现mysql集群的读写分离,提高存取效率。 amoeba和jdk安装包。以实现mysql集群的读写分离,提高存取效率。

Global site tag (gtag.js) - Google Analytics