`
hadoopforcloud
  • 浏览: 6728 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
阅读更多
1. Meet Hadoop
1.1. Data 数据
本节陈述了这样的事实:数据量越来越大,并且来源也越来越多,我们面临的问题是如何有效的存储和分析它们。
1.2. Data Storage and Analysis 数据存储和分析
现在面临这这样的一个问题:当磁盘的存储量随着时间的推移越来越大的时候,对磁盘上的数据的读取速度却没有多大的增长。
读取硬盘上的全部数据会花费比较长的时间,如果是写操作的话则会更慢。一个解决的办法是同时读取多个硬盘上的数据。例如我们有100块硬盘,而他们分别存储整个数据的1%的话,若是用并行读取的方法操作,可以在两分钟之内搞定。只使用每块硬盘的1%当然是浪费的,但是我们可以存储100个数据集(dataset),每个1T,并且提供共享访问。有了更短的分析时间之后,这样的系统的用户应该是乐于接受共享访问模式的。他们的工作是按时间划分的,这样相互之间就不会有较大的影响。
从多个磁盘上进行并行读写操作是可行的,但是存在以下几个方面的问题:
1) 第一个问题是硬件错误。使用的硬件越多出错的几率就越大。一种常用的解决方式是数据冗余,保留多分拷贝,即使一份数据处理出错,还有另外的数据。HDFS使用的也是类似的方式,但稍有不同。
2) 第二个问题是数据处理的相关性问题。例如很多分析工作在一快磁盘上处理出来的结果需要与其他磁盘上处理处理出来的结果合并才能完成任务。各种分布式系统也都给出了合并的策略,但是做好这方面确实是一个挑战。MapReduce提供了一种编程模型,他将从硬盘上读写数据的问题抽象出来,转化成对一系列键值对的计算。
简而言之,Hadoop提供了一个可靠的存储和分析系统。存储又HDFS提供,分析由MapReduce提供。
1.3. 与其他系统比较
1.3.1. RDBMS
为什么我们不能使用大量的磁盘数据库做大规模的批量分析?为什么需要MapReduce?
1) 磁盘的寻道时间提高的速度低于数据的传输速度,如果数据访问模式由寻道时间支配的话,在读写数据集的一大部分的时候速度就会较流式读取慢很多,这样就出现了瓶颈。
2) 另一方面在更新数据集的少量数据的时候,传统的B-树工作的比较好,但是在更新数据集的大部分数据的时候B-树就显得比MapReduce方式慢了。MapReduce使用排序/合并操作去重建数据库(完成数据更新)。
在很多方面MapReduce可以看作是对传统关系数据库的补充。MapReduce比较适合于需要分析整个数据集,并且要使用批处理方式,特别是特定的分析的情况;RDBMS点查询方面占优势,或在已编制索引的数据集提供低延迟的检索和更新的数据,但是数据量不能太大。MapReduce适合一次写入,多次读取的操作,但是关系数据库就比较适合对数据集的持续更新。
还有一方面,MapReduce比较适合处理半结构化,非结构化的数据。
关系数据往往进行规则化以保证数据完整性,并删除冗余。这样做给MapReduce提出了新的问题:它使得读数据变成了非本地执行,而MapReduce的一个重要前提(假设)就是数据可以进行高速的流式读写。
MapReduce是可以进行线性扩展的编程模型。一个对集群级别的数据量而写的MapReduce可以不加修改的应用于小数据量或者更大数据量的处理上。更重要的是当你的输入数据增长一倍的时候,相应的处理时间也会增加一倍。但是如果你把集群也增长一倍的话,处理的速度则会和没有增加数据量时候的速度一样快,这方面对SQL查询来说不见得是正确的。
随着时间的推移,关系数据库和MapReduce之间的差别变得越来越不明显,很多数据库(例如Aster Data和Greenplum的数据)已经借用了一些MapReduce的思想。另一个方面,基于MapReduce的高层次查询语言使得MapReduce系统较传统的关系数据库来说,使程序员们更容易接受。
1.3.2. Grid Compuing 网格计算
数据量大的时候网络带宽会成为网格计算的瓶颈。但是MapReduce使数据和计算在一个节点上完成,这样就变成了本地的读取。这是MapReduce高性能的核心。
MPI将控制权大大的交给了程序员,但是这就要求程序员明确的处理数据流等情况,而MapReduce只提供高层次的操作:程序员只需考虑处理键值对的函数,而对数据流则是比较隐晦的。
在分布式计算中,如何协调各个处理器是一项很大的挑战。最大的挑战莫过于如何很好的处理部分计算的失误。当你不知道是不是出现错误的时候,程序还在继续运行,这就比较麻烦了。由于MapReduce是一种非共享(Shared-nothing)的架构,当MapReduce实现检测到map或者reduce过程出错的时候,他可以将错误的部分再执行一次。MPI程序员则需要明确的考虑检查点和恢复,这虽然给程序员很大自由,但是也使得程序变得难写。
也许你会觉得mapreduce模式过于严格,程序员面对的都是些键值对,并且mapper和reducer之间很少来往,这样的模式能做一些有用的或者是非凡的事情吗?答案是肯定的,Google已经把Mapreduce使用在了很多方面——从图像分析到基于图的问题,再到机器学习,MapReduce工作的很好。虽然他不是万能的,但是他确是一种通用的数据处理工具。
1.3.3. Volunteer Computing志愿计算
志愿计算主要是让志愿者贡献CPU时间来完成计算。
MapReduce是针对在一个高聚合网络连接的数据中心中进行的可信的、使用专用的硬件工作持续数分钟或者数个小时而设计的。相比之下,志愿计算则是在不可信的、链接速度有很大差异的、没有数据本地化特性的,互联网上的计算机上运行永久的(超长时间的)计算,
1.4. Hadoop简史(略)
1.5. The Apache Hadoop Project(略)
分享到:
评论

相关推荐

    hadoop_the_definitive_guide_3nd_edition

    1. Meet Hadoop . . . 1 Data! 1 Data Storage and Analysis 3 Comparison with Other Systems 4 RDBMS 4 Grid Computing 6 Volunteer Computing 8 A Brief History of Hadoop 9 Apache Hadoop and the Hadoop ...

    hadoop权威指南.示例代码

    ch01 - Meet Hadoop ch02 - MapReduce ch03 - The Hadoop Distributed Filesystem ch04 - Hadoop I/O ch05 - Developing a MapReduce Application ch06 - How MapReduce Works ch07 - MapReduce Types and Formats ...

    Hadoop权威指南第三版(英文版)

    1. **Meet Hadoop** (了解Hadoop) - **数据!** - 强调了大数据的重要性以及它在现代社会中的应用。 - **数据存储与分析** - 介绍了Hadoop如何解决大规模数据处理的问题。 - **与其他系统的比较** - 比较了...

    hadoop指南2 Hadoop The Definitive Guide 2nd Edition

    ##### 第1章 Meet Hadoop - **大数据背景**:随着互联网技术的发展,数据量呈爆炸性增长,传统的关系型数据库难以应对如此规模的数据存储与分析需求。 - **数据存储与分析**:Hadoop提供了一种新的解决方案,通过...

    Hadoop in Practice(2012)

    2012 | ISBN-10: 1617290238 | PDF, EPUB | 536 pages | 26 + 37 MB ... As a bonus, the book's examples create a well-structured and understandable codebase you can tweak to meet your own needs.

    Hadoop the definitive guide 3rd edition

    - **第1章:Meet Hadoop**:这一章节作为入门章节,介绍了Hadoop的基本概念和发展历史,为读者提供了一个全面的视角。 - **数据的重要性**:首先阐述了大数据时代的到来以及数据对于企业和组织的价值。 - **数据存储...

    hadoop_the_definitive_guide_3rd_edition.pdf

    本书第一章《Meet Hadoop》详细介绍了Hadoop如何解决大规模数据存储和分析的问题。 - **数据存储与分析**:Hadoop提供了一种全新的分布式数据处理模式,通过将数据分布在网络中的多台计算机上进行并行处理,极大地...

    HBase.The.Definitive.Guide.2nd.Edition

    If you’re looking for a scalable storage solution to accommodate a virtually endless amount of data, this updated edition shows you how Apache HBase can meet your needs. Modeled after Google’s ...

    Mahout in Action 最新版+完整版

    Meet Apache Mahout** - **介绍Apache Mahout**:这一章节首先向读者介绍Apache Mahout项目的历史背景和发展历程,解释了Mahout作为一个开源机器学习库的重要性。 - **Mahout的应用场景**:通过具体案例展示Mahout...

    Lustre HSM at Cambridge Early user experience using Intel Lemur

    The RCS infrastructure includes several components designed to meet diverse computing needs: 1. **Darwin**: A 600-node Sandy Bridge cluster with 9,600 cores. 2. **Wilkes**: A 128-node cluster ...

    LargeScaleMachineLearningwithPython.pdf

    Large Scale Machine Learning with Python uncovers a new wave of machine learning algorithms that meet scalability demands together with a high predictive accuracy. Dive into scalable machine learning...

    Large Scale Machine Learning with Python

    Large Scale Machine Learning with Python uncovers a new wave of machine learning algorithms that meet scalability demands together with a high predictive accuracy. Dive into scalable machine ...

Global site tag (gtag.js) - Google Analytics