李元佳谈 Greenplum 开源背后的动机
2015-11-02 11:01:32 阿炯

本站赞助商链接,请多关照。 作者:李元佳

这几天最大的消息莫过于 Greenplum 的开源,年初开始 Pivotal 就宣布了 greenplum 的开源,经过大半年的翘首等待,终于在十月底在欧洲的 Postgres 大会宣布开源,并兑现在 Github 上开放代码,社区的官网在其官方博客也有提到相关事项。代码是采用 Apache 许可,今天已经有社区的朋友尝鲜从社区取下代码,在 Greenplum 上测试了 tpch 的性能,虽然测试比较粗糙但是结果基本和商业版的一样,印证了之前 greenplum 将走向全开源的消息。虽然里面关键的新一代优化器 orca 还没有看到代码,但据消息这部分后续也会开出来,估计这个是其对这个最核心资产的一个谨慎的操作。

总体的印象来看,其采取开放的 Apache 许可,代码基本上无保留开源,这次的开源更大程度是公司层面的战略行为,而不是简单的市场推广的战术行为。Greenplum 的开源,在我看来有几个驱动力。

首先是受其 cloud foundry 开源战略成功的驱动。pivotal在整个emc联邦的定位来说是偏中间件这一层,emc是存储,vmware是虚拟化,pivotal要搞定的是PaaS。而pivotal的业务上来说,要把云和大数据这两个支柱搞定,才能把emc联邦的疆域稳定下来。云这一层来说vmware已经是私有云的霸主,而剩下的上层PaaS这一层如果落入他人之手对其来说也是一个大威胁,所以PaaS这一层也是志在必得。鉴于当时已经在市场有很多对手,2011年的时候cloudfoundry启动是以开源的模式来去做,把IBM和HP拉上。这个战略取得了出人意料的巨大成功,现在CF几乎要变成了PaaS的事实标准,IBM也推出了基于CF的bluemix产品,而pivotal在今年发布的2014年的财报,极为惹眼的标题:破纪录的2014年,史上最快的开源产品销售增长,在短短的一年里,就获得4千万美金的软件销售收入,另外也获得了财富500强中的100个客户!这对于基础软件来说,基本是神话。说了这么多,无外乎就是给大家强调一下,整个pivotal在cloudfoudry的巨大成功下,对于开源的认识已经到了商业战略的层次,已经不需要去讨论要不要开源,开源已经成为杀手级的武器!在此背景下我们来去理解greenplum的开源才更容易理解。

其次,Pivotal 的大数据战场,需要新的战略调整。上面提到,除了云以外,Pivotal的战略重心是大数据,Pivotal除了有自己的hadoop发行版以外还有greenplum作为大数据最重要的资产。但是大数据整个市场都不是太理想,Hadoop发行版除了有Cloudera,Hortonworks,MapR这三个第三方发行版以外,还有Pivotal,IBM,Intel这些厂商本身的发行版,市场最突出的问题是碎片化(fragmented),Hadoop的门槛低,厂商林立,同质化严重,不仅仅难以溢价出售,传统大厂商靠溢价销售基础软件获取超额利益的路子开始行不通;更为重要的是越来越多的客户倾向于使用第三方独立的发行版,道理不难理解,用户更希望的是Linux生态里面有Redhat和SuSe这样的发行厂商,而不希望类似AIX或者是Windows Server这种由厂商控制的生态,这个更加加剧了厂商面临的困境。Intel由于其发行版的糟糕市场表现,开始陆续解散自己的Hadoop团队,国内的星环就是在这个背景下诞生,2014年Intel重金投资Cloudera 7.4亿美金取得18%的股权,Dell也投入Cloudera的阵营,HP、微软、Teradata则倾向于直接使用Hortonworks的发行版,HP还投资了Hortonworks。但是Cloudera的优势明显,营收是Hortonworks的将近一倍,Cloudera俨然有成为Hadoop生态的新的霸主的阵势,市场格局开始慢慢固化,Intel有可能是这场战役的赢家。在这样的市场格局里面,Pivotal的困境可想而知,HD的发行版肯定需要重新调整策略,所以Pivotal联合IBM、GE等15个弱势玩家, 在今年3月宣告成立ODPOpen Data Platform组织,本质上是希望通过支持Hortonworks抗衡Cloudera,取得平衡。但是这个赌注的胜算并不明显,Cloudera的CEO甚至公开嘲讽ODP,说其出现本身就是Cloudera的一个胜利,Greenplum的开源正是作为ODP的砝码而出现,Pivotal决定把HD发行版、Gemfire、HAWQ还有Greenplum开源,所以从这个角度我们看到,Greenplum的开源本身,就是Pivotal希望赢回这场战役的一个砝码,对其而言,越多人用越好,没有必要隐藏任何功能。

其实在 Greenplum 开源之前,MPP 数据库的日子也并不好过,也是市场碎片化,每个厂家也就区区几千万美金的营收,市场难以有大的突破,传统丰厚的 DW 市场也难以打入,Hadoop 生态又是以开源为主,甚至很多类似 Impala 这样的产品也在做其类似的功能,传统的打不开,新市场又难以全面打开,而且竞争重重,进退两难。而Greenplum十多年来的架构也无力进行大的调整。正是在这样的背景下,倒不如开源,盘活大局。下面这篇文章称其举动为 open sourcing code is the modern graceful way to retire an unprofitable product line.

Greenplum 的开源应该是相对比较激进和带有攻击性(aggressive)一着棋,成败难料,但对于整个生态会有比较大的影响。



