Hadoop权威指南-1.2 数据的存储与分析 - 高飞网

1.2 数据的存储与分析

2016-10-17 15:07:21.0

    1TB的硬盘,数据传输速度约为100MB/s,读完整个 硬盘中的数据至少得花2.5小时。如何减少读取时间?

【方案】

如果有100个硬盘,那么每个硬盘存储1%的数据,并行读取,则不到两分钟就可以读完。每个硬盘使用1%似乎非常浪费,但可以存储100个数据集,每个数据集1TB,并实现共享硬盘的读取。

问题1> 硬件故障问题。一旦开始使用多个硬件,其中个别硬件就 很可能发生故障,为了避免数据丢失,最常见的做法是复制(replication);系统保存数据的复本(replica),一旦有系统发生故障,就可以使用另外保存的复本 。如冗余硬盘阵列(RAID)就是按这个原理 实现的,另外Hadoop的文件系统(HDFS,Hadoop Distributed FileSystem)也是一类。

问题2> 大多数分析任务需要以某种方式结合大部分数据来共同完成分析,即从一个硬盘读取的数据可能要从另外99个研发中读取的数据结合使用。MapReduce提出一个编程模型,该模型抽象出这些硬盘读写问题并将其转换为对一个数据集的计算。