Trove是openstack推出的Database As a Service(DBaas)服务组件,类似于AWS提出的RDS概念,虽说trove目前也支持不少的NoSQL,但在M版本时,经过测试可以商用的主要还是mysql这个关系型数据库。
传统的数据库部署一般常见的是部署在固定的物理服务器上,不管是单机部署还是集群部署,自从有了虚拟机之后,也有不少直接部署在虚拟机之上的,当然也有不少文章评论说像mysql这种数据库不适合部署在虚拟机之上,我们咱不讨论,总的来说,类似于这种传统的部署方式,在做运维监控时,往往是靠DBA通过借助某些工具,或者自己编写一些脚本来尽量达到自动化运维的目的,而且还有一个明显的缺点就是,对这些数据库进行运维管理需要比较强的专业水准方可,否则如何去给mysql做主从呢。而我们现在讨论的数据库及服务呢,也和openstack其他组件服务一样,通过前端管理平台(Horizon),可以让并不是DBA身份的人可以很容易的对数据库进行用户管理,授权管理,数据库主从配置,容灾备份等常见操作。
业界喜欢把这种数据库服务称为PAAS服务,虽然从实现手段上看,并没有通过标准的容器来承载数据库(现在的kubernetes+docker是完全可以实现的)。而仍然是常见的IAAS手段,及通过虚拟机来承载,这个就不做过多讨论了,我不确定阿里云和Azure是不是也是这种IAAS+实现。当然,trove和AWS和阿里云的RDS相比起来,还是有一定的差距,比如自动化备份,参数前端配置等。
我们来看一下trove的架构图ÿ