大数据技术研究综述

  • 格式:pdf
  • 大小:226.40 KB
  • 文档页数:3

⼤数据技术研究综述

⼤数据技术研究综述

摘要:⼤数据是继云计算、物联⽹之后IT 产业⼜⼀次颠覆性的技术⾰命。⽂中介绍了⼤数据的概念、典型的4“V”特征以及⼤数

据的关键技术,归纳总结了⼤数据处理的⼀般流程,针对其中的关键技术,如MapReduce、GFS、Hadoop以及NoSQL等,

介绍了基本的情况。最后,本⽂对⼤数据时代做了总结与展望。

关键词:⼤数据;数据处理技术;云计算

当⼈们还在津津乐道云计算、物联⽹等主题时,⼀个崭新的概念——⼤数据横空出世。⼤数据是继云计算、物联⽹之后IT产业

⼜⼀次颠覆性的技术⾰命,对国家治理模式、企业决策、组织和业务流程,以及个⼈⽣活⽅式等都将产⽣巨⼤的影响。⼤数据

的挖掘和应⽤可创造出超万亿美元的价值,将是未来IT 领域最⼤的市场机遇之⼀,其作⽤堪称⼜⼀次⼯业⾰命[1]。

我们⾝处数据的海洋,⼏乎所有事物都与数据有关,环境、⾦融、医疗……我们每天都在产⽣数据,打电话、发短信、进地铁

站安检、进办公楼刷卡、在QQ 上聊天、上淘宝⽹购物……⼤量数据实时地影响我们的⼯作、⽣活乃⾄社会发展。数据成为与

⾃然资源、⼈⼒资源同样重要的战略资源,引起了科技界和企业界的⾼度重视。

1⼤数据的概念

⼤数据本⾝就是⼀个很抽象的概念,提及⼤数据很多⼈也只能从数据量上去感知⼤数据的规模,如:百度每天⼤约要处理⼏⼗PB 的数据;Facebook 每天⽣成300 TB以上的⽇志数据;据著名咨询公司IDC 的统计,2011年全球被创建和复制的数据总量

为1.8 ZB(1021) ,但仅仅是数据量并不能区分⼤数据与传统的海量数据的区别。在2008年《Science》杂志出版的专刊中,⼤

数据被定义为“代表着⼈类认知过程的进步,数据集的规模是⽆法在可容忍的时间内⽤⽬前的技术、⽅法和理论去获取、管

理、处理的数据”[2]。

⼤数据不是⼀种新技术,也不是⼀种新产品,⽽是⼀种新现象,是近来研究的⼀个技术热点。⼤数据具有以下4个特点,即4

个“V”:

(1) 数据体量(V olumes) 巨⼤。⼤型数据集,从TB级别,跃升到PB级别。

(2) 数据类别(Variety) 繁多。数据来⾃多种数据源,数据种类和格式冲破了以前所限定的结构化数据范畴,囊括了半结构化和

⾮结构化数据。

(3) 价值(Value) 密度低。以视频为例,连续不间断监控过程中,可能有⽤的数据仅仅⼀两秒钟。

(4) 处理速度(Velocity) 快。包含⼤量在线或实时数据分析处理的需求,1秒定律。最后这⼀点也是和传统的数据挖掘技术有着

本质的不同。物联⽹、云计算、移动互联⽹、车联⽹、⼿机、平板电脑、PC以及遍布地球各个⾓落的各种各样的传感器,⽆

⼀不是数据来源或者承载的⽅式。

⼤数据技术是指从各种各样类型的巨量数据中,快速获得有价值信息的技术。解决⼤数据问题的核⼼是⼤数据技术。⽬前所说

的"⼤数据"不仅指数据本⾝的规模,也包括采集数据的⼯具、平台和数据分析系统。⼤数据研发⽬的是发展⼤数据技术并将其

应⽤到相关领域,通过解决巨量数据处理问题促进其突破性发展。因此,⼤数据时代带来的挑战不仅体现在如何处理巨量数据

从中获取有价值的信息,也体现在如何加强⼤数据技术研发,抢占时代发展的前沿。

2 ⼤数据处理流程

从⼤数据的特征和产⽣领域来看,⼤数据的来源相当⼴泛,由此产⽣的数据类型和应⽤处理⽅法千差万别。但是总的来说,⼤

数据的基本处理流程⼤都是⼀致的。整个处理流程可以概括为四步,分别是采集、导⼊和预处理、统计和分析,最后是数据挖

掘。

2.1 数据采集

⼤数据的采集是指利⽤多个数据库来接收发⾃客户端(Web、App或者传感器形式等)的数据,并且⽤户可以通过这些数据库

