EMC推进Hadoop在SQL数据库Hawq中的应用

EMC完成了一项出色的异种融合工作,将Hadoop与Greenplum整合在一起,得到了支持SQL语言的数据库Hawq。

Hadoop一直与事务处理和数据仓储系统中所用的关系数据库配套使用,但是它其实也可以支持其他的语言。当然,你也可以在类似于Hive SQL的数据仓储系统中使用Hadoop分布式文件系统(HDFS),但是查询的速度就不一定能够保证了。 如果你想要保证查询的快速,你可以用Cloudera在去年10月份发布的Project Impala分布式查询引擎来加快;类似于Hive SQL的查询。

但是你真正想要的是让Hadoop能够识别和支持SQL语言。 你希望享受到HDFS所具备的所有内在可测量性和复制优势,让它能够支持标准SQL查询或支持SQL的其他任何工具,当然那些工具大部分指的是各种商业分析语言。

简而言之,那就是EMC的Greenplum开发团队在Project Hawq项目上取得的成果。据Greenplum联合创始人兼高级产品主管Scott Yara称,EMC的数据仓储和Hadoop部门经过十多年的基础性研发,为Greenplum开发出大量并联关系数据库,并且让它能够与Teradata、IBM、甲骨文和其他厂商推出的同类产品进行竞争。

Project Hawq项目这个SQL数据库层位于HDFS顶部,而不是想利用一个非SQL数据库来替代它。Project Hawq将成为EMC的Pivotal Hadoop Distribution或简称为Pivotal HD的最新Hadoop产品的一部分。

那个名称很重要。Greenplum是Pivotal Initiative计划的一部分,EMC在去年12月时说过,Pivotal Initiative计划的目的是将其并联数据库、Hadoop、应用框架和其他一些资产整合到一个部门之中。

Pivotal这个名称来自于灵活的编程设备,Greenplum习惯利用那些编程设备用来协助完成其管理软件的部分编程工作,EMC在去年3月面向Greenplum数据库和Hadoop推出Chorus管理工具并将它转为开源项目时决定收购它。

Pivotal HD已于本周一在旧金山召开的发布会上正式发布,但是Pivotal部门却还未正式成立。成立Pivotal部门是EMC首席战略官Paul Maritz自2012年7月辞去VMware首席执行官职务后着手的第一项重要工作。

乘坐着大象的Hawq重重地踏在一只黑斑羚上

EMC发布Pivotal HD是建立在开源阿帕奇Hadoop 2.0基础之上的,当然Greenplum并联数据库和相关工具还会提供更多的好处。

目前还不清楚EMC是否将把所有这些技术都开源,这也是El Reg目前正在关注的问题之一。现在很难预测EMC下一步会怎么做,但是考虑到现在已经有一个社区版本的Pivotal HD和不支持SQL-on-HDFS数据库功能但具备付费企业级支持功能的企业版本的Pivotal HD以及企业版本基础上的插件Pivotal Advanced Database Services可以给HDFS中存储的数据提供SQL查询功能,似乎EMC不太可能将Greenplum的所有技术都开源。

原因是虽然Yara在发布会展示中将它称为“王冠”,但是Project Hawq其实是整个Greenplum中的最有价值的瑰宝;Yara称,公司成立了一个由300多人组成的工程技术团队,在过去2年里一直在开发指向HDFS的数据库扩展项目。Yara称,这是全球最大的Hadoop开发团队,并且他还多次强调EMC正全力以赴地开发Hadoop,因为公司相信Hadoop将会成为一种新的数据结构的基础。

Hawq并不是任何特定事物的首字母缩写词,而是工程师们偶然想到的一种鸟的名字,就象Hadoop项目中使用其他动物做产品的名字一样。为了营销上的便利,工程师们将名称中的字母k换成了字母q。

EMC的Pivotal HD系列产品的产品经理Josh Klahr解释说,Hadoop向HDFS的Hawq扩展将它变成了一个数据库。他说:“Hawq实际上就是一个大规模并行处理工程或MPP,数据库运行 在Hadoop中,位于HDFS的顶部。作为一个单一的系统,它将一整套聚合基础设施嵌入系统,那套聚合基础设施可以运行和提供Hadoop和HDFS必 须提供的所有功能以及你能从MPP数据库中获得的规模、性能和可查询功能。”

如果你不相信Klahr,就给他发邮件吧。我个人认为,这里要么是Hawq存在一些限制,要么是关系数据库存在一些限制。

Klahr进一步解释说:“它其实就是一种SQL语言兼容性,我没有轻易去使用那些字眼。它与SQL并不相似。 你可以利用Hawq编写任何SQL查询命令,然后将它放到Hadoop顶部运行。SQL-99、SQL-92、SQL-2011、SQL-2003,我相信还有其他年份的SQL存在。”

运行在Hadoop和HDFS顶部的SQL引擎可以由数百个服务器结点扩展到数千个服务器结点的规模,它源自于Greenplum数据库的优化产品,因此,为什么我们不会看到它们被开源呢?

它内嵌了现成的安全和报告功能,使用标准的Hadoop格式。你可以在一个文本文件、一个序列文件或是Avro输出中制定它,你可以阅读HBase 柱形图表(如果你已经对HBase进行过投资的话)并且以一种天生支持Hawq的优化形式(这样可以提高性能)来写入数据库信息。

据EMC称,与面向批处理的查询相比,HDFS和Hawq的结合可以将性能提高10倍到600倍。那会将间歇式系统转变成互动式系统。 这是上个世纪六七十年代的主机的优势,那也是将Hadoop变成其工具箱的一部分所需完成的任务。

Pivotal HD产品包包括Hadoop 2.0以及它的MapReduce并行执行编程环境和HDFS。你可以利用Hive数据仓储、HBase关键价值商店、Pig开发语言、Yarn资源管理、Mahout并联分析工具和Zookeeper进程管理工具。

Pivotal Hadoopery还包括被EMC称为Hardware Virtual Extensions的组件,它可以让Hadoop群集知道自己是建立在虚拟机还是物理服务器的基础上,并且很可能会是VMware的Project Serengeti项目商业化之后的成果。

这款产品还包括一个安装和配置管理工具、一个名为指挥中心的任务追踪机制、一个来自于Greenplum数据库的并行数据加载工具。Spring Batch功能是从Cloud Foundry项目中提取出来并针对Hadoop优化后的Java框架。

Pivotal HD将在今年第一季度开始销售,El Reg证实核心企业版和Hawq Advanced Database Services插件都将在第一季度末之前上市销售。

这套软件运行在EMC的Data Computing Appliances平台之上,后者是EMC在2010年10月收购了Greenplum之后发布的。它还将运行在2011年9月宣布推出的switch-hitting DCA上,后者可以在工作负载发生变化时启动Greenplum数据库或Hadoop结点,但是不会象Pivotal HD那样将两种工作负载合并在一起。

如果你想在自己的设备上运行它,你也可以购买软件版的Pivotal HD。但EMC没有透露该产品的定价信息。