zoukankan      html  css  js  c++  java
  • 大数据基础

    这年头,不扯点大数据、云计算都不好意思。

    以下内容部分抄袭,部分为个人理解。

    一、啥是大数据
    大数据(Big Data)

    大数据,官方定义是指那些数据量特别大、数据类别特别复杂的数据集,这种数据集无法用传统的数据库进行存储,管理和处理。

    大数据的特点是4V:

    数据量大(Volume)
    数据类别复杂(Variety)
    数据处理速度快(Velocity)
    数据真实性高(Veracity)

    好像我在哪里还看过有个特点就是价值密度很低。就是说,一大堆数据里面,有价值的其实就一点点,水分多得很。

    大数据中的数据量非常巨大,达到了PB级别。而且这庞大的数据之中,不仅仅包括结构化数据(如数字、符号等数据),还包括非结构化数据(如文本、图像、声音、视频等数据)。这使得大数据的存储,管理和处理很难利用传统的关系型数据库去完成。在大数据之中,有价值的信息往往深藏其中。这就需要对大数据的处理速度要非常快,才能短时间之内就能从大量的复杂数据之中获取到有价值的信息。在大数据的大量复杂的数据之中,通常不仅仅包含真实的数据,一些虚假的数据也混杂其中。这就需要在大数据的处理中将虚假的数据剔除,利用真实的数据来分析得出真实的结果。

    二、大数据的作用
    就是分析提炼出有用的数据嘛。

    另外,现在人工智能很火,自动驾驶,工业机器人什么的。机器人在围棋上已经战胜人类了。人类忧心忡忡,担心将来会被机器人所奴役。照我说,奴役个屁,机器人铜皮铁骨,啥都能干,根本不需要人类。人类要么被杀光,要么自生自灭。真的到了那天,由于机器拥有了人类智能,从这个意义上说,是人类的一种进化。肉体人类将被淘汰。

    人工智能有个基础是机器学习。而大数据分析里面的语义引擎也是机器学习的成果之一。

    三、为啥要有大数据
    很早以来,不就已经有了数据仓库、BI之类嘛,大数据难道不是只换了个马甲而已?毕竟炒作概念,故弄玄虚是我们的强项。

    照我的理解,数据仓库是属于以前那种MIS,ERP年代的,而大数据是互联网时代的产物。互联网时代,各种信息、数据大爆炸了。

    四、大数据总体架构
    大数据的总体架构包括三层:

    1)数据存储
    2)数据处理
    3)数据分析

    类型复杂和海量由数据存储层解决,快速和时效性要求由数据处理层解决,价值由数据分析层解决。大数据的4V特性由这三层分别实现。

    数据先要通过存储层存储下来,然后根据数据需求和目标来建立相应的数据模型和数据分析指标体系对数据进行分析产生价值。而中间的时效性又通过中间数据处理层提供的强大的并行计算和分布式计算能力来完成。三层相互配合,让大数据最终产生价值。

    重点在于数据分析。

    五、大数据分析
    大数据的分析,主要分为五个方面:
    1、可视化分析
    可视化分析将大量复杂的数据自动转化成直观形象的图表,使其能够更加容易的被普通消费者所接受和理解。

    2、数据挖掘算法
    大数据分析的理论核心,其本质是一组根据算法事先定义好的数学公式,将收集到的数据作为参数变量带入其中,从而能够从大量复杂的数据中提取到有价值的信息。

    著名的“啤酒和尿布”的故事就是数据挖掘算法的经典案例。

    3、预测性分析能力
    数据分析最重要的应用领域。从大量复杂的数据中挖掘出规律,建立起科学的事件模型,通过将新的数据带入模型,就可以预测未来的事件走向。预测性分析能力常常被应用在金融分析和科学研究领域,用于股票预测或气象预测等。

    4、语义引擎
    语义引擎是机器学习的成果之一。通过对大量复杂的数据进行分析,让计算机从中自我学习,可以使计算机能够尽量精确的了解用户输入内容的意思,从而把握住用户的需求,提供更好的用户体验。苹果的Siri和谷歌的Google Now都采用了语义引擎。

    5、数据质量管理
    大数据在企业领域的重要应用。为了保证大数据分析结果的准确性,需要将大数据中不真实的数据剔除掉,保留最准确的数据。这就需要建立有效的数据质量管理系统,分析收集到的大量复杂的数据,挑选出真实有效的数据。

    六、大数据技术基础
    对于如何处理大数据,计算机科学界有两大方向:一是集中式计算,二是分布式计算。

    过去,分布式计算理论比较复杂,技术实现比较困难,因此集中式计算一直是主流解决方案。

    2003年到2004年间,Google发表了MapReduce、GFS(Google File System)和BigTable三篇技术论文,提出了一套全新的分布式计算理论。

    MapReduce是分布式计算框架,GFS(Google File System)是分布式文件系统,BigTable是基于Google File System的数据存储系统,这三大组件组成了Google的分布式计算模型。

    Google的分布式计算模型相比于传统的分布式计算模型有三大优势:首先,它简化了传统的分布式计算理论,降低了技术实现的难度,可以进行实际的应用。其次,它可以应用在廉价的计算设备上,只需增加计算设备的数量就可以提升整体的计算能力,应用成本十分低廉。最后,它被Google应用在Google的计算中心,取得了很好的效果,有了实际应用的证明。

    后来,各家互联网公司开始利用Google的分布式计算模型搭建自己的分布式计算系统,Google的这三篇论文也就成为了大数据时代的技术核心。

    七、主流的三大分布式计算系统
    由于Google没有开源Google分布式计算模型的技术实现,所以其他互联网公司只能根据Google三篇技术论文中的相关原理,搭建自己的分布式计算系统。

    1、Hadoop
    Hadoop采用MapReduce分布式计算框架,并根据GFS开发了HDFS分布式文件系统,根据BigTable开发了HBase数据存储系统。

    尽管和Google内部使用的分布式计算系统原理相同,但是Hadoop在运算速度上依然达不到Google论文中的标准。不过,Hadoop的开源特性使其成为分布式计算系统的事实上的国际标准。

    2、Spark
    Spark在Hadoop的基础上进行了一些架构上的改良。

    Spark与Hadoop最大的不同点在于,Hadoop使用硬盘来存储数据,而Spark使用内存来存储数据,因此Spark可以提供超过Hadoop100倍的运算速度。但是,由于内存断电后会丢失数据,Spark不能用于处理需要长期保存的数据。

    3、Storm
    Storm是Twitter主推的分布式计算系统。

    它在Hadoop的基础上提供了实时运算的特性,可以实时的处理大数据流。不同于Hadoop和Spark,Storm不进行数据的收集和存储工作,它直接通过网络实时的接受数据并且实时的处理数据,然后直接通过网络实时的传回结果。

    Hadoop,Spark和Storm是目前最重要的三大分布式计算系统:

    Hadoop常用于离线的复杂的大数据处理
    Spark常用于离线的快速的大数据处理
    Storm常用于在线的实时的大数据处理

    八、大数据与云计算的关系
    二者没有必然的联系。
    但是,有了云计算,处理大数据的成本降低,运用大数据进行分析才有了可行性。
    所以可以说,云计算是大数据的基础。

    参考文章:
    大数据基础知识

    大数据、云计算和商业智能这三者的关系到底如何,以后的发展前景有什么看法?

  • 相关阅读:
    歌德巴赫猜想
    Dice Possibility
    ACboy needs your help(简单DP)
    Bag of mice(概率DP)
    合唱队形(LIS)
    地震预测(模拟链表)
    关于KMP算法的感想
    Card Collector
    LOOPS
    Aeroplane chess(简单概率dp)
  • 原文地址:https://www.cnblogs.com/leftfist/p/6808721.html
Copyright © 2011-2022 走看看