石器时代
- 石器时代:MapReduce诞生之前的时期
- 数据的大规模处理问题早已存在,但数据的大规模处理技术还处于彷徨阶段
- 每个公司或个人都可能有自己的一套 工具 处理数据,但没有提炼抽象出一个系统的方法
青铜时代
- 2003年,MapReduce的诞生标志了超大规模数据处理的第一次革命
- 论文:《MapReduce: Simplified Data Processing on Large Clusters》
- Jeff Dean和Sanjay Ghemawat从纷繁复杂的业务逻辑中,抽象出通用的编程模型:Map和Reduce
- 后来的Hadoop是对GFS、BigTable、MapReduce的开源实现
蒸汽机时代
- 从2016年开始,Google在新员工的培训中把MapReduce替换成内部称为 FlumeJava 的数据处理技术
- FlumeJava不等同于Apache Flume,这标志着青铜时代的终结,同时标志着蒸汽机时代的开始
- Google FlumeJava对应的开源版本为 Apache Beam
MapReduce的缺点
高昂的维护成本
- 使用MapReduce,需要严格地遵循分步的Map和Reduce步骤
- 当构造复杂的处理架构时,往往需要 协调 多个Map和多个Reduce任务
- 但是每一步的MapReduce都有可能出错,为了处理这些异常,很多人开始设计自己的 协调系统 ,大大 增加整个系统的复杂度
- 真实的商业MapReduce场景 极端复杂
- 在应用过程中,每个MapReduce任务都可能出错,都需要重试和异常处理的机制
- 而协调这些子MapReduce的任务往往需要与业务逻辑 紧密耦合 的状态机
时间性能差
- MapReduce性能优化配置非常复杂,Google关于MapReduce的性能优化手册有500多页
- Google曾在2007年到2012年做过对1PB数据的大规模 排序 实验,用来测试MapReduce的性能
- 2007年为12小时,2012年为0.5小时,Google花了5年的时间才不断优化了一个MapReduce流程的效率
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解计算机系统(英文版·第2版)
[美] Randal E. Bryant、[美] David R. O'Hallaron / 机械工业出版社 / 2011-1 / 128.00元
本书是一本将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的最大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。 相对于第1版,本版主要是反映了过去十年间硬件技术和编译器的变化,具体更新如下: 1. 对系统的介绍(特别是实际使......一起来看看 《深入理解计算机系统(英文版·第2版)》 这本书的介绍吧!