Google后Hadoop时代的新“三驾马车”——Caffeine、Pregel、Dremel

标签: google hadoop 时代 | 发表时间:2014-02-15 15:22 | 作者:xinklabi
出处:http://www.iteye.com

摘要:Google在2003年到2004年公布了关于GFS、 MapReduce和BigTable三篇技术论文,这也成为后来云计算发展的重要基石,如今Google在后Hadoop时代的新“三驾马车”—— Caffeine、Pregel、Dremel再一次影响着全球大数据技术的发展潮流。

Mike Olson是Hadoop运动背后的主要推动者,但这还远远不够,目前Google内部使用的大数据软件Dremel使大数据处理起来更加智能。

Mike Olson目前任职于世界上最热的软件专业公司——Cloudera(硅谷的创业企业),并担任Cloudera的首席执行官。Cloudera围绕开源 软件平台Hadoop发展自身的业务,开源软件平台Hadoop已经使得Google变身网络上最主导的力量。

预计到2016年Hadoop将会推动软件市场,并创造8.13亿美元的价值。不过Mike Olson表示这已经是老新闻了。

Hadoop的火爆要得益于Google在2003年底和2004年公布的两篇研究论文,其中一份描述了 GFS(Google File System),GFS是一个可扩展的大型数据密集型应用的分布式文件系统,该文件系统可在廉价的硬件上运行,并具有可靠的容错能力,该文件系统可为用户提供极高的计算性能,而同时具备最小的硬件投资和运营成本。

另外一篇则描述了 MapReduce,MapReduce 是一种处理大型及超大型数据集并生成相关执行的编程模型。其主要思想是从函数式编程语言里借来的,同时也包含了从矢量编程语言里借来的特性。基于 MapReduce编写的程序是在成千上万的普通PC机上被并行分布式自动执行的。8年后,Hadoop已经被广泛使用在网络上,并涉及数据分析和各类数 学运算任务。但Google却提出更好的技术。

在2009年,网络巨头开始使用新的技术取代GFS和MapReduce。Mike Olson表示“这些技术代表未来的趋势。如果你想知道大规模、高性能的数据处理基础设施的未来趋势如何,我建议你看看Google即将推出的研究论文”。

自Hadoop兴起以来,Google已经发布了三篇研究论文,主要阐述了基础设施如何支持庞大网络操作。其中一份详细描述了Caffeine,Caffeine主要为Google网络搜索引擎提供支持。

在Google采用Caffeine之前,Google使用MapReduce和分布式文件系统(如GFS)来构建搜索索引(从已知的Web页面索引 中)。在2010年,Google搜索引擎发生了重大变革。Google将其搜索迁移到新的软件平台,他们称之为“Caffeine”。Caffeine 是Google出自自身的设计,Caffeine使Google能够更迅速的添加新的链接(包括新闻报道以及博客文章等)到自身大规模的网站索引系统中, 相比于以往的系统,新系统可提供“50%新生”的搜索结果。

在本质上Caffeine丢弃MapReduce转而将索引放置在由Google开发的分布式数据库BigTable上。作为Google继GFS和 MapReduce两项创新后的又一项创新,其在设计用来针对海量数据处理情形下的管理结构型数据方面具有巨大的优势。这种海量数据可以定义为在云计算平 台中数千台普通服务器上PB级的数据。

另一篇介绍了Pregel,Pregel主要绘制大量网上信息之间关系的“图形数据库”。而最吸引人的一篇论文要属被称之为Dremel的工具。 

点击查看大图

专注于大型数据中心规模软件平台的加利福尼亚伯克利分校计算机科学教授Armando Fox表示“如果你事先告诉我Dremel可以做什么,那么我不会相信你可以把它开发出来”。

Dremel是一种分析信息的方式,Dremel可跨越数千台服务器运行,允许“查询”大量的数据,如Web文档集合或数字图书馆,甚至是数以百万计的垃圾信息的数据描述。这类似于使用结构化查询语言分析传统关系数据库,这种方式在过去几十年被广泛使用在世界各地。

Google基础设施负责人Urs Hölzle表示“使用Dremel就好比你拥有类似SQL的语言,并可以无需任何编程的情况下只需将请求输入命令行中就可以很容易的制定即席查询和重复查询”。

区别在于Dremel可以在极快的速度处理网络规模的海量数据。据Google提交的文件显示你可以在几秒的时间处理PB级的数据查询。

目前Hadoop已经提供了在庞大数据集上运行类似SQL的查询工具(如Hadoop生态圈中的项目Pig和Hive)。但其会有一些延迟,例如当部署任 务时,可能需要几分钟的时间或者几小时的时间来执行任务,虽然可以得到查询结果,但相比于Pig和Hive,Dremel几乎是瞬时的。

Holzle表示Dremel可移执行多种查询,而同样的任务如果使用MapReduce来执行通差需要一个工作序列,但执行时间确实前者的一小部分。Dremel可在大约3秒钟时间里处理1PB的数据查询请求。

Armando Fox表示Dremel是史无前例的,Hadoop作为大数据运动的核心一直致力构建分析海量数据工具的生态圈。但就目前的大数据工具往往存在一个缺陷, 与传统的数据分析或商业智能工具相比,Hadoop在数据分析的速度和精度上还无法相比。但目前Dremel做到了鱼和熊掌兼得。

