Hadoop之父谈开源:更好的创建软件的方式

编辑: 16 / 12 / 2014 3,349 次围观

Hadoop是目前大数据领域最重要的系统,这样一个系统它完全构建在开源构架之上。

Hadoop之父,目前也是Apache基金会主席、Cloudera公司首选构架师的Doug Cutting近日出席了英特尔组织的iTalk大会并发表了演讲。

在演讲中Doug Cutting回顾了自己创建Hadoop的简单历史,他认为开源是比传统方式更好的软件创作方式。

Hadoop之父

Doug Cutting认为开源有以下这些特点:

开源并不一定从一开产生最好的软件,但因为开源,人们信任它,所以会得到不断的改进,以使之日臻完善。

开源保证了智力创造可以被持续的推进,而不会因为产权原因而停止。Doug Cutting从Lucene到雅虎再到Cloudera,Doug Cutting可以一直致力于其大数据方面的工作,持续为社区也为自己的企业做贡献。

开源可以让不同的软件和系统实现更好的互操作性,不同的软件可以互相组合实现更多的功能。

大企业可以通过开源软件找到互相之间共性的需求,从而一起投入而获得更好的投资回报。

开源软件有着无限的可能性,它随着需求的变化不断的发展。

以下是Doug Cutting的演讲以及相关的一些问答原文:

我想跟大家分享们过去取得的一些进展,还有我们未来的发展方向。英特尔的同事刚刚已经提到了,中国市场的机会不仅仅是来自硬件,我们看到了指数级的增长已经持续了大概15年,这也就是说,我们现在的数据和计算能力比过去15年的能力超越了已经是成数百万倍,我们的内存、联网的带宽和各种数据的级数都已经出现了指数性的增长。所有这些增长持续了这么长的时间,给我们所有的事情带来了根本性的变化。在其他的领域我们没有看到如此剧烈的变化,比如说刚刚提到的汽车、航空和房地产业。

我们所做的事情是在根本上改变了这个社会,可以称之为革命性的、阶段性的变化。我们现在不能够再看到这些单独的数据,而是把所有的数据放在一起来考虑。这后面的驱动因素是什么呢?现在使用计算机的人和正在使用这些设备的人,还有像英特尔的这些用户们,他们都正在推进整个进程的发展。我们可以稍微想一想现在使用电脑的人,不光是我们的台式计算机,还包括所使用的手腕上的设备、我们的机器车、各种传感器、摄像头等等,使用计算能力的这些设备无处不在、无所不在。而且这个趋势会持续继续下去,我们会看到越来越多的设备他们需要去使用计算能力,他们也会同时产生更多的数据,我们知道数据是有价值的,能够让我们了解到底这些设备让我们处理什么样的业务,能够帮助我们完成什么工作,如果把数据收集起来,我们可以把数据进行整合,然后就可以创造出来一个高清晰度的图像,就是关于各种设备它们运作的情况,而且也会了解到我们在这一块,我们的企业、我们的业务到底是怎么样进行的,这可以帮助我们的企业进一步改善和优化流程,扩展发展。我们可以不断地去创造一些人们能够负担得起的、性价比较高的设备,而这些设备会不断产生新的数据。我们看到越来越多的行业,它们已经通过利用分析数据的方式来提升业绩,不光是在高科技产业,包括在一些其他的行业比如采矿业、交通行业等等,这些行业它们都开始使用大数据。因为他们认识到通过使用数据可以获得更快的提升。因为数据的收集可以帮助他们更好的进行业绩的评估和衡量。

同时,我们需要有软件来支撑,我们要找到一种可以更好的创造软件的方式,在过去的20多年当中,我们看到现在有越来越大的趋势,就是开源的趋势。我们第一个非常成功的社区开源的项目就是Linux,Linux可以说在全球使用率最高的操作系统,是在手机、服务器等各种设备上都得到了使用。其实在它刚刚开始发明和使用的时候,Linux可能并不是最好的选择。但是因为在开源的平台之上,越来越多的开发者们参与进来,让Linux不断地完善,不断地提升。人们也非常喜欢开源平台,因为在平台之上,他们互相信任,他们不用担心要付费,他们可以根据自己的需求来进行修改。而我自己个人的经历,我在一些项目当中也参与到开源社区当中,当时还是在90年代的时候,后来到了2000年,我在开发一个项目,就是专门写一个跟搜索相关的引擎,当然在那时候还没有非常好的商业上可以用的搜索的技术。但是我想如果是开源的话,在这方面我们可以做得更好,所以在2000年之后就变成开源的了,而现在已经变成在全球使用率最高的一种搜索技术。

