首页 > 代码库 > Google抛弃MapReduce使用Cloud Dataflow

Google抛弃MapReduce使用Cloud Dataflow

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服务的服务级别以及十几个非谷歌提供的开源软件包。