Dremel做到了“不可能完成的任务”,Dremel设法将海量的数据分析于对数据的深入挖掘进行有机的结合。Dremel所处理的数据规模的速度实在令人印象深刻,你可以舒适的探索数据。在Dremel出现之前还没有类似的系统可以做的像Dremel这样出色。

据Google提交的文件来看,Google从2006年就在内部使用这个平 台,有“数千名”的Google员工使用Dremel来分析一切,从Google各种服务的软件崩溃报告到Google数据中心内的磁盘行为。这种工具有 时会在数十台服务器上使用,有时则会在数以千计的服务器上使用。

Mike Olson表示尽管Hadoop取得的成功不容置疑,但构建Hadoop生态圈的公司和企业显然慢了,而同样的情况也出现在Dremel上,Google 在2010年公布了Dremel的相关文档,但这个平台还没有被第三方企业充分利用起来,目前以色列的工程团队正在建设被称为OpenDremel的克隆 平台。David Gruzman表示OpenDremel目前仅仅还在开始阶段,还需要很长时间进行完善。

换句话说即使你不是Google的工程师你同样可以使用Dremel。Google现在提供的 BigQuery的服务就是基于Dremel。用户可通过在线API来使用这个平台。用户可以把数据上传到Google,并在Google基础设施中运行用户的查询服务。而这只是Google越来越多云服务的一部分。

早期用户通过Google App Engine构建、运行、并将应用托管在Google基础设施平台之上。而现今Google提供了包括BigQuery和Google Compute Engine等服务和基础设施,这些服务和基础设施可使用户瞬时接入虚拟服务器。

全球很多技术都落后于Google,而Google自身的技术也正在影响全球。(李智/编辑)



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [google hadoop 时代] 推荐:

Google后Hadoop时代的新“三驾马车”——Caffeine、Pregel、Dremel

- - 互联网 - ITeye博客
摘要:Google在2003年到2004年公布了关于GFS、 MapReduce和BigTable三篇技术论文,这也成为后来云计算发展的重要基石,如今Google在后Hadoop时代的新“三驾马车”—— Caffeine、Pregel、Dremel再一次影响着全球大数据技术的发展潮流. Mike Olson是Hadoop运动背后的主要推动者,但这还远远不够,目前Google内部使用的大数据软件Dremel使大数据处理起来更加智能.

华为公司在Hadoop重要贡献公司名单内 排在Google和Cisco之前

- Woooon - cnBeta.COM
Yahoo新成立的Hadoop公司Hortonworks,最近发布“Yahoo对Hadoop贡献”一文,标榜Yahoo是Hadoop最大贡献者,Cloudear CEO很不满,又爆出更为细致的分析数据, 从中,我们可以清晰看到各公司参与Hadoop参与情况:特别值得注意:华为公司在Hadoop重要贡献公司名单内,排在Google和Cisco的前面,说明华为公司也在积极参与开源社区贡献.

新读图时代:世间若无Google

- ST - 东西
评论  原文地址:http://soshable.com/a-world-without-google-infographics/. 多图杀猫,请耐心等待加载完毕,要相信速度再慢也不会比译者的网速慢滴 :-). 强烈推荐猛击 这里 以打印版方式围观高清大图~~~ .

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Hadoop使用(一)

- Pei - 博客园-首页原创精华区
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成. 其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上.

Hadoop MapReduce技巧

- - 简单文本
我在使用Hadoop编写MapReduce程序时,遇到了一些问题,通过在Google上查询资料,并结合自己对Hadoop的理解,逐一解决了这些问题. Hadoop对MapReduce中Key与Value的类型是有要求的,简单说来,这些类型必须支持Hadoop的序列化. 为了提高序列化的性能,Hadoop还为Java中常见的基本类型提供了相应地支持序列化的类型,如IntWritable,LongWritable,并为String类型提供了Text类型.

Hadoop TaskScheduler浅析

- - kouu&#39;s home
TaskScheduler,顾名思义,就是MapReduce中的任务调度器. 在MapReduce中,JobTracker接收JobClient提交的Job,将它们按InputFormat的划分以及其他相关配置,生成若干个Map和Reduce任务. 然后,当一个TaskTracker通过心跳告知JobTracker自己还有空闲的任务Slot时,JobTracker就会向其分派任务.

HADOOP安装

- - OracleDBA Blog---三少个人自留地
最近有时间看看hadoop的一些东西,而且在测试的环境上做了一些搭建的工作. 首先,安装前需要做一些准备工作. 使用一台pcserver作为测试服务器,同时使用Oracle VM VirtualBox来作为虚拟机的服务器. 新建了三个虚拟机以后,安装linux,我安装的linux的版本是redhat linux 5.4 x64版本.

Hadoop Corona介绍

- - 董的博客
Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/hadoop-corona/hadoop-corona/. Hadoop Corona是facebook开源的下一代MapReduce框架. 其基本设计动机和Apache的YARN一致,在此不再重复,读者可参考我的这篇文章 “下一代Apache Hadoop MapReduce框架的架构”.

Hadoop RPC机制

- - 企业架构 - ITeye博客
RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. Hadoop底层的交互都是通过 rpc进行的. 例如:datanode和namenode 、tasktracker和jobtracker、secondary namenode和namenode之间的通信都是通过rpc实现的.