云数据服务的弄潮儿

原文链接 作者:Derrick Harris

还记得只能选择两三家云计算数据服务的时候吗?事实上,伴随着云计算的发展,在这几大云平台上已经迅速地构建了很多云数据服务。本文介绍一些主流并且当前运行良好的云数据服务(注:我们这里讨论管理型的数据服务而不是那些还需要专人来管理和维护的数据库实例)。虽然本文作了深入的分析,但难免有疏漏,欢迎指出纰漏之处。

SQL服务

Amazon关系型数据服务是最先发布也是最完善的云数据服务之一。与大多数AWS服务一样,它提供了AWS服务接口,兼容其他绝大多数的AWS服务。在此之前它仅提供基于AWS主机的MySQL数据服务,现在它也为用户提供SQL Server和Oracle数据服务。

Clustrix数据即服务:数据库供应商Clustrix在周二也加入云服务的行列。它的数据服务运行在Rackspace云平台上,为用户带来了设备的高效性、单租户发布的公平性。其中,在旗舰产品中加入了对MySQL的兼容性。他们宣称适用于OLAP和OLTP应用,能够通过多达2500个节点来监控系统的运行状态。

EnterpriseDB Postgres+云数据库:EnterpriseDB 是一家专注于Postgres数据库的厂商,他们的基于云平台的这个旗舰产品主要针对企业级的开发人员而不是试图体验一下的Hacker。 Postgres+云数据库提供了高可用的计算集群、高数据库连接数以及兼容Oracle环境等特性。

FathomDB: 许多GigaOM读者可能知道FathomDB,它作为Rackspace的合作伙伴,让后者能够与AWS的RDS相抗衡,但是时间会改变一切。FathomDB仍然存在,它已经开源了基础性的技术来帮助开发者构建一些服务,当然现在已经不再提供基本主机数据的服务。不过该公司宣称正在研发下一代数据服务,所以还处于调整期。

Google 云SQL虽然不是最富有特色的数据服务但却具有竞争优势。首先,它可以很容易的集成其他Google云服务中;其次作为Google云服务中引以为傲的一点-云SQL可以实现异地高效的的数据复制。当前它仅支持Java、Python应用,每实例限制了10GB的存储空间。

Heroku Postgres仅提供面向公众的内部Postgres数据库软件即服务的功能。它提供高可靠性、数据保护(提供99.99%的正常运行时间)以及99.999999999%的数据持久性。它也开始尝试为开发者提供非PaaS的数据库服务。它最大的特点是数据剪辑,允许用户通过URL来为其他用户发送SQL查询结果。

HP MySQL云关系型数据库目前的名称还没有确定。作为一个内测版本,将会有大量的工作要做,很多特性后续也会添加进来。由于是构建在Openstack上的MySQL发行版,理论上从商业数据库上迁移到这种云数据库应该不难。

IBM SmartCloud Application Services:跟HP一样,IBM的云数据库服务也在开发当中。就现在可知道细节来说,它基于IBM's DB2数据库技术,会作为“智慧地球”的一项智慧云服务提供给用户。

Microsoft SQL数据库在微软的云计算中是以SQL Azure的组件形式出现的。它可以操作一个完整的云数据库,但它通过MS SQLServer也提供了共享式的用户体验,也允许用户在可信的数据库上共享数据。还有一个特点就是它支持与其他云供应商发布的SQL数据库之间进行同步。

Oracle **云数据服务**虽然不是每个人都想要的,但对于已经在使用Oracle数据库的用户来说,Oracle推出基于云的数据库服务还是喜闻乐见的。毕竟Oracle宣称这项服务拥有Oracle DB 11g R2的所有特点和优势。目前价格未知,如果没有长期合同的话,可能会基于数据库容量按月计费。

Rackspace**云数据库是最先被部署Openstack平台的服务,刚刚被加入到Rackspace的云服务收费行列当中。它现在仅提供较少的访问模式,用户还不能获取SLA,也不支持主机数据库的很多特性(比如监控、备份、GUI操作界面),当然这些预计会加入到GA版本中。虚拟化的服务容器和结构化的存储网络能够让高性能和高可靠性得以保证。Xeround**可能是构建与Amazon RDS之上最流行的云数据库,也是支持度最广泛的MySQL云数据库。比如众多的公有云-AWS、RackSpace、Joyent,、Heroku…… Xeround 的优势是云服务的自动缩放能力以及独一无二的MySQL前端,它构建在理论上能够支持众多数据库选项的基石之上。

NoSQL 服务

Amazon DynamoDB 是一项管理NoSQL的服务,构建在原始Dynamo键值数据存储之上。几年前,由于公司内部需求而诞生的Dynamo是为web、大数据的快速访问、快捷的可扩展性所设计的,它用SSD作为硬件基础,能够在数据增长时自动扩展。Amazon ElastiCache不是一种NoSQL数据服务技术,但是它满足了的类似需求-开发人员通过管理Memecached来确保MySQL部署更快地服务于用户数据。Memcached 被许多Web应用所采纳,像FaceBook,应用构建在基于硬盘的关系型数据中但是又想让关键数据保持在内存当中。Cloudant虽然基于开源CouchDB数据库,但它并不自称是NoSQL服务而是数据层,通过搜罗各大云提供商的数据集合构建一个可预见的柔性的NoSQL数据存储,当然也可以构建在MapReduce分析引擎上面。这其中,农业巨头孟山都就使用Cloudant来巩固基因工程的基础设施。Database.com是Salesforce公司的单一数据服务,既不是真正的NoSQL,也不是一个关系型数据库。作为一个多租户的数据设施服务于Salesfrouce.com的客户关系管理服务和Force.com好多年。在它上面能够存储各种数据类型,包括许多非结构性的数据。它是为已经部署在Salesforce上面的应用而设计的,当然并不限于此。Microsoft Windows Azure Table Storage是MS 的Windows Azure平台的NoSQL数据服务。它是为更加容易的查询TB级的非关系数据而设计的。作为Windows Azure家族的成员之一,它的存储容量(包括Blob、表、队列存储)限制在每用户100TB以内。MongoHQ/MongoLab: MongoDB 是最流行的NoSQL数据库,但是在云平台上它可能就是一只笨熊,因为周围充斥着太多的主机型的MongoDB服务,虽然MongoHQ和MongoLab可能更为大家所熟知。它们的优势是简单:快速部署、全面的监控以及你所不能及的可靠性。这些服务商都在试图通过共享和定制化服务来吸引大范围的用户。