SQL与NoSQL混合数据库正在取得进展

SQL与NoSQL混合数据库解决方案,既兼容诸多SQL应用,同时还能提供NoSQL的可扩展性。Xeround在云中提供此类服务,其中包括免费版本。其他方案还有:具备ODBC/JDBC驱动的Database.com、NuoDB、Clustrix和VoltDB。

  Xeround提供的是“数据库作为服务(DB-as-a- Service)”,混合了SQL与NoSQL.前端是MySQL查询引擎,面向现有的海量MySQL应用,而存储中用的API使用了内存中的分布式 NoSQL对象存储,大小可达50GB.Xeround的CEO Razi Sharir这样对InfoQ说。

  Xeround为云中的MySQL应用提供了“数据库作为服务”。开发人员使用它,能够方便地在云中运行应用,同时自动向上或向下扩展,同时还能保 证出现故障或数据库结构变更时不影响可用性。它是真正100%的原生MySQL前端,不仅仅是模拟而已,而且我们会一直使用MySQL前端,以及我们申请 了专利的电信级存储引擎。我们用Hadoop作为分布式文件系统,使用哈希表来完成分布式对象存储。我们在内存中运行,因此按照弹性和线性方式按需分配资 源是自然而然的事情。在设计之初,我们就采取了虚拟化方案,因此不需要从传统的单一存储方案转向云中的虚拟和分布式存储方案,不会有类似的转换之痛。

  云中的服务可以提供高可用性(99.9%)与可扩展性,一般来说,这都与NoSQL数据存储的使用相关。它可部署在Amazon EC2和Rackspace之上,而且可以用作Heroku的插件,供超过500MB的数据库使用。提到故障恢复,Sharir这么说:

  最终用户不需要担心故障恢复问题,这就是服务的好处。我们在底层会运行多个复制版本,对最终用户透明。我们处理故障恢复和可扩展性等方面的问题。也 不需要做什么配置。我们就像对等网络,所有节点都可以读写,举个例子,我们不用关心主数据库的故障恢复或是从复制数据库读取数据??我们可以即时添加、移 除资源,以满足扩展和HA的要求,我们现在在一家电信公司里面就是这么运行的。

  Xeround通常会按每GB每小时收 费,但是他们打算提供免费版本,供小型应用和开发使用,数据库有10MB的限制;还有两种新的固定版本,具备更高可扩展性、更多支持和SLA:基本版-- 数据库上限100MB,每月17美元;专业版--数据库上限250MB,每月33美元。Xeround Free目前仅在Amazon的美国区域可用,并且作为Heroku的插件提供,同时有计划将服务扩展到其他数据中心,而基本版和专业版在Amazon、 Rackspace和Heroku上都有提供。

  还有其他类似解决方案。Database.com的服务,通过Progress Software的ODBC和JDBCConnect Drivers连接驱动提供(目前仍是beta版本)。

  同样处于beta版的NuoDB,也是一个NoSQL数据库,带有SQL前端, 可以解析SQL 92标准语句,同时支持99标准扩展,应用也可以通过ODBC、JDBC以及ActiveRecord驱动访问。NuoDB可以在任何键值对存储中运行, 而且可以部署在Amazon和Rackspace等云之上。

  Clustrix提供硬件解决方案,并声称:当节点加入到数据库集群中时,可以提供线性可扩展性。配备的硬件是:4核或8核处理器、24至48G内存,以及448至896GB的SSD存储。它也支持MySQL,提供容错机制,可以像管理单个数据库一样查看和管理整个集群。

  VoltDB是内存中的关系型数据库,带有SQL和ACID事务支持,同时集成Hadoop和OLAP数据库,广告声称:因为使用Shared-nothing架构,它提供出色的可扩展性。它没有提供“数据库作为服务”方式,而是作为数据中心使用的软件解决方案。它与EC2和VMWare的镜像一起提供,用户可以评估它在云中的表现。