为了账号安全,请及时绑定邮箱和手机立即绑定

State of the art technology, DBaaS

标签:
云计算

DBaaS简介

State of the art,中文可以译为“最先进的”,DBaaS也就是数据库服务。与单机版MySQL或者集群版Oracle不同,DBaaS将数据库作为服务来交付,任何人都可以轻易地创建、使用、扩容和销毁数据库实例,由基础平台负责监控和运维,开发者可以做到只关心业务而屏蔽底层细节。

https://img1.sycdn.imooc.com//5d2d26660001d21505260328.jpg

作为行业标准的MySQL,提供了高性能、易部署的数据库服务,但并没有解决多租户以及运维方面的问题。实际上大部分互联网公司的DBA,也是在做重复的运维工作,于是有两类公司开始思索做出改变,一是阿里这种内部大量使用数据库的亟需一种易运维、可控的DBaaS平台,另一类公司就是AWS、QingCloud这样的基础服务提供商。

https://img1.sycdn.imooc.com//5d2d266c0001154206350268.jpg

那UnitedStack这样的公司需要DBaaS吗?当然是需要的,我们在OpenStack社区逐渐看到UnitedStack对Trove项目的贡献(金山云却鲜有贡献)。Trove原意是宝藏,是目前仅有的开源DBaaS系统,如果你对数据库服务感兴趣不妨继续阅读下去。

Trove项目介绍

Trove是OpenStack核心组件中的Database as a Service服务,它的Mission是让公有云/私有云用户可以轻易地部署Scalable和Reliable的数据库实例,并且提供一键创建、定期删除、快速扩容、自动备份、监控报警等功能。

https://img1.sycdn.imooc.com//5d2d26710001f73f05800351.jpg

其实Trove项目早在2013年就启动,至今超过2000个commit和100百多个contributor,已经是OpenStack的顶级项目,而目前是否足够成熟呢?至少国外有一家数据库公司Tesora所有业务都是基于OpenStack Trove,并且国内XX云、XXStack也在积极将Trove部署到Production环境。Trove究竟有什么好呢,难道不能自己实现一套DBaaS吗?我们继续一探究竟。

Trove架构分析

作为一款开源的DBaaS产品,对主流的MySQL支持显然是必须的,而令人惊喜的是,Trove不仅支持关系型数据库也支持非关系型数据(NoSQL)。从社区的Roadmap中看出对PostgreSQL、Redis、MongoDB、Cassandra、CouchBase、DB2的支持也在规划中,这得益于它API/Taskmanager/Conductor/Guestagent的良好架构。

https://img1.sycdn.imooc.com//5d2d26870001ba4a07150416.jpg

很多人会问,Trove的多租户是如何实现的呢?Keystone。Trove的网络是如何打通的呢?Neutron。Trove的数据库如何保证安全隔离的呢?通过Nova调度的虚拟机。因此,Trove项目实际上利用了OpenStack平台提供的服务,专注于DBaaS的架构,为云平台用户提供易用、免运维的数据库服务。

https://img1.sycdn.imooc.com//5d2d268b0001bb5607090513.jpg

那么Trove是如何实现同时对MySQL与Redis等“数据库”的支持呢?答案在于其架构中的Guestagent,与其他OpenStack项目一样,Trove通过API暴露RESTful接口、具体逻辑由Taskmanager处理,并且通过Conductor处理所有与本地数据库相关的操作,这些都为用户提供了一套统一的接口。而不同数据库的操作命令是不同的,因此我们需要为多个数据库类型实现多个Guestagent,它们接受Trove统一的命令并对底层数据库实例做不同的交互,Guestagent是直接整合到操作系统镜像中,可以伴随虚拟机快速启动。

这就是DBaaS

有人认为阿里的DBaaS就不是通过虚拟机实现的,不得不承认阿里在数据库运维上的积累,并且有能力修改源码提供安全的多租户环境。但Trove借助已经开源的计算、网络、存储以及认证等组件,通过虚拟机实现安全的隔离,提供原生的MySQL服务,并且实现了自动化维护的增、删、扩、备等功能,确实值得各位数据库开发者与DBA借鉴和学习。




作者:chendihao
链接:https://www.jianshu.com/p/b174119d60a8


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消