Greenplum转身:Hadoop是数据库的未来

杰夫·哈梅巴赫(Jeff Hammerbacher)说,Facebook尝试了所有的(分析数据库),但没有一个能做到这家网络巨头需要它们做的。哈梅巴赫是哈佛大学毕业的数学家,在2006年被聘请到Facebook,他的工作是治理马克·扎克伯格(Mark Zuckerberg)的社交网络所产生的所有数据 - 弄明白人们过去在这个网站上面做些什么,并找到提高服务水平的新途径。但哈梅巴赫记得,当这项服务覆盖到数以百万计的人群,它所产生的数据,超过了该公司手边软件的分析能力:一个老式的Oracle数据库。

当时,一长队的初创企业提供了各种新的数据库,用以存储和分析海量的数据,如 Greenplum,Vertica,和Nete​​zza。哈梅巴赫和Facebook一一尝试过,但是,它们统统不适合这项任务。最后,Facebook迁移到了一个鲜为人知的开源软件平台,它就是刚在雅虎落地的Hadoop,Hadoop的建立是为了利用数以千计的普通计算机服务器的威力。不同于 Greenplums和Verticas,哈梅巴赫说,Hadoop可以存储和处理迅速成为世界上最流行的社交网络所产生的不断扩大的海量数据。

在接下来的几年中,Hadoop不仅在改造了Facebook和雅虎,也改造了许多其他Web服务的数据分析。然后一大批的商业软件供应商开始将Hadoop销售到其他领域。很快地,即使是像甲骨文和Greenplum这样的企业也在兜售Hadoop。Hadoop在这些公司仍然被视为传统数据库的一种辅助 - 作为一种工具,只适合某些类型的数据分析。但现在,这也在发生变化。

Greenplum - 现在为高科技巨头EMC所拥有 - 透露,该公司已经花了近两年的时间构建一个全新的Hadoop平台,它相信将把传统数据库甩在身后。这个工具被称为Pivotal HD,可以存储大量的信息,但它的设计在于让速度明显快于现有的开源平台。“我们认为,我们面临一个重大的转变,企业都在寻找一套规范,应用程序可以很容易地运行在现有的数据架构和关系数据库上,”Paul Martiz说,他是曾经是微软的高管,现在负责Greenplum。企业需要有新的数据架构,Maritz说,这个架构的起点就是Hadoop。这是一个令人惊讶的声明 - 从这样的一家公司,其原有的业务围绕着一个关系型的数据库,以整齐的行和列存储数据。但是,Greenplum和EMC只是承认了杰夫·哈梅巴赫和Facebook多年前得到的结论:Hadoop非常适合的现代企业所面临的海量数据存储和处理。

更重要的是,Greenplum的改造,使得Hadoop的操作更像是一个关系型数据库,让你快速地使用结构化查询语言(SQL),几十年来后者一直主导着数据库的世界。“当我们被EMC收购,我们真的相信这两个世界融合在一起,”Greenplum的联合创始人Scott Yara说,“这是令人兴奋的是,如果你可以将大规模并行查询处理技术带到数据库系统中(像Greenplum),并基本上与Hadoop平台融合。”

一直以来困扰Hadoop的问题是,它需要如此多的时间来分析数据。它是一个“批处理系统”,使用一个叫做Hadoop MapReduce的框架,你有建立各种复杂程序以处理巨大数量的数据的自由,但是当你给它任务,你需要等待几个小时甚至数天的响应时间。通过新系统, Greenplum的努力改变这种状况。一个由前微软数据库设计师Florian Waas领导的研究小组,设计了一个新的“查询引擎”,针对存储在一个庞大的使用Hadoop文件系统(HDFS)的集群系统的数据,它可以更快地运行SQL查询。开源工具如Hive长期以来提供了在Hadoop数据上运行SQL查询的方式,然而,这也是一个批处理系统,完成查询需要相当长的时间。

作为Pivotal HD的一部分,这个查询引擎将在今年晚些时候首次亮相。Greenplum现在是EMC子公司The Pivotal Initiative举足轻重的部分,旨在将一些新时代的网络技术和工艺带到一般的企业。这一次,Greenplum与杰夫·哈梅巴赫完全一致。在离开Facebook之后,哈梅巴赫帮助创建了一个Hadoop初创公司Cloudera,去年年底,他推出了一个系统,称为Impala,也试图在Hadoop之上运行实时查询。但是,根据Waas和Yara的说法,运行Hadoop之上的SQL查询,Pivotal HD是明显比Impala及许多其他同类工具要快。Yara声称,Pivotal HD至少比Impala快100倍。

需要注意的是,Waas表示,当Pivotal HD正在运行查询时,如果一台服务器崩溃,你将不得不重新启动查询。这与人们所期望的运行在Hadoop上的工作有一点不同,Hadoop是专为设计以在一个大型的服务器集群上保持运行,即使其中单独的机器出现故障 - 因为这是不可避免的。

“Pivotal HD的查询扩展的表现略有不同,它们需要重新启动查询,当一台机器掉队时,”他说,“一个单独的查询需要重新启动,但系统功能的完整性、可及性和实用性都可以保证继续。我们认为这是几个数量级的性能提升的一个小代价,在这个过程中我们没有加工任何结果。”传统的数据库总是有它的位置。即使是Greenplum,也将继续提供其原始的数据仓库工具,它是基于开源的PostgreSQL数据库。但该公司的新查询引擎表明了另外的信号:Hadoop将继续重塑企业处理他们的数据的模式。不仅仅是网络巨头,而是所有的企业。