DBaaS与trove简介

DBaaS简介

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


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


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

Trove项目介绍

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


其实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的良好架构。


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


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

这就是DBaaS

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

本文来自:http://www.jianshu.com/p/b174119d60a8

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值