您现在的位置是:首页 > 行业 > 金融 >

云中的MySQL 亚马逊RDS初体验

2009-12-12 01:23:00作者:小龙来源:

摘要今年10月底,Amazon宣布推出一款RDS服务,主打旗号是云端的关系数据库,本质上就是个远程MySQL。本文是对Amazon RDS服务的一次简单体验,介绍了这款云端关系数据库服务的一些技术和收费情况。...

今年10月底,Amazon宣布推出一款RDS服务,主打旗号是云端的关系数据库,本质上就是个远程MySQL。本文是对Amazon RDS服务的一次简单体验,介绍了这款云端关系数据库服务的一些技术和收费情况。

Amazon的RDS服务(Relational Database Service,关系数据库服务)给我们带来了云中的MySQL数据库服务器,让“数据库作为服务”的概念成为现实,为现有的MySQL应用步入云中提供了一台快速的自动升降梯。

我们知道,Amazon的EC2实例中可以运行MySQL,同时它还提供SimpleDB服务(51CTO编辑注:EC2是Amazon的招牌云计算服务,而SimpleDB则是其之前一直提供的云端数据库服务,可以对结构化数据实时查询),那么为什么还要选择SimpleDB呢?

关于SimpleDB,它的名字给出了最好的理由。SimpleDB的本意就是成为一个简单的数据库。如果你只需要基本的读写和查询功能,那么SimpleDB是个非常好的选择,但它并不是一个关系数据库。

那么在EC2实例中运行MySQL呢?这不是与RDS提供了相同的功能吗?没错,但RDS是直接使用MySQL的关键部件。与EC2实例不同,RDS并不需要配置操作系统,也不需要管理。简单地说,RDS几乎就是一个纯粹的MySQL数据库,不多也不少。

快速建立DB Instance

从用户和开发者的角度来看,Amazon RDS和一个远程MySQL数据库没什么两样。Amazon将RDS的云中MySQL服务器称做DB Instance,通过基于Web的API进行创建和管理,其余的操作可以通过标准的MySQL通信协议完成。

创建DB Instance时需要指定一些属性来确定数据库实例的行为和能力。例如Class属性决定了所创建的DB Instance可用的内存和处理能力。Amazon以ECU(Elastic Compute Unit)作为其计算能力单位(1个ECU差不多相当于1个1.0GHz 2007 Xeon处理器),你可以创建1.7GB内存和1 ECU的小型(Small)DB Instance,直到拥有68GB内存和26 ECU的超级大型(Quadruple Extra Large)DB Instance。

创建DB Instance时还需要定义可用的存储,存储范围为5GB到1024GB,你可以将更大的数据分配给多个DB Instance,Amazon RDS数据库的最高工作上限是每个表1TB。

使用RDS工作

使用Amazon RDS时需要两样东西:命令行工具和兼容MySQL的客户端应用。前者是Amazon提供的Java应用套装,负责处理DB Instance的管理比如创建、参数调整、删除等等,可以从Amazon网站下载。后者可以是任何与MySQL服务器进行通信的应用。当然,你还需要注册Amazon Web Services来获得AWS Access ID和AWS Secret Access Key。

Amazon RDS DB Instance创建之后,就可以像任何一种远程MySQL数据库那样进行管理,比如使用MySQL Administrator工具。

下载了命令行工具之后就可以开始设置环境变量。我们可以通过下面的命令行创建一个小型的DB Instance(1 ECU和20GB):

rds-create-db-instance --db-instance-identifier rginstance --allocated-storage 20 ---db-instance-class db.m1.small --enging MySQL5.1 --master-username rgrehan --master-user-password mypassword --db-name ADBTest --headers

这将产生一个名为rginstance的DB Instance,管理员的名字是rgrehan,密码为123456。在这个DB Instance中将创建名为ADBTest的数据库,最大存储为20GB。

如果你不喜欢命令行工具,Amazon已经发布了支持各种编程语言的库,可用于Java、C#、PHP、VB.NET和Perl等。RDS的管理功能均表现为Web服务,因此这些库基本上都是通过远程调用的Web服务包。

按照使用付费

Amazon Web Services的一项基本原则是按照使用情况收费,同样RDS也完全是根据MySQL应用的具体使用情况来计算费用。

DB Instance分为几种类别,每一种都有自己的价格。一个小型DB Instance是每小时11美分,超级大型DB Instance是每小时3美元10美分,其余的在两者之间。费用是按照DB Instance的寿命来计算的,即使它不响应任何MySQL命令。因此你要记住只有终止数据库实例才能停止计费,但你不会丢失数据。你可以要求在终止数据库时创建快照,在以后需要的时候再恢复,当然Amazon会为保存快照收取费用,但这很便宜,每GB每月只要15美分。


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们