您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 大数据流式计算_关键技术及系统实例_孙大为24
软件学报ISSN1000-9825,CODENRUXUEWE-mail:jos@iscas.ac.cnJournalofSoftware,2014,25(4):839−862[doi:10.13328/j.cnki.jos.004558]©中国科学院软件研究所版权所有.Tel/Fax:+86-10-62562563大数据流式计算:关键技术及系统实例∗孙大为1,张广艳1,2,郑纬民11(清华大学计算机科学与技术系,北京100084)2(符号计算与知识工程教育部重点实验室(吉林大学),吉林长春130012)通讯作者:张广艳,E-mail:gyzh@tsinghua.edu.cn摘要:大数据计算主要有批量计算和流式计算两种形态,目前,关于大数据批量计算系统的研究和讨论相对充分,而如何构建低延迟、高吞吐且持续可靠运行的大数据流式计算系统是当前亟待解决的问题且研究成果和实践经验相对较少.总结了典型应用领域中流式大数据所呈现出的实时性、易失性、突发性、无序性、无限性等特征,给出了理想的大数据流式计算系统在系统结构、数据传输、应用接口、高可用技术等方面应该具有的关键技术特征,论述并对比了已有的大数据流式计算系统的典型实例,最后阐述了大数据流式计算系统在可伸缩性、系统容错、状态一致性、负载均衡、数据吞吐量等方面所面临的技术挑战.关键词:大数据计算;流式计算;流式大数据;内存计算;系统实例中图法分类号:TP311文献标识码:A中文引用格式:孙大为,张广艳,郑纬民.大数据流式计算:关键技术及系统实例.软件学报,2014,25(4):839−862.:SunDW,ZhangGY,ZhengWM.Bigdatastreamcomputing:Technologiesandinstances.RuanJianXueBao/JournalofSoftware,2014,25(4):839−862(inChinese).:TechnologiesandInstancesSUNDa-Wei1,ZHANGGuang-Yan1,2,ZHENGWei-Min11(DepartmentofComputerScienceandTechnology,TsinghuaUniversity,Beijing100084,China)2(KeyLaboratoryofSymbolicComputationandKnowledgeEngineeringofMinistryofEducation(JilinUniversity),Changchun130012,China)Correspondingauthor:ZHANGGuang-Yan,E-mail:gyzh@tsinghua.edu.cnAbstract:Batchcomputingandstreamcomputingaretwoimportantformsofbigdatacomputing.Theresearchanddiscussionsonbatchcomputinginbigdataenvironmentarecomparativelysufficient.Buthowtoefficientlydealwithstreamcomputingtomeetmanyrequirements,suchaslowlatency,highthroughputandcontinuouslyreliablerunning,andhowtobuildefficientstreambigdatacomputingsystems,aregreatchallengesinthebigdatacomputingresearch.Thispaperprovidesaresearchofthedatacomputingarchitectureandthekeyissuesinstreamcomputinginbigdataenvironments.Firstly,theresearchgivesabriefsummaryofthreeapplicationscenariosofstreamcomputinginbusinessintelligence,marketingandpublicservice.Italsoshowsdistinctivefeaturesofthestreamcomputinginbigdataenvironment,suchasrealtime,volatility,burstiness,irregularityandinfinity.Awell-designedstreamcomputingsystemalwaysoptimizesinsystemstructure,datatransmission,applicationinterfaces,high-availability,andsoon.Subsequently,theresearchoffersdetailedanalysesandcomparisonsoffivetypicalandopen-sourcestreamcomputingsystemsinbigdataenvironment.Finally,theresearchspecificallyaddressessomenewchallengesofthestreambigdatasystems,suchasscalability,faulttolerance,consistency,loadbalancingandthroughput.∗基金项目:国家自然科学基金(61170008,61272055);国家重点基础研究发展计划(973)(2014CB340402);吉林大学符号计算与知识工程教育部重点实验室资助项目(93K172012K12)收稿时间:2013-09-07;修改时间:2013-11-21;定稿时间:2013-12-16;jos在线出版时间:2014-01-23CNKI网络优先出版:2014-01-2315:17,,No.4,April2014Keywords:bigdatacomputing;streamcomputing;streambigdata;memorycomputing;systeminstance云计算、物联网、移动互连、社交媒体等新兴信息技术和应用模式的快速发展,促使全球数据量急剧增加,推动人类社会迈入大数据时代[1−4].一般意义上,大数据是指利用现有理论、方法、技术和工具难以在可接受的时间内完成分析计算、整体呈现高价值的海量复杂数据集合.大数据呈现出多种鲜明特征[3−7]:•在数据量方面,当前,全球所拥有的数据总量已经远远超过历史上的任何时期,更为重要的是,数据量的增加速度呈现出倍增趋势,并且每个应用所计算的数据量也大幅增加;•在数据速率方面,数据的产生、传播的速度更快,在不同时空中流转,呈现出鲜明的流式特征,更为重要的是,数据价值的有效时间急剧减少,也要求越来越高的数据计算和使用能力;•在数据复杂性方面,数据种类繁多,数据在编码方式、存储格式、应用特征等多个方面也存在多层次、多方面的差异性,结构化、半结构化、非结构化数据并存,并且半结构化、非结构化数据所占的比例不断增加;•在数据价值方面,数据规模增大到一定程度之后,隐含于数据中的知识的价值也随之增大,并将更多地推动社会的发展和科技的进步.此外,大数据往往还呈现出个性化、不完备化、价值稀疏、交叉复用等特征.大数据蕴含大信息,大信息提炼大知识,大知识将在更高的层面、更广的视角、更大的范围帮助用户提高洞察力、提升决策力,将为人类社会创造前所未有的重大价值.但与此同时,这些总量极大的价值往往隐藏在大数据中,表现出了价值密度极低、分布极其不规律、信息隐藏程度极深、发现有用价值极其困难的鲜明特征.这些特征必然为大数据的计算环节带来前所未有的挑战和机遇,并要求大数据计算系统具备高性能、实时性、分布式、易用性、可扩展性等特征.大数据价值的有效实现离不开A,B,C这三大要素,即,大分析(bigAnalytic)、大带宽(bigBandwidth)和大内容(bigContent).其中,(1)大分析.通过创新性的数据分析方法实现对大量数据的快速、高效、及时的分析与计算,得出跨数据间的、隐含于数据中的规律、关系和内在逻辑,帮助用户理清事件背后的原因、预测发展趋势、获取新价值;(2)大带宽.通过大带宽提供良好的基础设施,以便在更大范围内进行数据的收集,以更快的速度进行数据的传输,为大数据的分析、计算等环节提供时间和数据量方面的基本保障;(3)大内容.只有在数据内容足够丰富、数据量足够大的前提下,隐含于大数据中的规律、特征才能被识别出来.由此可见,大分析是实现途径,大带宽是基本保障,大内容是前提条件.大数据的计算模式[7−10]可以分为批量计算(batchcomputing)和流式计算(streamcomputing)两种形态:•如图1所示,批量计算首先进行数据的存储,然后再对存储的静态数据进行集中计算.Hadoop是典型的大数据批量计算架构,由HDFS分布式文件系统负责静态数据的存储,并通过MapReduce将计算逻辑分配到各数据节点进行数据计算和价值发现;•如图2所示,流式计算中,无法确定数据的到来时刻和到来顺序,也无法将全部数据存储起来.因此,不再进行流式数据的存储,而是当流动的数据到来后在内存中直接进行数据的实时计算.如Twitter的Storm、Yahoo的S4就是典型的流式数据计算架构,数据在任务拓扑中被计算,并输出有价值的信息.流式计算和批量计算分别适用于不同的大数据应用场景:对于先存储后计算,实时性要求不高,同时,数据的准确性、全面性更为重要的应用场景,批量计算模式更合适;对于无需先存储,可以直接进行数据计算,实时性要求很严格,但数据的精确度要求稍微宽松的应用场景,流式计算具有明显优势.流式计算中,数据往往是昀近一个时间窗口内的,因此数据延迟往往较短,实时性较强,但数据的精确程度往往较低.流式计算和批量计算具有明显的优劣互补特征,在多种应用场合下可以将两者结合起来使用.通过发挥流式计算的实时性优势和批量孙大为等:大数据流式计算:关键技术及系统实例841计算的计算精度优势,满足多种应用场景在不同阶段的数据计算要求.Fig.1BigdatabatchcomputingFig.2Bigdatastreamcomputing图1大数据批量计算图2大数据流式计算目前,关于大数据批量计算相关技术的研究相对成熟[3−10],形成了以Google的MapReduce编程模型、开源的Hadoop计算系统为代表的高效、稳定的批量计算系统,在理论上和实践中均取得了显著成果[7,11].关于流式计算的早期研究往往集中在数据库环境中开展数据计算的流式化,数据规模较小,数据对象比较单一.由于新时期的流式大数据呈现出实时性、易失性、突发性、无序性、无限性等特征,对系统提出了很多新的更高的要求.2010年,Yahoo推出S4流式计算系统,2011年,Twitter推出Storm流式计算系统,在一定程度上推动了大数据流式计算技术的发展和应用.但是,这些系统在可伸缩性、系统容错、状态一致性、负载均衡、数据吞吐量等诸多方面仍然存在着明显不足.如何构建低延迟、高吞吐且持续可靠运行的大数据流式计算系统,是当前亟待解决的问题.本文以大数据流式计算系统的设计、优化和挑战为核心,系统地梳理和分析了当前大数据流式计算系统的
本文标题:大数据流式计算_关键技术及系统实例_孙大为24
链接地址:https://www.777doc.com/doc-28397 .html