前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL中间件方案盘点

MySQL中间件方案盘点

作者头像
jeanron100
发布2018-03-21 17:19:15
3K0
发布2018-03-21 17:19:15
举报

首先数据库技术发展的基础还是在业务推动的背景下,能够实现相关的技术保障。业务需求的提升必然会在数据量,访问量等方面有更高的要求,而映射到数据库层面就不是简单的扩容和添加资源了,我们有时候更需要弹性,需要快速实现,需要更高的性能。这些都是摆在我们面前的问题,而不仅仅是DBA团队。

所以早期的很多数据库,从一主一从,一主多从的架构,逐步演变到了读写分离,分库分表,然后就是分布式。而同时从很多层面来说,行业内的方案真是百花齐放,记得前几天还和同事聊,说如果对比一下Oracle和MySQL,让我怎么评价,我说单纯评估单机的性能和功能,MySQL要落后很多,但是从成本,技术把控,定制层面来看,MySQL的简单反而成了其中的一个优势,在这个基础上,它有非常多的开源方案,这些让原本MySQL的应用变得非常丰富起来,你说MySQL能不能做企业级方案,你看看BAT的使用场景,还是能够经受住考验的,注意我在此处说的的使用场景,没有一刀切的场景。

回到正题,MySQL的中间件其实有很多,官方的开源的,我们就来简单来说说,行业里还有很多的方案,有些还没有做调研,就没在文中及时推出来。

先来说说MySQL中间件能够做什么?要回答这个问题,我们可以反向问一个问题,随着业务需求的变化,数据库会有哪些瓶颈,比如:

1.单台服务器无法承载已有的压力

2.数据库单表容量越来越大

3.大量的读写需求无法平衡

4.资源如果扩容,应用改动较大

5. 资源的负载没法拆分,或者不易拆分

所以市面上的很多数据库中间件主要是分担了其中的大部分或者一部分的功能点。

沃趣科技的董红禹总结的这个图不错,我直接拿过来了。

我们基本会讨论下面的几个中间件,有些不在上面的图中,会额外补充一些。

MySQL Fabric, MySQL Router,MySQL Proxy

Fabric能提供MySQL的HA和Sharding方案,MySQL Router是一个轻量级的中间件用来实现高可用和扩展性的功能。MySQL Fabric在驱动层面可以实现高可用和扩展功能,需要应用端来适配改造。而MySQL Router中间件的访问协议与MySQL一致,应用不需要做任何的修改,在MySQL官方近期推出的InnoDB Cluster中MySQL Router是作为“三驾马车”来使用的。而落寞的是MySQL proxy,目前已经无法下载了,自从推出以来主要就是测试版本,所以在很多功能上多多少少还是有些问题。

360 Atlas

这是国内360公司推出的一个中间件方案,github地址为:https://github.com/Qihoo360/Atlas

从github的情况来看,星级蛮高,最新的维护是在4天前。它的设计是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。

Mycat

这也是国内的一个中间件方案,业内比较火,官方链接是:http://www.mycat.io/

还有一本Mycat相关的书《分布式数据库架构及企业实践——基于Mycat中间件》

根据我的了解,他主要是支持MySQL,同时也支持其它的数据库,比如Oracle等等,也是一波好友一起来做得这个事情。

我比较喜欢它的一个原因是因为开源,而且源代码是Java.

oneproxy

这是前支付宝的架构师楼总开发,目前支持多中数据库,基于MySQL官方 的proxy思想利用c进行开发的,OneProxy是一款商业收费的中间件,专注在性能和稳定性上,是商业付费的。

DRDS

阿里分布式关系型数据库服务(Distribute Relational Database Service,简称DRDS)是一种水平拆分、可平滑扩缩容、读写分离的在线分布式数据库服务。前身为淘宝 TDDL,再之前还有Cobar,已经不维护了。

该图来自:http://blog.csdn.net/jerome_s/article/details/53966569

Vitess

谷歌开发的数据库中间件,集群基于 ZooKeeper 管理,通过 RPC 方式进行数据处理官方网站很简介: http://vitess.io/ 打开就是一个大V

Maxscale

MaxScale是mariadb研发的,目前版本不支持分库分表,在其它几个方面都很不错。github链接为:https://github.com/mariadb-corporation/MaxScale

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档