Hadoop学习篇 之 1初识Hadoop

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZZh1301051836/article/details/79490107

1 数据存储与分析

为什么要创造(发明/使用)Hadoop?Hadoop的存在有什么意义?

数据的存储面临一系列的问题:

  1. 虽然磁盘存储容量快速增加,但访问速度并没有太大的变化。

    • 一个简单的解决办法:从多个磁盘上读取数据。例如,有100个磁盘,每个磁盘存储1%的数据,进行并行读取。
  2. 要实现对多个磁盘数据的并行读写,还有更多的问题要解决。

    • 硬件故障
      内容:使用多个硬件时,其中任一硬件发生故障的概率非常高。
      解决办法:
      (1)备份,系统保数据的冗余复本。例如冗余磁盘阵列(RAID)
      (2)Hadoop的文件系统,即HDFS(Hadoop distributed FileSystem)。

    • 分布式系统允许结合多个来源的数据进行分析,保证其正确性是一个难题。
      MapReduce提出了一个模型,将上述磁盘读写的问进行抽象,转换为对一个数据集(由键/值对组成)的计算。该计算由map和Redcuce两部分组成,并且只有这两部分提供对外的接口。

总之,Hadoop有着可靠的共享存储和分析系统。HDFS实现存储,而MapReduce实现分析处理,这两部分是Hadoop的核心。

2 与其他系统相比

使用其他系统不能解决上面的问题吗?为什么必须使用Hadoop?
MapReduce的查询处理比较蛮力,因为每个查询需要处理整个数据集(或至少数据集的很大一部分)。
反过来想,这也是Hadoop的优秀之处。MapReduce是一种批量查询处理器,能够在合理的时间内,处理针对整个数据集的即时(ad hoc)查询。

3 关系型数据库管理系统

为什么不用数据库做批量分析,而需要MapReduce呢?
数据库也可以对大规模数据进行批量分析,例如使用SQL Server的SQL语言,就可以进行批量查询处理,那为什么不这样使用呢?
因为数据库查询时,寻址时间远远慢于传输速率。(寻址也就是将磁头移动到特定磁盘位置进行读写操作的过程。)

这部分的标题为什么取名为”关系型数据库呢?MapReduce与关系型数据库有什么关系吗?”
首先,什么是关系型数据库?
关系型数据库是一种二维表格模型,是由二维表及其之间的联系组成的一个数据组织。

然后,MapReduce与关系型数据库有什么联系呢?
在许多情况下,MapReduce可以视为关系型数据库管理系统的补充。为什么呢?

猜你喜欢

转载自blog.csdn.net/ZZh1301051836/article/details/79490107