论文地址
https://static.googleusercontent.com/media/research.google.com/zh-CN//archive/mapreduce-osdi04.pdf
一、背景
在阅读这篇论文之前,需要了解以下概念。
1、数据密集型应用 vs 计算密集型应用
数据密集型应用大概就是数据量很大但计算逻辑比较简单地应用,如大数据量的排序。而计算密集型应用则相反,其大部分时间用来做计算、逻辑判断等CPU操作,如一个计算圆周率到小数点后一千位以下的程序就是计算密集型应用。计算密集型应用相关的概念有高性能计算、超级计算、网格计算等。
两者都是基于分布式,但两者又存在区别。传统的计算密集型应用往往通过并行计算方式,在紧耦合的超级计算机上运行少量计算作业,即一个作业同时占用大量的计算机节点。而数据密集型应用则通常是将大量独立的数据分析处理作业分布在松耦合的计算机集群的不同节点上运行,有高度密集的海量数据I/O吞吐需求,并且大部分数据密集型应用都有个数据流驱动的流程。
关于数据密集型应用的知识可以看下面这本书:
https://book.douban.com/subject/30329536/
2、分布式、并行、并发
分布式:在计算机发展阶段的早期,我们主要靠大型