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

阅读数:2596 2012 年 2 月 12 日

话题:DevOpsAI

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

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 的ODBCJDBCConnect 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 的镜像一起提供,用户可以评估它在云中的表现。

查看英文原文:Hybrid SQL-NoSQL Databases Are Gaining Ground