Google 抛弃 MapReduce 使用 Cloud Dataflow

  • 孙镜涛

2014 年 6 月 27 日

话题:Google语言 & 开发架构

2004 年 Google 发表了一篇非常具有影响力的论文向全世界介绍了 MapReduce 框架,该框架可以把一个应用程序分解为许多并行计算指令,跨大量的计算节点运行非常巨大的数据集。时至今日,MapReduce 已经成为并行分布式计算领域的一个高度流行的基础设施和编程模型,它是 Apache Hadoop 的基础,被很多知名厂商所使用为其客户提供优质的数据服务。但是从最近在 San Francisco 召开的 Google I/O 大会上获悉 Google 已经抛弃了 MapReduce 框架转而使用一个新的云分析系统,它的名字叫做 Cloud Dataflow。来自于 Data Center Knowledge 的Yevgeniy Sverdlik 就发表了一篇文章对此做了介绍,下面是编者按照其文章组织的一些内容。

Google 之所以抛弃 MapReduce 的原因很可能是它已经难以处理 Google 目前所要分析的数据量了。Mountain View 公司负责技术基础设施的高级副总裁 Urs Hölzle 说:一旦数据量达到了 PB 级 MapReduce 就会变得难以处理。在 San Francisco 召开的 Google I/O 大会上 Hölzle 做了一个主题演讲,他提到他们从几年之前就已经不再使用 MapReduce 了。

对于 Cloud Dataflow Google 将会把它作为云平台上的一个服务提供给开发者,这些服务并没有 MapReduce 那样的扩展限制。Hölzle 说“Cloud Dataflow 是十多年分析经验的结晶,它将比市面上任何其他的系统运行的更快,扩展性也更好”。

“Cloud Dataflow 是一个完全托管的服务,它能够自动优化、部署、管理和扩展。它能够让开发者很容易地使用统一的编程为批处理和流服务创建复杂的管道”Hölzle 表示。

谷歌想到的这些所有的特性处理都无法在 MapReduce 上完成:它很难迅速地获取数据,它需要很多不同的技术,批处理和流无关,同时还需要部署并运维 MapReduce 集群。

Hölzle 还在他的主题演讲上展示了谷歌云平台上的一些其他的新服务:

  • Cloud Save是一个 API,它使应用程序能够将单个用户的数据保存在云端或其他地方,同时使用它不需要任何服务器端的编码。 Google PaaS(提供 App Engine)用户和 IaaS(提供 Compute Engine)用户都可以利用这个特性构建 App。
  • Cloud Debugging 让开发者能够更容易地筛选出部署在云端多台服务器上的软件代码中的 bug。
  • Cloud Tracing 提供了不同组之间的延迟统计(例如数据库服务调用的延迟)和分析报告。
  • Cloud Monitoring 是一款智能监控系统,它是与 Stackdriver(谷歌 5 月份收购的一个云监控初创公司)集成而产生的结果。该系统监控云基础设施资源,例如磁盘和虚拟机,还有 Google 服务的服务级别以及十几个非谷歌提供的开源软件包。

感谢景琦对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

Google语言 & 开发架构