Skip to content

Latest commit

 

History

History
35 lines (23 loc) · 2.37 KB

hadoop_02_first.md

File metadata and controls

35 lines (23 loc) · 2.37 KB

初识Hadoop

数据存储与分析

对多个磁盘数据的并行读写,有很多问题需要解决

  • 硬件故障。避免数据丢失的常见做法是使用备份:系统保存数据的冗余副本,在发生故障后,可以使用数据的另一可用副本。
  • 大多数分析任务需要以某种方式结合大部分数据共同完成分析任务。各种分布式系统允许结合多个来源的数据并实现分析,但保证其正确性是一个非常大的挑战。

Hadoop提供了一个可靠的共享存储和分析系统。HDFS实现存储,而MapReduce实现分析处理,这两部分是它的核心。

为什么不使用数据库来对大量磁盘上的大规模数据进行批量分析?

磁盘的一个发展趋势:寻址时间的提高远远慢于传输速率的提高。寻址是将磁头移动到特定磁盘位置进行读写操作的过程。它是导致磁盘操作延迟的主要原因,而传输速率取决于磁盘的带宽。

如果数据的访问模式中包含大量的磁盘寻址,那么读取大量数据集所花的时间势必会更长(相较于流式数据读取模式),流式读取主要取决于传输速率。

如果数据库系统只更新一小部分记录,那么传统的B树更有优势。但数据库系统更新大部分数据时,B树的效率比MapReduce低得多,因为需要使用“排序/合并”(sort/merge)来重建数据库。

许多情况下,可以将MapReduce视为关系型数据库管理系统的补充。MapReduce比较适合以批处理的方式处理需要分析整个数据集的问题,尤其是即席分析。RDBMS适用于点查询和更新,数据集被索引后,数据库系统能够提供低延迟的数据检索和快速的少量数据更新。MapReduce适合一次写入、多次读取数据的应用,而关系型数据库更适合持续更新的数据集。

关系型数据库和MapReduce的比较

特性 传统关系型数据库 MapReduce
数据大小 GB PB
访问 交互式和批处理 批处理
更新 多次读写 一次写入多次读取
结构 静态模式 动态模式
完整性
横向扩展 非线性 线性

网格计算

数据本地化(data locality)特性是MapReduce的核心特征,并因此而获得良好的性能。