也就是说,我们对于一个技术来说,它可能并不需要在一开始的时候非常完美,如果是开源的,大家也非常愿意去使用它,并且围绕这一项技术开展一些延伸的业务,它就会对我们其他商界的人士带来更多的价值。而他们可能会获得更大的成功。在2003年到2004年的时候,我就帮助Lucene来建立起这一个搜索的引擎,而且也把我们平台上相关的技术进行整合,就跟谷歌和其他的一些公司,还有一些合作,比如说为他们提供一些技术,但是其实我们觉得这个问题就是你不是在一台计算机上去完成所有的任务,所以我们就把不同的计算机来进行整合,同时并行的来运作。我们当时有5台计算机来共同平行处理这一项任务。其实我们要进行操作的话是非常难的,如果我们要同时让这5台计算机运作的话,相当于需要有一个人全职的来做这一份工作。在这一方面,如果我们有越来越多的计算机,比如说上千台计算机同时运作的话,也需要几百个人来进行运作。所以在2000年左右的时候,谷歌他们出了一个报告,最开始在这方面他们有一个工具专门来进行数据的存储,而且可以实现自动化的可靠性,如果一台机器死机或者是停止运作,你的数据不会丢失,这个系统会继续运作,你不会有任何担心,数据不会消失。

在一年之后所发布的一篇报告,又讲到数据,尤其是跨数据相应的处理。而且可以实现自动化的可靠性,这相当于是一场比赛和竞赛。让我们享有了巨大的先机和优势,这正因为我们的这个搜索引擎它是采用了开源的方式,而且这个技术后来也得到了谷歌的应用。在一年之后,也就是2005年我们的项目也非常奏效,我们尽可能多的去进行改善,就发现这个项目也是Lucene的项目,让我们看到了更多的可能性,因为我们知道硬件不再昂贵,我们可以非常容易的进行扩展。我们可以存储GB,甚至是更大容量的数据,而且这并不会要求有非常高的造价。当然我们所说的可靠性依然不是百分之百的,而且还是有安全性的问题,也是有一些其他方面的问题。所以我们必须要去寻求一些帮助,能够让我们更好的去提升可靠性。

当时雅虎非常感兴趣,希望可以向我们进行投资,所以在2006年的时候我加入到雅虎。我们建立起来一个新的项目,基于之前项目的成果。我们的项目开始帮助我们进行性能的提升,而且也进行了一系列的试验,最开始有几百台机器同时运作,我们有更多的工程师来帮助我们,可以帮助我们把一些漏洞去除,而且可以更好的去提升,而且我们同时还一起着力去解决项目当中的一些缺陷,包括安全性的问题。我们发现用指纹来解决安全性是完全失败的,因为这个系统就可能会直接死机。英特尔给我们提供了一些其他的技术,经过我们不断地尝试,不断地试验,我们发现在这一块,这个平台有了一些颠覆式或者重大的突破。而在这一块,我们可以说取得了巨大的进步。比如说我们使用Scheduler可以进行进一步的提升,所以我们不断地去提升这个平台的成熟性。通过我们持续不断的努力,尤其是来自于开源社区的不断持续的努力,我们在这方面相当于展开了竞争。后来我们发现也取得一个非常令人瞩目的成就,这些不同的竞争,我们在这个平台上不同类型的竞争,可以进行批次性的竞争,也就是打补丁的这种竞争,它可以帮助我们进行功能的调节,比如说有一些功能可以减少,有一些功能可以增加。而随后我们也增加了一些其他的语言版本,可以直接用SQL来进行编程,而且逐渐的发现我们还有我们的开发者们,它们也开始也一些其他的补丁,然后增加了平台的功能性和可用性。比如说可以用这种增加式的、在线的HBASE可以实时的运行一些在线的应用程序。我们使用的是调度同样的安全机制。在此之后,我们的系统它可以让我们完成更好的互动性的交互,而不是闭环式的交互,而且我们也看到有一些其他的程控,比如说大家也听过了我们内存方面的进展,比如说Spark和GraphLab等等,而且Spark同时还可以支撑我们的流处理,先进行数据的收集,然后就可以进行数据实时的传输。这一个生态系统不断地增强,它帮助我们使用不同的方式来进行运行,因此我们不再需要建立起一个针对某一个应用程序的系统,然后再来下载数据,把数据下载到应用当中,然后再来进行运行,而你为了其他的应用,又要独立创建出一套新的架构,现在不需要这样了,你可以把你所有的数据都输入到一个系统当中,而且不同的应用可以分享同一套数据。因为你有一系列的工具,可供选择,而且你的存储也是造价比较低的,是可以承受的,所以这就给我们带来新的运行的可能性。

