开源数据库即服务OpenStack Trove应该知道的10件事情数据库
做者:Ken Rugg,Tesora首席执行官安全
Ken Rugg是Tesora的创始人,CEO和董事会成员。 Ken的大部分职业都是在数据库的技术,战略和业务发展方面。 Tesora是OpenStack Trove项目的主要贡献者。服务器
谈到DBaaS(数据库即服务),当今的公共云市场领导者,亚马逊,正在展现这一业务在客户价值和利益方面的重要性。去年年末,亚马逊网络服务(AWS)数据库业务的年收入运行速度为10亿美圆。绝不奇怪,在同一时间框架中,AWS最受欢迎的招聘类别是84个职位的数据库和数据分析。网络
看到这种成功,OpenStack云(公共和私有)的运营商也但愿可以为用户提供这种功能也不足为奇。 OpenStack Trove容许他们这样作。 Trove是数据库做为OpenStack的服务组件,使管理员和DevOps专家使用公共基础架构管理不一样数据库管理系统(DBMS)的多个实例,包括关系数据库和NoSQL。它使数据库的容量可按需使用,并处理完整的数据库生命周期管理。架构
若是你对OpenStack和数据库即服务感兴趣,那么这里有一些你应该知道的事情。框架
1. 简单来讲,OpenStack Trove的目标是快速,轻松地部署和管理各类数据库。分布式
OpenStack Trove项目任务声明是“为关系型和非关系型数据库引擎提供可扩展和可靠的云数据库即服务的供应功能,并继续改进使其成为功能齐全,可扩展的开源框架。”为了实现这一点, Trove有自动化且复杂的数据库管理任务,包括部署,配置,修补,备份,恢复和监控。 Trove容许IT专业人员经过单一一致的接口集为用户提供配置和管理各类关系数据库和非关系数据库的能力。工具
Trove DBaaS极大地提升了敏捷性。虽然快速配置数据库的价值至关可观,但IT客户能够轻松地丢弃数据库并提供新数据库这一事实一样重要。这使得能够经过实验,以快速达到正确的长期的解决方案,而没有没必要要的妥协。已是请求数据库服务器并等待几个星期或几个月进行配置的天数。用户只需请求数据库实例,具备复制或群集的一些实例,以实现可扩展性。性能
2.只有OpenStack Trove提供了一个框架,能够以一致的方式操做13种不一样的DBMS技术。学习
451 Research的一项调查指出,当涉及到数据库时,企业可能会有不一样的供应商来使用不一样的用途。这些将包括SQL和NoSQL数据存储,它们针对操做和分析工做负载以及开源数据库和商业数据库产品进行了优化。随着这些企业转向私有,公共和混合云实施,他们也同时带来了这些数据库。
虽然企业如今使用大量的数据库,但他们的管理平台传统上是技术特定的。这一趋势在很大程度上继续下去,由于数据库管理已经转移到云中,而单一数据库DBaaS产品主导了这一趋势。其示例包括Azure SQL数据库(Microsoft SQL Server),MongoLab(MongoDB)和Cloudant(CouchDB)。虽然Amazon的关系数据库服务(RDS)支持少许不一样的数据库,但它们都是具备类似架构的传统关系数据库。并且,AWS提供了彻底不一样的管理技术,以分别支持使用Redshift和DynamoDB的数据仓库和NoSQL数据管理。
Trove采用了一种根本不一样的方法,经过建立一个可插入的架构,能够从公共基础架构支持许多不一样类型的数据库。 OpenStack Trove目前支持Cassandra,CouchBase,CouchDB,DataStax Enterprise,DB2,MariaDB,MongoDB,MySQL,Oracle,Percona Server,PostgreSQL,Redis和Vertica。
3. Trove独特的架构是支持各类各样的数据库技术的关键,同时展现每个数据库最好的。
OpenStack Trove架构具备许多独特的功能,能够支持许多不一样的数据库技术。这种架构的关键要素是Trove控制器(Trove Controller),客户代理(Guest Agent)和客户映像(Guest Images)。
在系统的中心是Trove控制器,是数据库不可知的。用户经过GUI或API与控制器交互,以管理各类数据库。若是用户想要执行备份或建立数据库的副本,则他们没必要担忧为某些特定数据库引擎执行此操做所需的特定调用。
客户代理是“数据库适配器”,它将Trove控制器接收的命令转换为特定数据库的语言。为了支持新类型的数据库,一个能够实现新的客户代理来实现必要的API,容许用户以标准方式管理该数据存储。
为了便于快速部署数据库实例,按需为每一个数据存储库的每一个版本提供客户映像。这些客户映像仅仅是将数据库服务器软件与客户代理代码捆绑在一块儿的虚拟机映像。
当客户映像引导时,它会自行解包,并生成一个完整服务的即用型数据库实例,从而无需从头开始配置和配置数据库。客户映像能够由操做员配置或从公共来源下载。
此外,客户映像能够预先构建在优化的配置中,这些优化的配置通过调整以提供最佳性能,并符合行业最佳实践的安全性和可靠性。这些标准化配置还使IT人员更容易管理这些系统。当数据库供应商发出新的安全警报以解决新发现的漏洞时,能够用修补的版本替换访客映像,而且能够批量更新全部受此问题影响的系统。
4.除了基本配置,Trove自动化它规定的数据库实例的生命周期管理。
当人们首先考虑数据库做为服务时,他们一般只想到开发人员可以从基于Web的UI按需启动数据库服务器的能力。虽然Trove必定能作到这一点,它也能够作更多。 Trove提供API来自动执行备份,群集,复制和故障转移等任务,并以一种方式利用其支持的底层数据库引擎的本机工具。
固然,在MongoDB实例或Cassanda集群上执行像备份这样的管理任务可能使用与备份Oracle或MySQL实例很是不一样的方法。然而Trove架构确保管理员没必要担忧这个细节。这样,能够经过标准的一组接口来统一和简化各类数据库技术集的管理和操做。例如,当须要备份时,管理员只需经过API,命令行或Web GUI发出trove backup-create命令,而且Trove将为要备份的特定数据存储启动适当的本地进程。
5. Trove容许您像单个实例同样轻松地管理数据库集群。
如前所述,Trove常常与Amazon RDS进行比较。 OpenStack Trove超越亚马逊RDS(或其余简单的DBaaS产品)提供的一个领域是集群管理。 用户能够经过Trove GUI或API直接建立,增加和收缩数据库集群。 该接口具备足够的灵活性,能够容纳从关系数据库(如支持主主复制的传统并行数据仓库,如Veritca)到对等分布式NoSQL键值对存储(如Redis)的各类群集架构。 目前,对于MongoDB,Vertica,MySQL和Redis,集群支持可用,Cassandra和Couchbase将在下一个版本中提供。
6.经过基于Web的GUI,命令行界面或一组RESTful API,能够访问Trove的全部功能。
虽然Trove常常经过其基于Horizon的Web面板来配置和管理数据库,Trove提供的全部功能也可使用Trove命令行界面或经过一组完整的RESTful API。 这使得自动化管理任务变得容易。 Trove能够内置到必须启动大量数据库服务器以适应不一样使用场景的自动化测试系统中。
7. Trove能够在您本身的公司数据中心操做,以确保符合公司政策,如数据保留和隐私。
当OpenStack Trove在数据中心内部做为私有云部署时,它由公司的IT人员操做,该人员能够确保其遵照企业最佳实践和策略(如数据保留,数据隐私,加密和备份)。虽然基于公共云的DBaaS产品可能提供相同的工具,但确保这些工具适当地应用一般落在配置数据库的个别开发人员身上。这可能致使与企业或甚至监管政策的不一致遵照。当在公司治理和数据安全的范围内运行Trove时,用户能够放心,他们部署的配置已通过IT审查,以验证他们遵循行业最佳实践,公司政策和适用的数据保护法律数据。
8. Trove是历史上增加最快的开源项目的一部分。
在这一点上,开源软件的好处是很好理解的。随着社区的普遍参与,它能够产生更高质量,更安全的代码,同时消除供应商锁定。因为Trove是OpenStack的一部分,它受益于成为历史上增加最快的开源社区的一部分。根据OpenHUB,OpenStack项目已经有来自超过3500我的的贡献,近一半的数字贡献在过去一年。
Trove是一个很是健康的开源项目,来自40个不一样公司的超过200我的在该项目的整个生命周期内作出贡献。虽然许多贡献来自支持OpenStack或Trove像Red Hat,HP和Tesora的公司,使用该平台的企业也是积极的贡献者。例如,eBay已经为多个数据库添加了支持并在项目中实施了初始集群支持。
9. Trove利用OpenStack的核心组件和共享服务,使企业可以轻松部署DBaaS。
转述Sy Sperlling的Hair Club for Men,(冒着展现个人年龄的风险)“Trove不只是一个OpenStack项目,并且它也是一个客户端。”例如,Trove使用Nova计算服务建立虚拟机,运行数据库服务器,Cinder块存储配置数据库存储以及Swift的对象存储来捕获备份,如图所示。因为Trove是这些核心服务的分层,其用户能够利用这些服务,而无需任何特殊的定制。他们还能够受益于对OpenStack的底层核心服务的任何加强。例如,若是Nova被配置为经过OpenStack Ironic服务提供裸机资源,Trove能够利用它。此外,重要的是,使用开源软件经过减小对技术供应商的依赖,以及价格波动的潜在风险,从私有云实现中消除了大量的风险。
10.很容易开始使用OpenStack和Trove,有不少资源能够帮助
OpenStack Trove是一个DBaaS平台的开源实现,由一个积极和多样化的开发社区支持,继续扩展其功能。全部如下选项,以及其余信息和连接,能够在“如何开始使用OpenStack”页面找到。
尝试在这里列出的世界上生产的许多OpenStack公共云之一。
使用devstack在您的笔记本电脑(甚至在虚拟机中)上运行OpenStack云。这对于从管理员或用户角度看看OpenStack的外观是很是理想的。
经过商业软件分发安装OpenStack。你能够找到这里列出的。
具体到Trove,在这里你能够找到一个分步指南安装和入门OpenStack Trove。 Tesora还在咱们的网站上提供了一组Trove资源。
若是你想采起下一步和贡献的项目,也有不少方法来作到这一点。做为一个开源项目,Trove欢迎参与。我对那些想要参与的人的建议是简单的,作到。我遇到的大多数“想要贡献”的人认为这很难,或者他们必须写不少代码。这不是真的。贡献不必定是复杂的代码,功能或蓝图。例如,代码审查很是有价值,它们是了解社区,代码和Trove自己的好方法。阅读文档,使用产品,贡献错误,草拟可用于改进文档的简短写法,以及与他人分享您本身的使用Trove的提示和技巧。这些都是参与的好方法。
原文地址:http://www.odbms.org/2016/02/10-things-you-should-know-about-openstack-trove-the-open-source-database-as-a-service/
此文章属博客园用户S-tec原创做品,受国家《著做权法》保护,未经许可,任何单位及我的不得作营利性使用;若仅作我的学习、交流等非营利性使用,应当指明做者姓名、做品名称,原文地址,而且不得侵犯做者依法享有的其余权利。