zoukankan      html  css  js  c++  java
  • 大数据时代——为什么用HADOOP?

     

    转载自:http://www.daniubiji.cn/archives/538


    什么叫大数据

    “大”,说的并不仅是数据的“多”!不能用数据到了多少TB ,多少PB 来说。

    对于大数据,可以用四个词来表示:大量,多样,实时,价值

     

    大量:这个大家都知道,想百度,淘宝,腾讯,Facebook,Twitter等网站上的一些信息,这肯定算是大数据了,都要存储下来。

    多样:数据的多样性,是说数据可能是结构型的数据,也可能是非结构行的文本,图片,视频,语音,日志,邮件等。

    实时:大数据需要快速的,实时的进行处理。如果说对时间要求低,那弄几个机器,对小数据进行处理,等个十天半月的出来结果,这样也没有什么意义了。

    有价值: 数据中,存在着价值。数据,也有可能创造价值。

    QQ截图20150319142943

    根据以上的特点,我们需要一个东西,来:

    1存储大量数据

    2快速的处理大量数据

    3从大量数据中进行分析,以产生价值

     

    于是就有了这样一个模型————hadoop。

    hadoop的历史就不说了。

     

    hadoop模型如下:

    01120649-240c5a4936e443828243f4ae4496d05d

    (上图为Hadoop1.x的布局)

    20130705_101518_910

    (Hadoop2.x较Hadoop1.x,多了YARN)

    Hadoop框架,是一个庞大的生态系统。

    或者我们可以这样理解:

    可以把整个体系,看成一个操作系统XP,win7,win8,win10。

    HDFS和MapReduce为操作系统的核心,Hive,Pig,Mathout,Zookeeper,Flume,Sqoop,HBase等,都是操作系统上的一些软件,或应用。

     

    HDFS:(Hadoop Distributed File System),Hadoop分布式文件系统。

    从名字上就看出了它的两点功能。基本功能,存文件,是一个文件系统;另外这个文件系统是分布式的;

    01121148-56dd42e45beb442682593f863e3d4a93

    从图上来看,HDFS的简单原理。

    Rack1,Rack2,Rack3是三个机架;

    1,2,3,4,5,6,7,8,9,10,11,12 是机架上的十二台服务器。

    Block A, Block B, Block C为三个信息块,也就是要存的数据。

     

    从整体布局上来看,信息块被分配到机架上。看似很均匀。这样分配的目的,就是备份,防止某一个机器宕机后,单点故障的发生。

     

    MapReduce,(Map + Reduce),就看成是计算的功能。可以对数据进行处理。

    它加快了计算。主要也是通过上图的布局。将数据分布到多个服务器上。当有任务了,比如查询,或者比较大小,先让每台服务器,都处理自己的存储中文件。然后再将所有服务器的处理结果进行第二次处理。最后将结果返回。

    另外,从别的资料看到一种解释mapreduce的方式,很简单

    Goal: count the number of books in the?library.

    Map: You count up shelf #1, I count up shelf?#2.

    (The more people we get, the faster this part goes.?)

    Reduce: We all get together and add up our individual?counts.

     

    其实,hadoop还有一点好处,就是省钱。

    框架开源的,免费的,服务器也不用特别牛X的。(廉价的商用服务器——这里说的是 “廉价”,“商用”,也就是不用买小型机那些东西,但是还得是商用的。正式生产环境,不能用普通的pc。)

    省钱才是硬道理。(hadoop就行php开发LAMP一样,工具免费,但是人力资源成本,也是需要考虑的。)

     

     


     

    为了更好的了解大数据,先区别一下几个经常见到的词语。

    1、大数据和云计算有什么区别

    云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。

    云计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。

    IaaS(Infrastructure-as-a- Service):基础设施即服务。消费者通过Internet可以从完善的计算机基础设施获得服务。例如:硬件服务器租用。
    PaaS:平台即服务

    PaaS(Platform-as-a- Service):平台即服务。PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。例如:软件的个性化定制开发。
    SaaS:软件即服务

    SaaS(Software-as-a- Service):软件即服务。它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。例如:阳光云服务器。

    现在用的hadoop是位于云计算中PaaS一层。

    大数据(big data),或称巨量资料,大的数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。

     

    2、公有云和私有云有什么区别

    ①、公有云是放在Internet上的,只要是注册用户、付费用户都可以用;

    ②、私有云是放在私有环境中的,比如企业、政府、组织等等自己在机房中建立的,或者是运营商建设好,但是整体租给某一组织的。企业、组织、政府等之外的用户无法访问或无法使用;

    ③、混合云是公有云和私有云的混合,大多数是指私有云建设好了,但是很多资源(计算能力或存储空间)不够用,所以还得动态的在公网上申请公有云作为自己私有云的补充。

     

  • 相关阅读:
    冒泡排序
    Bootstrap fileinput v1.0(ssm版)
    Bootstrap table后端分页(ssm版)
    Bootstrap table前端分页(ssm版)
    北京鱼乐贝贝面试题
    通过前端控制器源码分析springmvc的执行过程
    java Pattern(正则)类
    ssm所需要的pom(jre8、tomcat8、spring4)
    Java 流(Stream)、文件(File)和IO
    idea构建一个简单的maven_web项目
  • 原文地址:https://www.cnblogs.com/yangcx666/p/8723795.html
Copyright © 2011-2022 走看看