对于SQLServer用户,你可能已经知道WindowsAzureSQLDatabase(原名SQLAzure)这一微软的云数据库。事实上除了SQLDatabase之外,还有很多关系型或者非关系型的数据库云服务。在本文中,我们就将为您总结五款最常见的云数据库,可以根据您的具体情况选择不同的服务。
亚马逊关系型数据库服务(RDS)是最早一批基于云的数据库服务,它也是由AmazonWebServices(AWS)提供的首个数据库服务。在RDS基础之上,你可以部署Oracle、MySQL或是SQLServer数据库实例,同时使用标准存储或是ProvisionalIOPS存储,并且它还针对I/O密集型工作负载进行了优化。RDS还给你了这样的选择,就是使用亚马逊虚拟私有云服务来隔离你的数据库实例。此外,你还可以利用亚马逊CloudWatchService来查看实例的关键运行指标。
当然AWS也有自己的云数据库产品,包括DynamoDB、Redshift以及SimpleDB,它们目前都是作为公共测试服务提供的。DynamoDB是一个NoSQL数据库服务,其所有的数据是存储在固态硬盘上的并复制到三个可用站点,这使其成为了一个快速而且高可用的系统。Redshift是一个数据仓库服务,它使用列存储技术结合了分布式,并行查询所支持的数据集,范围从GB级别到PB级别甚至更多。而SimpleDB服务提供了一个非关系型,非模式化的数据存储,通过简单查询可以访问小字符数据集。
除了以上四项数据库服务,AWS还为迁移和处理数据提供了DataPipeline(数据管道)工作流服务,以及在缓存中维护数据的ElastiCache服务。
和Amazon一样,Google提供多种数据相关的服务。首先是CloudSQL,它是一个基于MySQL的关系型数据库服务,它可以作为SQLAzure的替代品。CloudSQL是与AppEngine和其他Google服务全面而紧密集成的。CloudSQL还支持同步复制到多个站点。此外,Google还提供BigQuery服务,它是一个实时大数据分析工具,可以让你对数十亿条记录数据集执行随机查询。此服务利用Google的庞大计算能力来让你可以从TB级别的数据集中分析数据。
Google产品家族的最新成员CloudDatastore,它是一个非模式化,非关系型数据库服务,它支持ACID事务,与那些在传统关系型数据库管理系统(RDBMS)中的服务是类似的。ACID指的是用于保证可预测性和安全事务的四个属性:原子性,一致性,隔离性和持久性。CloudDatastore服务目前提供有一个预览版并且AppEngine服务使用的是相同的Datastore存储。Datastore是作为Google内部存储系统BigTable的一个接口。Datastore数据则复制到多个数据中心并随着流量的增加自动扩容。
Rackspace提供的众多基于云的服务中,也包含了数据库服务。诸如MongoLab和Cloudant之类的公司所提供的网关服务也将Rackspace覆盖在其产品之中。此外,Rackspace还为MySQL、Oracle和SQLServer提供了数据库管理服务。专用数据库管理员和工程师可以为你设计基于云的数据库系统并管理软硬件且同时提供全面支持。
Rackspace如今也提供云数据库服务,它是一个建立在OpenStack平台上的全面管理的MySQL托管服务。OpenStack是由Rackspace和NASA开发的一个基于开放标准的操作系统,它可以用于建立公有云和私有云。Rackspace云数据库同样使用有内置数据复制的SAN存储,并且在一个基于容器的虚拟化结构中加以实现,这样会比传统硬件虚拟化表现的更好。有了云数据库的情况下,部署,配置和打补丁都是自动进行的。
MongoLab提供的一个数据库服务是基于MongoDB数据库的,这是一个开源的,面向文档的数据库系统,它可以以二进制的形式存储数据。与传统数据库固定的模式不同,MongoDB模式可以因文档而不同并且会随应用程序的演进而改变。但是,MongoDB仍然提供了在一个关系型数据库中可用的某些功能,诸如二级索引以及一个完整的查询语言。
MongoLab将MongoDB作为一个网关服务加以提供,它可以托管在不同的云平台上,包括AWS,Joyent,Rackspace,WindowsAzure以及GoogleCloudPlatform.此数据库服务可以让你执行自动备份,这样你就可以在你自己的网络上或是一个云存储提供商提供的网络上进行存储。MongoDB还提供一组基于Web的管理工具,它们可以让你进行诸如执行一般搜索,控制数据库,或是优化查询的工作。此外,MongoLab会不间断监控你的数据库服务器的健康状况和性能。
也提供了自己的云数据库服务。使用了相同的技术来强化Salesforce客户关系管理系统,它可以处理超过每天50亿的事务。是基于多租户架构的,这样在它里面诸如缓存,系统目录以及查询优化器都是共享的。
尽管提供关系型数据库服务,其架构也不同于典型的使用专门设计的模式来建立多租户和云环境,并不需要虚拟化,而这是托管系统常见的情况。另外,此服务使用一个运行时引擎从元数据实现所有应用程序数据,同时保持引擎、元数据和租户数据各自完全独立。
Cloudant,Couchbase和GarantiaData等公司也提供了云数据库服务,尽管Amazon和Google在多样化上居于领先地位,但是这并不意味着他们的服务就适合你的企业。RackspaceCloudDatabase、MongoLab以及都是非常值得推荐的云数据库服务。