《Hadoop权威指南》读书笔记-第一章:初识Hadoop

1.1 数据
随着社会日益发展,数据的体量变得越来越大。以前一个家庭一声拍摄的照片也不足10GB,现在随着数码产品的发展,拍照变得越来越容易,画质也越来越清晰,每个人几乎每年拍的照片就可以轻轻松松到10GB,而且随着科技的发展,各种行为都可以被数码产品以数据的形式记录下来,比如微信步数。行车轨迹、网页访问记录等,科技的发展让一切都可以成为信息记录下来,所以信息的体量变得越来越大。
大数据时代来临,有好有坏:
好处是数据更能预测现实,比方说网易云音乐的每日推荐,如果是用的小数据或者不用数据直接用预测算法进行分析,得到的结果肯定与大数据分析得到的结果大相径庭,大数据更能贴合现实,作出更符合用户心意的推荐。
坏处是数据体量的增大对数据的存储和处理、计算带来更大的挑战。
1.2数据的存储与分析
从1990年硬盘容量的1GB到现在变成了1TB,容量提高了一千倍,而硬盘的读取数据从4.4MB/S提高到现在的100MB/S,速度只提高了25倍。数据量变大,硬盘容量大, 但是硬盘读取速度却跟不上了,从可以遇见的未来看,以为的追求高读取速度是不现实的。所以需要需要想一个其他的办法来解决这个问题。
目前来看最好的读取办法就是多硬盘并行读取。
比方说有100GB的数据,把他分别存储在100个1TB的硬盘里,当想要读取的时候同时对100个硬盘进行读取,这样几乎几分钟就可以完成数据的全部读取。极大地提高了读取速度,但是这又导致了新的问题。
1.硬盘故障问题,硬盘坏了数据就会丢失,所以只能通过数据在不同服务器节点之间的多个备份来避免由于硬盘损坏带来的数据丢失问题。
2.硬盘存储空间浪费问题
数据存多了一下子取不出来,数据存少了又太浪费节点空间。每个人都把自己的数据存在不同的服务器上,这样每台服务器就会由很多人共同使用,又因为根据统计学大家的使用时间都是不相同且不固定的,所以造成同时存取数据的可能性很小,不会有‘堵车’情况。
3.数据的分析需要进行任务的分离和合并读取,这对于计算机计算模型来说是一个困难,如何正确的结合不同的数据进行分析,是一个要解决的重要问题。
1.3 查询所有数据
MapReduce每次查询都是通过一种蛮力的方法查询所有的数据。
1.4 不仅仅是批处理
1.5 相较于其他系统的优势

  • 1.5.1 关系型数据库管理系统

Hadoop与关系数据库的区别:数据库处理的是结构化数据,hadoop处理的是非结构化数据。

  • 1.5.2网格计算

高性能计算:
高性能计算(High performance computing) 指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计算资源操作)的计算系统和环境。高性能集群上运行的应用程序一般使用并行算法,把一个大的普通问题根据一定的规则分为许多小的子问题,在集群内的不同节点上进行计算,而这些小问题的处理结果,经过处理可合并为原问题的最终结果。由于这些小问题的计算一般是可以并行完成的,从而可以缩短问题的处理时间。

高性能集群在计算过程中,各节点是协同工作的,它们分别处理大问题的一部分,并在处理中根据需要进行数据交换,各节点的处理结果都是最终结果的一部分。高性能集群的处理能力与集群的规模成正比,是集群内各节点处理能力之和,但这种集群一般没有高可用性。高性能计算的分类方法很多。这里从并行任务间的关系角度来对高性能计算分类。

白话:一道数学题(1+2)(3+4)(56)(78)(9+11+4+1)=?
高性能计算是把这道题分给6个人算,每个人都算括号里的东西,第六个人对他们计算的结果汇总加和。但是他们访问数据库是同一个数据库,这样会导致因为共同访问导致的网络带宽瓶颈问题。但是hadoop是在各自的服务器节点上访问数据,并不存在访问数据的相互干扰问题,数据体量越大,Hadoop带来的又是也越明显。数据本地化是hadoop数据处理的核心。大规模的运算过程中,协调是一个很重要的缓解,你的任务的数据结果被另一个任务所需要,如果你运算出错,但是其他的任务还是要继续工作,这样就会导致整个任务出错,但是如果是hadoop的数据本地化,就会避免这个问题,错误的检测会让hadoop重新选择一个服务器节点重新处理这个任务,这样在reduce的时候就会保证各个结果不会出错。hadoop的数据本地化是大数据处理的核心。

  • 1.5.3志愿计算

SETI项目是把天文望远镜观测出来的数据发给全世界各地的志愿者,用他们的电脑对数据进行分析,以获取外星球是否有智慧生命的信息,每一段信息都需要长达数天的计算时间,且每一部分信息都要发给不同的三个人,两个结果相同才被认可使用。但是Hadoop和seti项目完全不同的点在于hadoop要实现的三个目标:
1.高速,几分钟或者几个小时就可以完成。
2.数据本地化,Hadoop运行在同一个有着高速网络连接的数据中心。
3.安全性,数据中心的计算机安全可靠。

猜你喜欢

转载自blog.csdn.net/qq_30317875/article/details/84336691