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。