开源云杂谈
DBaaS是目前云计算服务的重要部分,数据库作为一种特殊的应用程序,在应用中普遍存在。而其独特性不仅在于普遍性,而且其性能对应用的表现是至关重要 的。数据库的通用性和重要性使得维护一个健壮的数据库实例变得极为复杂和繁琐,DBaaS服务旨在解决让用户能够在云中轻松设置、操作和扩展关系数据库。 在承担耗时的数据库管理任务的同时,又可提供经济高效的可调容量,使您能够腾出时间专注于应用程序和业务。
通过AWS的数据库服务可以快速了解云服务中的DBaaS的轮廓。
Amazon Web Services提供了多种不同数据库服务,如RDS(关系型数据库服务),DynamoDB(键值数据库),Redshift(数据仓库服务)等。其中RDS作为目前数据库主流得到最广泛的关注。
Amazon RDS
Amazon RDS的目标用户是需要关系数据库的完整功能的开发人员或企业,或是希望对使用关系数据库的现有应用程序和工具进行迁移的用户。它能够使客户访问自己的 Amazon RDS数据库实例上运行的 MySQL、Oracle 或 SQL Server 数据库引擎的功能。
Amazon RDS的特点是使用简单,帮助客户处理复杂的数据库任务如备份、复制和扩展等。还能够与其他服务配合使用如EC2在同一个AZ区内减少延迟。通过预配置的 IOPS可以使客户自由选择选择的数据库服务并且能够轻松升级。除此之外,RDS还具备自动软件修补的能力,确保软件升级的性能提升和安全修复能得到利 用。
Amazon DynamoDB
DynamoDB是Amazon的NOSQL数据库服务,是一种快速、全面受管的NoSQL数据库服务,它能让用户以简单并且经济有效地方式存储和检索任何数据量,同时服务于任何程度的请求流量。
DynamoDB所有的数据项都存储在固态驱动器(SSD)中,同时在 3 个可用区域间进行复制,确保达到较高的可用性和持久性。DynamoDB 表没有固定的结构,每一个项目可以拥有不同数量的属性。多种数据类型增加了数据模型的丰富性而本地二级索引可以增加在执行查询时的灵活性,且不会影响性 能。
Trove是OpenStack实现Database as a Service(DBaaS)的项目,为要能过户提供可扩展和高可靠性的云数据库,并作为一个基本服务可以同时支持关系和非关系型数据库。
Trove在设计之初就计划在OpenStack上运行,目标是能够允许用户快速、简易的使用关系型数据库而不需要处理复杂的 数据库管理任务,用户和数据库管理员都可以管理多个数据库实例。Trove与OpenStack其他项目如Nova、Swift和Cinder交互完全通 过API来实现,因此对Nova等的配置没有任何要求。
Trove目前是一个 OpenStack 孵化器项目,现在致力于提供高性能前提下的资源隔离,并且提供自动化的复杂管理任务包括部署、配置、打补丁、备份、恢复和监控。
Trove 主要组件
Trove分为三个组件: trove-api, trove-taskmanager, trove-guestagent。
* task-api: 主要提供RESTful API并且支持JSON和XML,用来管理和掌控Trove实例。它是一个WSGI组件负责监听服务外部的请求。
* task-taskmanager: 主要完成具体的管理命令,如创建实例,管理实例的生命周期,完成对数据库的操作等等。它主要监听RabbitMQ topic来得到请求。
* task-guestagent: 主要提供具体数据库的运行和管理,并且对数据库本身进行操作。guestagent同样监听RabbitMQ topic来得到请求,并且运行在每一个数据库实例上。每一种数据库都需要一个自己的guestagent实现,目前只有MySQL agent。
Trove 主要逻辑
目前Trove支持用户创建一个数据库服务实例,在实例里可以创建多个数据库并进行管理。数据库服务实例目前通过Nova API来创建,然后同样通过Nova API创建一个Volume(未来通过Cinder API)作为存储,然后在Nova Instance里加载预定义的带有MySQL的Image来启动MySQL。此时用户在得到一个创建好的数据库服务实例以后可以通过API创建数据库并 且指定参数,Trove通过在数据库服务实例里的guest agent来完成相应的命令。下图是Trove处理请求的最主要流程。
Trove 的进展与未来
Trove是Rackspace开源出来放到OpenStack项目,作为一个孵化器项目,其本身不太成熟并且缺少更多的数据 库类型支持。Trove目前有三个子项目: Trove本身,Trove-Client, Trove-integration(Trove与OpenStack整合的部署项目)。目前MySQL和percona(MySQL的衍生版本)是 Trove支持的数据库类型,不过Redis的支持已经在社区的实现进程之中。Trove本身代码并不是特别复杂,但由于本来是Rackspace内部项 目,在测试代码实现上非常Magic,目前Trove的实际维护者(实际上是后来接手的)也无法完全掌控项目。
Trove在未来进入OpenStack Core项目应该不是特别困难,但根据我对项目本身的理解和代码阅读,在短期内应该无法进入。在OpenStack I版本成为Core Project是一个不小的目标。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ThinkPHP系的两个东东OneThink和ThinkCMF
假设有这样一个命题:需要对一个已有系统进行移植,有没有什么系统是适合用来作为进行快速移植的基础的。能解决每个系统的基本问题,只需考虑相关业务逻辑问题。 OneThink是TP团队官方出品。 http://www.onethink.cn/ OneThink特性介绍: 1.基于ThinkPHP最新版本Thinkphp3.2。 2.模块化:全新的架构和模块化的开发机制,便于灵活扩展和二次开发。 3.文档模型/分类体系:通过和文档模型绑定,以及不同的文档类型,不同分类可以实现差异化的功能,轻松实现诸如资讯、下载、讨论和图片等功能。 4.开源免费:OneThink遵循Apache2开源协议,免费提供使用。 5.用户行为:支持自定义用户行为,可以对单个用户或者群体用户的行为进行记录及分享,为您的运营决策提供有效参考数据。 6.云端部署:通过驱动的方式可以轻松支持平台的部署,让您的网站无缝迁移,内置已经支持SAE。 7.云服务支持:即将启动支持云存储、云安全、云过滤和云统计等服务,更多贴心的服务让您的网站更安心。 8.安全稳健:提供稳健的安全策略,包括备份恢复、容错、防止恶意攻击登录,网页防篡改等多...
- 下一篇
openStack ceilometer API
1.概述 Ceilometer是OpenStack中的一个子项目,它像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。Ceilometer的核心架构图如下: 图1 Ceilometer的核心架构图 图2 Ceilometer架构模型 2.安装 2.1安装服务 apt-get install ceilometer-api ceilometer-collector ceilometer-agent-central python-ceilometerclient 2.2配置 /etc/ceilometer/ceilometer.conf [DEFAULT] #rabbitMQ rabbit_host = client rabbit_password = 12345 rabbit_hosts = client:5672 rabbit_userid = guest [database] connection = mysql://ceilometer:12345@client/ceilometer [publisher...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS关闭SELinux安全模块
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址