来进⾏简单的查询和处理⼯作。⽐如,电商会使⽤传统的关系型数据库MySQL和Oracle等来存储每⼀笔事务数据,除此之

外,Redis和MongoDB 这样的NoSQL数据库也常⽤于数据的采集。

在⼤数据的采集过程中,其主要特点和挑战是并发数⾼,因为同时有可能会有成千上万的⽤户来进⾏访问和操作,⽐如⽕车票

售票⽹站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署⼤量数据库才能⽀撑。并且如何在这些数据

库之间进⾏负载均衡和分⽚的确是需要深⼊的思考和设计。

2.2 数据导⼊/预处理

虽然采集端本⾝会有很多数据库,但是如果要对这些海量数据进⾏有效的分析,还是应该将这些来⾃前端的数据导⼊到⼀个集

中的⼤型分布式数据库,或者分布式存储集群,并且可以在导⼊基础上做⼀些简单的清洗和预处理⼯作。也有⼀些⽤户会在导⼊时使⽤来⾃Twitter的Storm来对数据进⾏流式计算,来满⾜部分业务的实时计算需求。

导⼊与预处理过程的特点和挑战主要是导⼊的数据量⼤,每秒钟的导⼊量经常会达到百

兆,甚⾄千兆级别。

2.3 数据统计/分析

统计与分析主要利⽤分布式数据库,或者分布式计算集群来对存储于其内的海量数据进⾏普通的分析和分类汇总等,以满⾜⼤

多数常见的分析需求,在这⽅⾯,⼀些实时性需求会⽤到EMC的GreenPlum、Oracle的Exadata,以及基于MySQL的列式存

储Infobright等,⽽⼀些批处理,或者基于半结构化数据的需求可以使⽤Hadoop。

统计与分析这部分的主要特点和挑战是分析涉及的数据量⼤,其对系统资源,特别是I/O会有极⼤的占⽤。

2.4数据挖掘

与前⾯统计和分析过程不同的是,数据挖掘⼀般没有什么预先设定好的主题,主要是在现有数据上⾯进⾏基于各种算法的计

算,从⽽起到预测(Predict)的效果,从⽽实现⼀些⾼级别数据分析的需求。⽐较典型算法有⽤于聚类的Kmeans、⽤于统计

学习的SVM和⽤于分类的NaiveBayes,主要使⽤的⼯具有Hadoop的Mahout等。该过程的特点和挑战主要是⽤于挖掘的算法

很复杂,并且计算涉及的数据量和计算量都很⼤,常⽤数据挖掘算法都以单线程为主。

整个⼤数据处理的普遍流程⾄少应该满⾜这四个⽅⾯的步骤,才能算得上是⼀个⽐较完整的⼤数据处理

3 ⼤数据关键技术

在⼤数据处理流程中,最核⼼的部分就是对于数据信息的分析处理,所以其中所运⽤到的处理技术也就⾄关重要。提起⼤数据

的处理技术,就不得不提起“云计算”,这是⼤数据处理的基础,也是⼤数据分析的⽀撑技术。分布式⽂件系统为整个⼤数据提

供了底层的数据贮存⽀撑架构;为了⽅便数据管理,在分布式⽂件系统的基础上建⽴分布式数据库,提⾼数据访问速度;在⼀

个开源的数据实现平台上利⽤各种⼤数据分析技术可以对不同种类、不同需求的数据进⾏分析整理得出有益信息,最终利⽤各

种可视化技术形象地显⽰给数据⽤户,满⾜⽤户的各种需求。

3.1 云计算和MapReduce

3.1.1 云计算

云计算是⼤数据分析处理技术的核⼼原理,也是⼤数据分析应⽤的基础平台。Google 内部的各种⼤数据处理技术和应⽤平台

都是基于云计算,最典型的就是以分布式⽂件系统GFS、批处理技术MapReduce、分布式数据库BigTable为代表的⼤数据处

理技术以及在此基础上产⽣的开源数据处理平台Hadoop。

3.1.2 MapReduce

MapReduce技术是Google公司于2004年提出,作为⼀种典型的数据批处理技术被⼴泛的应⽤于数据挖掘、数据分析、机器学

习等领域,并且,MapReduce因为它并⾏式数据处理的⽅式已经成为⼤数据处理的关键技术[3]。MapReduce系统主要由两个

部分组成:Map 和Reduce。MapReduce的核⼼思想在于“分⽽治之”,也就是说,⾸先将数据源分为若⼲部分,每个部分对应

⼀个初始的键-值(key/Value)对,并分别给不同的Map任务区处理,这时的Map对初始的键-值(key/Value)对进⾏处

