整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

1.2. 数据的存储与分析

hadoop 花牛 9℃ 0评论

我们遇到的问题很简单:在硬盘存储容量多年来不断提升的同时,访问速度(硬盘数据读取速度)却没有与时俱进。1990年,一个普通硬盘可以存储 1370 MB数据,传输速度为4.4 MB/s,因此只需要5分钟就可以读完整个硬盘中的数据。20年过去了,1TB的硬盘已然成为主流,但其数据传输速度约为100 MB/s,读完整个硬盘中的数据至少得花2.5个小时。

读完整个硬盘中的数据需要更长时间,写入数据就别提了。一个很简单的减少读取时间的办法是同时从多个硬盘上读数据。试想,如果我们有100 个硬盘,每个硬盘存储1%的数据,并行读取,那么不到两分钟就可以读完 所有数据。

仅使用硬盘容量的1%似乎很浪费。但是我们可以存储100个数据集,每个数据集1TB,并实现共享硬盘的读取。可以想象,用户肯定很乐于通过硬 盘共享来缩短数据分析时间;并且,从统计角度来看,用户的分析工作都 是在不同时间点进行的,所以彼此之间的干扰并不太大。

虽然如此,但要对多个硬盘中的数据并行进行读写数据,还有更多问题要 解决。第一个需要解决的是硬件故障问题。一旦开始使用多个硬件,其中 个别硬件就很有可能发生故障。为了避免数羯丢失,最常见的做法是复制 (replication):系统保存数据的复本(replica), —旦有系统发生故障,就可以 使用另外保存的复本。例如,冗余硬盘阵列(RAID)就是按这个原理实现 的,另外,Hadoop 的文件系统(HDFS,Hadoop Distributed FileSystem)也是 一类,不过它采取的方法稍有不同。

第二个问题是大多数分析任务需要以某种方式结合大部分数据来共同完成分析,即从一个硬盘读取的数据可能需要与从另外99个硬盘中读取的数据 结合使用。各种分布式系统允许结合不同来源的数据进行分析,但保证其 正确性是一个非常大的挑战。MapReduce提出一个编程模型,该模型抽象 出这些硬盘读写问题并将其转换为对一个数据集(由键值对组成)的计算。这样的计算由map和reduce两部分组成,而且只 有这两部分提供对外的接口。与HDFS类似,MapReduce自身也有很髙的可靠性。

简而言之,Hadoop为我们提供了一个可靠的共享存储和分析系统。HDFS 实现数据的存储,MapReduce实现数据的分析和处理。虽然Hadoop还有其他功能,但HDFS和MapReduce是它的核心价值。

转载请注明:全栈大数据 » 1.2. 数据的存储与分析

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址