在一开始的时候,我们有很多人他们在做类似的任务,类似的工作。因为在当时我希望可以尽可能把我们的想法能够付诸于实践,我们也有不同的供应商,他们也在进行尝试,他们在进行竞争,想知道到底谁能够胜出,但是后来发现大家在进行一些整合,而且也在寻求一些标准,比如说IBM、甲骨文、微软,所有的这些大的厂商,他们都达成一致,觉得其实我们需要有一个大数据的平台。我们可以在这个平台上一起做事情,所以看到这样的一个行业的趋势得到了大家的认可。我们把它叫做企业的数据中心,企业数据中心可以支持不同的,刚刚提到的这些风格,而且现在使用的人数也越来越多,他们可以在上面使用自己新的应用程序,可以把它作为默认的平台。我的同事,他用智能手机来做了比喻,我们的智能手机既是手机,也是计算器,是摄像机,也可以帮我们来追踪活动,可以帮我们记录日历,有很多种功能,而且所有的功能都不一定是最佳的功能,肯定不是你能买到最好的照相机,但是我们今天90%的照片都是用智能手机拍摄的,因为智能手机在那儿,你知道怎么样来用它,而且它里面也集成了所有的生活当中用到的工具,可以发送照片、可以分享照片、可以用手机来做很多的事情。相似的事情是当我们提到企业数据中心的时候,它的作用也是类似的。我们并不是使用独立的系统。我觉得以后大家会越来越多的使用数据中心的,因为我们所有的工具都是集成在一起的,这样的话我们就可以通过Cloudera和英特尔的合作,为大家来集成更多的工具,实现这些功能,弥补我们各个项目之间的空缺,可以把20个社区之间的差距弥补起来。这样的话就可以让人们来把所有的数据整合在一个地方,从中盈利。

问答环节相关部分:

提问:下面一个问题是关于成果转化或者说成熟度的事情,我想问Doug Cutting,刚才您讲的是借助OpenSource的模式,您也举了Linux这样一个非常成熟或者已经得到广大企业用户认可的产品,像Hadoop这样的一个平台,它在这里面从开源社区取之于开源社区,要用之于企业级的用户,这之间的转化怎么确保产品到最终企业用户的质量和成熟度的过程。不知道您能不能在这里跟大家分享一下。

Doug  Cutting我觉得现在的企业它们是参与到这个过程当中已经很长时间了,比如说Linux,由各个不同的行业企业来写,由他们来支付的。所以这是一个很好的开源的案例。我觉得关于开源是有这样的迷思的,大多数的人他们都会看到不同的公司之间会开展协作,他们会认可到自己客户需要使用哪种软件,他们会采用哪种软件,他们会在开源的平台上来协作,使用这样的标准来开发产品,所以我觉得这二者之间并不矛盾,我们可以在开源的环境下来开发和分享。

提问:我想问一下吴院长和Doug  Cutting一个关于开源明年将会发生哪些事情,从Hadoop到去年的Spark,再到今年的Docker,开源市场每年都有一个新的热点,问一下两位是否能够预测一下明年的开源市场这个热点将会发生在哪里?

Doug  Cutting:实际上有人问过我Linux的创始人,Linux的未来会是什么样,他说出来什么就是是什么,大家贡献出来什么就是什么,所以对我来说,我也跟你一样很好奇,Cloudera现在正在做很多的投入,我们现在并不是说在做一些投机的活动,而是想要更好的在不同的系统之间实现平滑的过度,让我们的集成更加的完善、更加的安全,可以增加更多的性能。所以我认为我们今天有很多的功能已经实现,在某种程度上我们如果速度慢下来的话,也可以从中获益,我们已经有很多的SQL引擎,还有很好的Stream engine,我们还有很好的NSQL数据库,所有这些标准和功能都已经实现了。其中有一个交易的领域,尤其是在线“OLTP”的交易,它的需求还没有很好的完成,我们现在有三四个项目来做这方面的工作。这不是一个经典的大数据的领域,这个传统的数据库就可以满足大部分的需求。但是它是一个可扩展的大数据,实际上是有一些大数据的需求。我认为我们会看到机器学习的实验室会越来越成熟,现在有很多的机器学习的实验室,它们之间可以更好的整合,我觉得会发生这样的事情,但是我很确定肯定有很多事情是我坐在这里没法儿预测出来的。

猎牛网
猎牛网 编辑
双引号 猎牛网是一个专注科技观点和智能硬件评测的科技媒体,这里有各领域资深人士针对产品给出的专属测评报告和最新的科技资讯,全方位解读移动互联网。 双引号
切换注册

登录

忘记密码 ?

切换登录

注册