理,产⽣⼀系列中间结果key/Value对,MapReduce的中间过程Shuffle将所有具有相同key值的Value值组成⼀个集合传递给Reduce 环节;Reduce接收这些中间结果,并将相同的Value值合并,形成最终的较⼩Value值的集合。

MapReduce系统的提出简化了数据的计算过程,避免了数据传输过程中⼤量的通信开销,使得MapReduce可以运⽤到多种实

际问题的解决⽅案⾥,公布之后获得了极⼤的关注,在各个领域均有⼴泛的应⽤。

3.2 分布式⽂件系统

谈到分布式⽂件系统,不得不提的是Google的GFS。基于⼤量安装有Linux操作系统的普通PC构成的集群系统,整个集群系

统由⼀台Master(通常有⼏台备份)和若⼲台TrunkServer构成。GFS中⽂件备份成固定⼤⼩的Trunk分别存储在不同的TrunkServer上,每个Trunk有多份(通常为3份)拷贝,也存储在不同的TrunkServer上。Master负责维护GFS中的

Metadata,即⽂件名及其Trunk信息。客户端先从Master上得到⽂件的Metadata,

根据要读取的数据在⽂件中的位置与相应的TrunkServer通信,获取⽂件数据。

在Google的论⽂发表后,就诞⽣了Hadoop。截⾄今⽇,Hadoop被很多中国最⼤互联⽹公司所追捧,百度的搜索⽇志分析,

腾讯、淘宝和⽀付宝的数据仓库都可以看到Hadoop 的⾝影。

Hadoop具备低廉的硬件成本、开源的软件体系、较强的灵活性、允许⽤户⾃⼰修改代码等特点,同时能⽀持海量数据存储和

计算任务。

Hive是⼀个基于Hadoop的数据仓库平台,将转化为相应的MapReduce程序基于Hadoop 执⾏。通过Hive,开发⼈员可以⽅便地进⾏ETL开发。

3.3NoSQL

随着数据量增长,越来越多的⼈关注NoSQL,特别是2010年下半年,Facebook选择HBase来做实时消息存储系统,替换原

来开发的Cassandra系统。这使得很多⼈开始关注HBase。Facebook选择HBase是基于短期⼩批量临时数据和长期增长的很

少被访问到的数据这两个需求来考虑的。

HBase是⼀个⾼可靠性、⾼性能、⾯向列、可伸缩的分布式存储系统,利⽤HBase技术可在廉价PC Server上搭建⼤规模结构

化存储集群。HBase是BigTable的开源实现,使⽤HDFS作为其⽂件存储系统。Google运⾏MapReduce来处理BigTable中的

海量数据,HBase 同样利⽤MapReduce来处理HBase中的海量数据;BigTable利⽤Chubby作为协同服务,HBase则利⽤Zookeeper作为对应。如下图1所⽰,是线上应⽤系统与数据平台的⽆缝融⼊交互图。

图1 线上应⽤系统与数据平台的⽆缝融⼊

近来NoSQL数据库的使⽤越来越普及,⼏乎所有的⼤型互联⽹公司都在这个领域进⾏着实践和探索。在享受了这类数据库与

⽣俱来的扩展性、容错性、⾼读写吞吐外(尽管各主流NoSQL仍在不断完善中),越来越多的实际需求把⼈们带到了NoSQL

并不擅长的其他领域,⽐如搜索、准实时统计分析、简单事务等。实践中⼀般会在NoSQL的外围组合⼀些其他技术形成⼀个

整体解决⽅案。

4总结与展望

⼤数据已经涉及到⽣活的各个领域,对于⼤数据的研究涉及的领域也很⼴。与⼈们直接利益相关的⼤数据的能耗、安全、隐私

保护等都受到了很多企业和个⼈的关注,还有更多未知的领域也不例外。本⽂对近⼏年国内外⼤数据的相关研究成果进⾏了较

为全⾯的总结和介绍,阐述了⼤数据的相关概念、产⽣背景和4“V”特征,概括出了⼤数据的⼀般处理流程,详细介绍了⼤数据

的⼏种关键技术,重点描述了典型的云计算技术在⼤数据分析过程中的基础性作⽤。总体来说,⽬前对于⼤数据的研究尚属起

步阶段,还有很多问题亟待解决。⼤数据时代已经来临,如何从海量数据中发现知识、获取信息,寻找隐藏在⼤数据中的模

式、趋势和相关性,揭⽰社会运⾏和发展规律,以及可能的科研、商业、⼯业等应⽤前景,都需要我们更加深⼊的了解⼤数