大数据技术研究综述_刘智慧
- 格式:pdf
- 大小:983.05 KB
- 文档页数:16
第48卷第6期2014年6月浙 江 大 学 学 报(工学版)Journal of Zhejiang University(Engineering Science)Vol.48No.6Jun.2014收稿日期:2013-07-25.浙江大学学报(工学版)网址:www.journals.zju.edu.cn/eng 基金项目:国家“十二五”科技支撑计划资助项目(2012BAF10B04).作者简介:刘智慧(1989—),女,硕士生,从事大数据处理技术方面的研究.E-mail:zhihui891126@163.com通信联系人:张泉灵,男,副研究员.E-mail:qlzhang@iipc.zju.edu.cnDOI:10.3785/j.issn.1008-973X.2014.06.001大数据技术研究综述刘智慧,张泉灵(浙江大学智能系统与控制研究所,浙江杭州310027)摘 要:大数据的产生给海量信息处理技术带来新的挑战.为了更全面深入地了解大数据的内涵,从大数据的概念特征、一般处理流程、关键技术三个方面进行详细阐述.分析了大数据的产生背景,简述了大数据的基本概念、典型的4“V”特征以及重点应用领域;归纳总结了大数据处理的一般流程,针对其中的关键技术,如MapReduce、GFS、BigTable、Hadoop以及数据可视化等,介绍了基本的处理过程和组织结构;具体分析指出了大数据时代所面临的问题与挑战.关键词:大数据;数据处理技术;数据分析;云计算中图分类号:TP 391;TP 311 文献标志码:A 文章编号:1008-973X(2014)06-0957-16Research overview of big data technologyLIU Zhi-hui,ZHANG Quan-ling(Institute of Cyber-systems and Control,Zhejiang University,Hangzhou310027,China)Abstract:The emergence of“big data”has brought new challenges to mass information processingtechnology.This comprehensive overview was intended to elaborate on big data from three aspects:theconcept and characteristics,general data processing framework and key techniques.The background of bigdata was explained,and the basic concepts,typical 4“V”characteristics as well as related application fieldswere sketched.Then,the general procedures of big data processing were summarized,and fundamentalanalysis and description of the key techniques,such as MapReduce,GFS,BigTable,Hadoop and datavisualization,were given as well.Finally,the new issues and challenges in the Big Data Era were pointedout.Key words:big data;data processing technique;data analysis;cloud computing 随着移动互联网、物联网和云计算技术的迅速发展,开启了移动云时代的序幕,大数据(Big Data)也越来越吸引人们的视线.正如1982年世界预测大师、未来学家约翰·奈斯比特(John Naisbitt)在他的著作Megatrends:Ten new directions transfor-ming our live[1]一书中所提到的:“我们现在大量生产信息,正如过去我们大量生产汽车一样”、“人类正被信息淹没,却饥渴知识”,等等诸如此类的预言均在当下得到了充分的证实,这也恰恰说明,世界正处于一个信息爆炸的时代.Internet的出现缩短了人与人、人与世界之间的距离,整个世界连成一个“地球村”,人们通过网络无障碍交流、交换信息和协同工作.与此同时,借助Internet的高速发展、数据库技术的成熟和普及、高内存高性能的存储设备和存储介质的出现,人类在日常学习、生活、工作中产生的数据量正以指数形式增长,呈现“爆炸”状态.“大数据问题”(Big DataProblem)就是在这样的背景下产生的,成为科研学术界和相关产业界的热门话题,并作为信息技术领域的重要前沿课题之一,吸引着越来越多的科学家研究大数据带来的相关问题.著名未来学家阿尔文·托夫勒在《第三次浪潮》[2]一书中,将大数据热情赞颂为“第三次浪潮的华彩乐章”.著名期刊《Nature》[3]和《Science》[4]针对大数据分别出版了专刊“Big Data”和“Dealingwith Data”,从互联网技术、互联网经济学、超级计算、环境科学、生物医药等多个方面讨论了大数据处理面临的各种问题.2011年5月,全球知名咨询公司麦肯锡(Mckensey and Company)在美国拉斯维加斯举办了第11届EMC World年度大会,设定的主题为“云计算相遇大数据”,发布了“Big data:Thenext frontier for innovation,competition and pro-ductivity”[5]的报告,首次提出“大数据”的概念,并在报告中指出:“数据已经渗透到每一个行业和业务职能领域,逐渐成为重要的生产因素,而人们对于海量数据的运用将预示着新一波生产率增长和消费者盈余浪潮的到来”.世界经济论坛(World EconomicForum)2012年发布的“Big data,big impact:Newpossibilities for international development”[6]报告,指出了大数据的发展为世界带来的新机遇;美国政府在2012年3月29日发布了“大数据研究发展倡议”(Big data research and development initia-tive)[7],正式启动“大数据发展计划”,拟投资2亿美元在大数据的研究上,以培养更多的大数据研发与应用人才;联合国在2012年5月公布了“Challengesand opportunities with big data”[8]白皮书,分析了大数据的处理流程以及可能面临的挑战;互联网数据中心(Internet Data Center,IDC)在2012年5月发布《中国互联网市场洞见:互联网大数据技术创新研究》[9]报告,报告中指出大数据将引领中国互联网行业新一轮技术浪潮.不仅如此,世界范围内对大数据的关注已从经济领域上升到了政治领域.美国总统科技顾问委员会在2010年就撰写了一份报告给当时的奥巴马总统,报告名为“Designing a digital future:Federallyfunded research and development in networkingand information technology”[10],报告中指出:数据正在以指数形式迅速增长,如何收集、管理和分析数据日渐成为网络信息研究的重点,联邦政府的每一个机构和部门都应该制定应对大数据的战略计划.同时,美国联邦政府建立统一的门户开放网站———Data.Gov,开放政府拥有的公共数据,鼓励民众对其进行自由开发,进一步推进政府数据开放;美国政府各部门也纷纷有所行动,美国国家科学基金委员会(NSF)、美国国家卫生研究院(NIH)、美国能源部(DOE)、美国国防部(DOD)、美国国防部高级研究计划局(DARPA)、美国地质勘探局(USGS)等6个部门联合推出了大数据计划,旨在提升从大量复杂数据中获取知识和洞见的能力[11].处于发展中国家前列的中国,大数据的应用处于起步阶段.在工信部发布的物联网“十二五”规划[12]中,把信息处理技术作为4项关键技术创新工程之一提出,其中包括了海量数据存储、数据挖掘、图像视频智能分析,这都是大数据的重要组成部分.而另外3项:信息感知技术、信息传输技术、信息安全技术,也与“大数据”密切相关.同时,为推动大数据在我国的发展,2012年8月,中国科学院启动了“面向感知中国的新一代信息技术研究”战略性先导科技专项,其任务之一就是研制用于大数据采集、存储、处理、分析和挖掘的未来数据系统;同时,中国计算机学会成立了大数据专家委员会(CCF Big DataTask Force,CCF BDTF);为探讨中国大数据的发展战略,中科院计算机研究所举办了以“网络数据科学与工程———一门新兴的交叉学科?”[13]为主题的会议,与国内外知名专家学者一起为中国大数据发展战略建言献计;2013年,科技部正式启动863项目“面向大数据的先进存储结构及关键技术”[14],启动5个大数据课题.由此可见,大数据的发展已经得到了世界范围内的广泛关注,发展趋势势不可挡.如何将巨大的原始数据进行有效地利用和分析,使之转变成可以被利用的知识和价值,解决日常生活和工作中的难题,成为国内外共同关注的重要课题,同时也是大数据最重要的研发意义所在.1 大数据的基本概念现在的社会是一个信息化、数字化的社会,互联网、物联网和云计算技术的迅猛发展,使得数据充斥着整个世界,与此同时,数据也成为一种新的自然资源[15],亟待人们对其加以合理、高效、充分的利用,使之能够给人们的生活工作带来更大的效益和价值.在这种背景下,数据的数量不仅以指数形式递增,而且数据的结构越来越趋于复杂化,这就赋予了859浙 江 大 学 学 报(工学版) 第48卷 “大数据”不同于以往普通“数据”更加深层的内涵.1.1 大数据的产生在科学研究(天文学、生物学、高能物理等)[16]、计算机仿真、互联网应用、电子商务等领域,数据量呈现快速增长的趋势.美国互联网数据中心(IDC)指出[17],互联网上的数据每年将增长50%以上,每2年便将翻一番,而目前世界上90%以上的数据是最近几年才产生的.数据并非单纯指人们在互联网上发布的信息,全世界的工业设备、汽车、电表上有着无数的数码传感器,随时测量和传递有关位置、运动、震动、温度、湿度乃至空气中化学物质的变化等也产生了海量的数据信息.1)科学研究产生大数据.现在的科研工作比以往任何时候都依赖大量的数据信息交流处理,尤其是各大科研实验室之间研究信息的远程传输.比如类似希格斯玻粒子的发现就需要每年36个国家的150多个计算中心之间进行约26PB(26×1015 B)的数据交流.在过去的10年间,连接超过40个国家实验室、超级计算中心和科学仪器的能源科学网[18](Esnet)上的流量每年以72%的速度增长,2012年11月Esnet将升级为100Gbps.2)物联网的应用产生大数据.物联网[19-20](theInternet of things)是新一代信息技术的重要组成部分,解决了物与物、人与物、人与人之间的互联.本质而言,人与机器、机器与机器的交互,大都是为了实现人与人之间的信息交互而产生的.在这种信息交互的过程中,催生了从信息传送到信息感知再到面向分析处理的应用.人们接受日常生活中的各种信息,将这些信息传送到数据中心,利用数据中心的智能分析决策得出信息处理结果,再通过互联网等信息通信网络将这些数据信息传递到四面八方,而在互联网终端的设备利用传感网等设施接受信息并进行有用的信息提取,得到自己想要的数据结果.目前,物联网在智能工业、智能农业、智能交通、智能电网、节能建筑、安全监控等行业都有应用.巨大连接的网络使得网络上流通的数据大幅度增长,从而催生了大数据的出现.3)海量网络信息的产生催生大数据.移动互联时代,数以百亿计的机器、企业、个人随时随地都会获取和产生新的数据.互联网搜索的巨头Google现在能够处理的网页数量是在千亿以上,每月处理的数据超过400PB,并且呈继续高速增长的趋势;Youtube每天上传7万小时的视频;淘宝网在2010年就拥有3.7亿会员,在线商品8.8亿件,每天交易超过数千万笔,单日数据产生量超过50TB(50×1012 B),存储量40PB;2011年Internet World统计互联网用户近20亿,Facebook注册用户超过8.5亿,每天上传3亿张照片,每天生成300TB日志数据;新浪微博每天有数十亿的外部网页和API接口访问需求,每分钟都会发出数万条微博;百度目前数据总量接近1 000PB,存储网页数量接近1万亿,每天大约要处理60亿次搜索请求,几十PB数据;据IDC的研究结果,2011年创造的信息数量达到1 800EB(1 800×1018 B),每年产生的数字信息量还在以60%的速度增长,到2020年,全球每年产生的数据信息将达到35ZB((35×1021 B)[21]……所有的这些都是海量数据的呈现.随着社交网络的成熟、传统互联网到移动互联网的转变、移动宽带的迅速提升,除了个人电脑、智能手机、平板电脑等常见的客户终端之外,更多更先进的传感设备、智能设备,比如智能汽车、智能电视、工业设备和手持设备等都将接入网络,由此产生的数据量及其增长速度比以往任何时期都要多,互联网上的数据流量正在迅猛增长.1.2 大数据概念的提出1989年,Gartner Group的Howard Dresner首次提出“商业智能”(Business Intelligence)这一术语[22].商业智能通常被理解为企业中现有的数据转化为知识、帮助企业做出明智的业务经营决策的工具,主要目标是将企业所掌握的的信息转换成竞争优势,提高企业决策能力、决策效率、决策准确性.为了将数据转化为知识,需要利用数据仓库、联机分析处理(OLAP)工具和数据挖掘(Data Mining)等技术[23].随着互联网络的发展,企业收集到的数据越来越多、数据结构越来越复杂,一般的数据挖掘技术已经不能满足大型企业的需要,这就使得企业在收集数据之余,也开始有意识的寻求新的方法来解决大量数据无法存储和处理分析的问题.由此,IT界诞生了一个新的名词———“大数据”.对于“大数据”的概念目前来说并没有一个明确的定义.经过多个企业、机构和数据科学家对于大数据的理解阐述,虽然描述不一,但都存在一个普遍共识,即“大数据”的关键是在种类繁多、数量庞大的数据中,快速获取信息.维基百科中将大数据定义为:所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理,并整理成为帮助企业经营决策更积极目的的资讯.IDC将大数据定义为:为更经济地从高频率的、大容量的、不959第6期刘智慧,等:大数据技术研究综述同结构和类型的数据中获取价值而设计的新一代架构和技术.信息专家涂子沛在著作《大数据》中认为[24]:“大数据”之“大”,并不仅仅指“容量大”,更大的意义在于通过对海量数据的交换、整合和分析,发现新的知识,创造新的价值,带来“大知识”、“大科技”、“大利润”和“大发展”.从“数据”到“大数据”,不仅仅是数量上的差别,更是数据质量的提升.传统意义上的数据处理方式包括数据挖掘、数据仓库、联机分析处理(OLAP)等,而在“大数据时代”,数据已经不仅仅是需要分析处理的内容,更重要的是人们需要借助专用的思想和手段从大量看似杂乱、繁复的数据中,收集、整理和分析数据足迹,以支撑社会生活的预测、规划和商业领域的决策支持等.著名数据库专家、图灵奖的获得者Jim Gray博士总结出,在人类的科学研究史上,先后经历了实验(Empirical)、理论(Theoretical)和计算(Computational)3种范式,而在数据量不断增加和数据结构愈加复杂的今天,这3种范式已经不足以在新的研究领域得到更好地运用,所以JimGray博士[25]提出了科学的“第4种范式”(TheFouth Paradigm)这一新型的数据研究方式,即“数据探索”(Data Exporation),用以指导和更新领域的科学研究.4种科学范式的比较如表1所示.表1 4种科学范式Tab.1 Four science paradigms科学范式时间思想方法实验数千年前描述自然现象理论几百年前运用模型、总结一般规律计算几十年前模拟复杂现象数据探索现在通过设备采集数据或是模拟器仿真产生数据;通过软件实现过程仿真;将重要信息存储在电脑中;科学家通过数据库分析相关数据1.3 大数据的特征在日新月异的IT业界,各个企业对大数据都有着自己不同的解读.但大家都普遍认为,大数据有着4“V”特征,即Volume(容量大)、Variety(种类多)、Velocity(速度快)和最重要的Value(价值密度低)[26-30].Volume是指大数据巨大的数据量与数据完整性.十几年前,由于存储方式、科技手段和分析成本等的限制,使得当时许多数据都无法得到记录和保存.即使是可以保存的信号,也大多采用模拟信号保存,当其转变为数字信号的时候,由于信号的采样和转换,都不可避免存在数据的遗漏与丢失.那么现在,大数据的出现,使得信号得以以最原始的状态保存下来,数据量的大小已不是最重要的,数据的完整性才是最重要的.Variety意味着要在海量、种类繁多的数据间发现其内在关联.在互联网时代,各种设备连成一个整体,个人在这个整体中既是信息的收集者也是信息的传播者,加速了数据量的爆炸式增长和信息多样性.这就必然促使我们要在各种各样的数据中发现数据信息之间的相互关联,把看似无用的信息转变为有效的信息,从而做出正确的判断.Velocity可以理解为更快地满足实时性需求.目前,对于数据智能化和实时性的要求越来越高,比如开车时会查看智能导航仪查询最短路线,吃饭时会了解其他用户对这家餐厅的评价,见到可口的食物会拍照发微博等诸如此类的人与人、人与机器之间的信息交流互动,这些都不可避免带来数据交换.而数据交换的关键是降低延迟,以近乎实时的方式呈献给用户.大数据特征里最关键的一点,就是Value.Val-ue的意思是指大数据的价值密度低.大数据时代数据的价值就像沙子淘金,数据量越大,里面真正有价值的东西就越少.现在的任务就是将这些ZB、PB级的数据,利用云计算、智能化开源实现平台等技术,提取出有价值的信息,将信息转化为知识,发现规律,最终用知识促成正确的决策和行动.1.4 大数据的应用领域发展大数据产业将推动世界经济的发展方式由粗放型到集约型的转变,这对于提升企业综合竞争力和政府的管制能力具有深远意义的影响.将大量的原始数据汇集在一起,通过智能分析、数据挖掘等技术分析数据中潜在的规律,以预测以后事物的发展趋势,有助于人们做出正确的决策,从而提高各个领域的运行效率,取得更大的收益.1.4.1 商业 商业是大数据应用最广泛的领域.沃尔玛(Walmart)通过对消费者购物行为等这种非结构化数据进行分析,了解顾客购物习惯,公司从销售数据分析适合搭配在一起买的商品,创造了“啤酒与尿布”[31]的经典商业案例;淘宝服务于卖家的大数据平台———“淘宝数据魔方”[32]有一个“无量神针———倾听用户的痛”屏幕,监听着几百万淘宝买家的心跳,收集分析买家的购物行为,找出问题的先兆,避免“恶拍”(买家拍下产品但拒收)发生,淘宝还069浙 江 大 学 学 报(工学版) 第48卷 针对买家设置大数据平台,为买家量身打造完善网购体验的产品.1.4.2 金融 大数据在金融业也有着相当重要的作用[33].华尔街“德温特资本市场”公司分析全球3.4亿微博账户的留言,判断民众情绪,人们高兴的时候会买股票,而焦虑的时候会抛售股票,依此决定公司股票的买入或卖出,该公司2012年第一季度获得了7%的收益率.Equifax公司是美国三大征信所之一,其存储的财务数据覆盖了所有美国成年人,包括全球5亿个消费者和8 100万家企业.在它的数据库中与财务有关的记录包括贷款申请、租赁、房地产、购买零售商品、纳税申报、费用缴付、报纸与杂志订阅等,看似杂乱无章的共26PB数据,经过交叉分享和索引处理,能够得出消费者的个人信用评分,从而推断客户支付意向与支付能力,发现潜在的欺诈.1.4.3 医疗 随着大数据在医疗与生命科学研究过程中的广泛应用和不断扩展,产生的数据之大、种类之多令人难以置信.比如医院中做B超、PACS影像、病理分析等[34]业务产生了大量非结构化数据;2000年一幅CT存储量才10MB,现在的CT则含有320MB,甚至600MB的数据量,而一个基因组序列文件大小约为750MB,一个标准病理图的数据量则有接近5GB.如果将这些数据量乘以人口数量和平均寿命,仅一个社区医院就可以累积达数TB甚至PB级的结构化和非结构化数据.另外,为了实现医院之间对病患信息的共享,2010年我国公布的“十二五”规划中指出要重点建设国家级、省级和地市级三级卫生信息平台,建设电子档案和电子病历两个基础数据库等[35].随着国家逐渐加大对电子病历的投入,各级医院也将加大在数据中心、医疗信息仓库等领域的投入,医疗信息存储将越来越受重视,医疗信息中心的关注点也将由传统“计算”领域转移到“存储”领域上来.1.4.4 制造业 中国制造业的相关企业随着ERP、PLM等信息化系统的部署完成,管理方式由粗放式管理逐步转为精细化管理,新产品的研发速度和设计效率有了大幅提升,企业在实现对业务数据进行有效管理的同时,积累了大量的数据信息,产生了利用现代信息技术收集、管理和展示分析结构化和非结构化的数据和信息的诉求[36],企业需要信息化技术帮助决策者在储存的海量信息中挖掘出需要的信息,并且对这些信息进行分析,通过分析工具加快报表进程从而推动决策、规避风险[37],并且获取重要的信息,因此,越来越多的企业在原有的各种控制系统(DCS、FCS、CIPS等)和各种生产经营管理系统(MIS、MRPⅡ、CRM、ERP等)的基础上,管理重心从以前的以流程建设为主,转换为以流程建设和全生命周期数据架构建设并行的模式,在关注流程的质量和效率的同时,又关注全流程上数据的质量和效率,建立以产品为核心的覆盖产品全生命周期的数据结构,用企业级PLM系统来支撑这些数据结构,有效地提高了企业满足市场需求的响应速度,更加经济地从多样化的数据源中获得更大价值.2 大数据处理流程从大数据的特征和产生领域来看,大数据的来源相当广泛,由此产生的数据类型和应用处理方法千差万别.但是总的来说,大数据的基本处理流程大都是一致的.目前,中国人民大学网络与移动数据管理实验室(WAMDM)[38]开发了一个学术空间“ScholarSpace”,从计算机领域收集的相关文献可以总结出大数据处理的一般流程[39].在此基础上,作者认为大数据的处理流程基本可划分为数据采集、数据处理与集成、数据分析和数据解释4个阶段.整个大数据处理流程如图1所示,即经数据源获取的数据,因为其数据结构不同(包括结构、半结构和非结构数据),用特殊方法进行数据处理和集成,将其转变为统一标准的数据格式方便以后对其进行处理;然后用合适的数据分析方法将这些数据进行处理分析,并将分析的结果利用可视化等技术展现给用户,这就是整个大数据处理的流程.2.1 数据采集大数据的“大”,原本就意味着数量多、种类复杂,因此,通过各种方法获取数据信息便显得格外重要.数据采集是大数据处理流程中最基础的一步,目前常用的数据采集手段有传感器收取、射频识别(RFID)[40]、数据检索分类工具如百度和谷歌等搜索引擎,以及条形码技术等.并且由于移动设备的出现,如智能手机和平板电脑的迅速普及,使得大量移动软件被开发应用,社交网络逐渐庞大,这也加速了信息的流通速度和采集精度.2.2 数据处理与集成数据的处理与集成主要是完成对于已经采集到的数据进行适当的处理、清洗去噪以及进一步的集成存储.169第6期刘智慧,等:大数据技术研究综述图1 大数据处理基本流程Fig.1 Basic framework of big data processing 根据前文所述,大数据特点之一是“Variety”,也就是大数据的多样性.这就决定了经过各种渠道获取的数据种类和结构都非常复杂,给之后的数据分析处理带了极大的困难.通过数据处理与集成这一步骤,首先将这些结构复杂的数据转换为单一的或是便于处理的结构,为以后的数据分析打下良好的基础,因为这些数据里并不是所有的信息都是必需的,而是会掺杂很多噪音和干扰项,因此,还需对这些数据进行“去噪”和清洗,以保证数据的质量以及可靠性.常用的方法是在数据处理的过程中设计一些数据过滤器,通过聚类或关联分析的规则方法将无用或错误的离群数据挑出来过滤掉,防止其对最终数据结果产生不利影响;然后将这些整理好的数据进行集成和存储,这是很重要的一步,若是单纯随意的放置,则会对以后的数据取用造成影响,很容易导致数据访问性的问题,现在一般的解决方法是针对特定种类的数据建立专门的数据库,将这些不同种类的数据信息分门别类的放置,可以有效地减少数据查询和访问的时间,提高数据提取速度.2.3 数据分析数据分析是整个大数据处理流程里最核心的部分,因为在数据分析的过程中,会发现数据的价值所在.经过上一步骤数据的处理与集成后,所得的数据便成为数据分析的原始数据,根据所需数据的应用需求对数据进行进一步的处理和分析.传统的数据处理分析方法有数据挖掘、机器学习、智能算法、269浙 江 大 学 学 报(工学版) 第48卷 。