
大数据应用
大数据关键技术图谱浅析
董立平 王广益
江南计算技术研究所 无锡 214083
摘要:
本文简述了大数据处理通用技术架构,并就大数据的获取与预处理、存储与管理、检索与
分析、呈现与应用,以及大数据安全等涵盖大数据整个生命周期的各项关键技术进行了概述,
旨在帮助读者更全面地了解大数据各项关键技术,以促进大数据应用技术的开发。
关键词:大数据、关键技术、图谱
1. 引言
随着网络应用的迅猛发展,以及云计算、物联网等技术的兴起,各种数据正以前所未有的速度在不断地增长和累积,大数据时代已经来到。数据的快速增长带来了数据存储、处理、分析的巨大压力,而大数据技术的引入,不但能够满足信息系统功能和性能方面的要求,带来良好的可扩展性,降低IT部署的成本,还能够拓展数据智能分析的应用领域。因此,大数据技术正成为当前面临快速变化、数据爆炸时代提升竞争力的有力工具。
2. 大数据处理通用技术架构
大数据的基本处理流程与传统数据处理流程并无太大差异,主要区别在于:由于大数据要处理大量、非结构化的数据,所以在各处理环节中都可以采用并行处理。目前,MapReduce、Hadoop等分布式处理方式已经成为大数据处理各环节的通用处理方法[1]。
MapReduce分布式方法最先由谷歌设计并实现。围绕MapReduce方法,谷歌设计开发了一套分布式数据处理系统框架,包括GFS分布式文件系统、MapReduce分布式编程环境,以及分布式大规模数据库管理系统BigTable。MapReduce是一套软件框架,包括Map和Reduce两个阶段,它可进行海量数据分割、任务分解与结果汇总,从而完成海量数据的并行处理。MapReduce的工作原理其实是先分后合的数据处理方式。Map即“分解”,把海量数据分割成若干部分,分给多台处理器并行处理;Reduce即“合并”,对各台处理器处理后的结果进行汇总操作,以得到最终结果。用户只需提供自己的Map及Reduce函数就可以在集群上进行大规模的分布式数据处理。MapReduce将处理任务分配到不同的处理节点,因此具有很强的并行处理能力。作为一个简化的并行处理编程模型,其大大降低了开发并行应用的门槛。
脱胎于谷歌MapReduce的Hadoop是Apache软件基金会开发的,用于分布式密集数据处理和数据分析的软件框架。它是谷歌分布式处理系统框架的开源实现,其在可伸缩性、健壮性、计算性能和成本上具有无可替代的优势。目前,Hadoop已经成为大数据生态环境中不可或缺的一环,大数据处理各个环节的工具普遍采用Hadoop架构,亚马逊、微软、IBM、甲骨文等知名大数据产品供应商都提供基于Hadoop的大数据处理工具。
3. 大数据关键技术图谱概述
如附图所示,大数据关键技术涵盖从数据存储、处理到应用等多方面的技术。根据大数据的处理过程,可分为数据获取、数据预处理、数据存储与管理、数据检索与分析、数据呈现与应用、数据安全等环节。由于大数据具有大规模、异构、多源等特点,大数据技术与传统的数据处理技术也有所不同。在大数据处理的每个环节,都出现了许多针对大数据独特需求的新兴技术。
3.1 大数据获取
在大数据的生命周期中,数据采集处于第一个环节。大数据的采集是指利用数据库等方式接收发
72
《高性能计算发展与应用》 2014年第四期 总第四十九期
大数据关键技术图谱
自客户端(Web、App或传感器等)的数据。大数据采集的主要特点和挑战是并发数高,因为同时可能会有成千上万的用户并发访问和操作,这时就必须采用专门针对大数据的采集方法,其中主要包括以下三种方式:
·系统日志采集
很多互联网企业都有自己的海量数据采集工具,多用于系统日志采集,如Hadoop的Chukwa、Cloudera的Flume、Facebook的Scribe等。这些工具均采用分布式架构,能满足每秒数百MB的日志数据采集和传输需求。
·网络数据采集
网络数据采集是指通过网络爬虫或网站公开API等方式从网站上获取数据信息。该方法可将非结构化数据从网页中抽取出来,并以结构化的方式将其存储为统一的本地数据文件,其支持图片、音频、视频等文件或附件的采集,且附件与正文可自动关联。对于网络流量的采集则可使用DPI或DFI等带宽管理技术进行处理。
·数据库采集
一些企业会使用传统的关系型数据库MySQL和Oracle等来存储事务数据,除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。这种方法通常在采集端部署大量数据库,并对如何在这些数据库之间进行负载均衡和分片进行深入的思考和设计。3.2 大数据预处理
从现实世界中采集到的数据大多不完整或者结构不一致,无法直接用于数据分析或挖掘。数据预处理就是对采集到的数据进行清洗、填补、平滑、合并、规格化,以及检查一致性等处理,并对数据的多种属性进行初步组织,从而为数据的存储、分析和挖掘做好准备。通常数据预处理包含三个部分:数据清理、数据集成与变换以及数据规约。
·数据清理
数据清理主要包含遗漏值处理、噪音数据处理,以及不一致数据处理。对于有遗漏数据可用全局常量、平均值和可能值填充等方法处理。可能值可通过回归分析、贝叶斯形式法或判定树等得出;对于噪音数据,可用分箱、聚类、计算机人工检查和回归等方法去除噪音;对于不一致数据,则可进行手动更正。
·数据集成与变换
数据集成是指把多个原数据中的数据结合、存放到一个数据库中存储。这一过程中主要应考虑三个问题:实体识别、数据冗佘和数据值冲突检测与处理。数据变换是数据处理的必然结果,主要过程有平滑、聚集、数据泛化、规范化以及属性构造等。
·数据规约
分析大型数据库中的海量数据是个很庞大的工程,如果对所有数据进行分析和挖掘,将要耗费很长的时间。而通过数据规约则能把握主要数据,加快分析速度。此类技术主要包括:数据方聚集、维规约、数据压缩、数值规约和概念分层等。
3.3 大数据存储与管理
因大数据缺乏一致性使标准处理和存储技术无计可施,且因其数据量异常庞大使人们难以使用传统的服务器和存储方法来有效地进行管理。因此,大数据需要新的存储及管理方法。目前,大数据的存储与管理技术主要分三类:分布式文件存储、非关系型数据库以及数据仓库技术。
·分布式文件存储
文件是最常见的一种数据组织形式。分布式文件系统将大规模海量数据以文件的形式保存在不同的存储节点中,并通过分布式系统进行管理。这种技术的特点是为了解决复杂问题,将大任务分解为多个小任务,通过让多个处理器或多个计算机节点并行计算来提高解决问题的效率。分布式文件系统能够支持多台主机通过网络同时访问共享文件和存储目录,这使多台计算机上的多个用户能够共享文件和存储资源。
·非关系型数据库
原始数据通常存储在文件系统之中,但是用户习惯通过数据库系统来存取文件,因为这样可屏蔽掉底层的细节,且方便数据管理。然而,直接采用关系模型的分布式数据库并不能适应大数据时代的数据存储,这促使人们开始对关系数据库进行反思,由此产生了一批未采用关系模型的数据库,这些方案现在被统一称为NoSQL。与关系型数据库相比,NoSQL最大的不同是不使用SQL(结构化查询语言)作为查询语言,其数据存储可不依照固定的表格模式,通常具备水平可扩展的特征[2]。
·数据仓库
数据仓库通常采用软硬一体的方式,以提供最佳性能。这类数据库会采用更适于大数据查询的技术,以列式存储或MPP(大规模并行处理)两大成熟技术为代表。数据仓库非常适合于存储关系复杂的数据模型,且适合进行一致性与事务性要求高的计算,以及复杂的BI(商业智能)计算。在数据仓库中,经常使用数据温度技术和列式存储技术来提高性能。
3.4 大数据检索与分析
大数据时代对实时性检索的需求变得越来越强烈。随着实时数据处理技术的不断成熟,实现实时性数据检索也已经成为可能。目前,大数据实时检索的主要技术有,数据库实时检索和实时搜索引擎。数据库实时检索是指在数据仓库或者NoSQL等大数据存储平台上,或多个不同结构的数据存储平台之间快速、实时地查询和检索不同结构的数据;实时搜索引擎则是一种可对互联网上的大量数据和信息进行即时、快速搜索的工具,它已可达到即搜即得的效果。
大数据分析是指利用智能技术,从大规模、海量、异构数据中,揭示出隐含的、先前未知且有潜在价值信息的过程。它是一种决策支持过程,主要基于人工智能、机器学习、模式识别、数据挖掘、统计学和数据库等技术。传统的关系型、结构化处理方式已不足以应付大数据分析的要求,必须采用MapReduce等并行处理方式,对海量数据进行分解并分布存储,再由数据挖掘系统并行处理,然后将多个局部处理结果合成最终的输出模式,以实现对海量数据的深度分析和挖掘。一些实时性需求常用EMC的GreenPlum、Oracle的Exadata,以及基于MySQL的列式存储Infobright等,而一些批处理或基于半结构化数据的需求则可用Hadoop处理[2]。
3.5 大数据呈现与应用
大数据的呈现方式与应用密切相关,只有能够有效理解数据,才能真正利用好大数据。数据可视化可以提供更为清晰直观的数据感知,将错综复杂的数据和数据之间的关系,通过图片、映射关系或表格等,以简单、友好、易用的图形化、智能化形式呈现给用户供其分析使用。可视化是人们理解复杂现象,诠释复杂数据的重要手段和途径,可供人们检验已有预测,探索未知信息,同时提供快速、可检验、易理解的评估和更有效的交流手段。
大数据应用是指将数据分析过程中得到的规则、信息、智慧应用于各个领域、各个行业具体问题的过程。随着大数据时代的到来,大数据技术被广泛应用于众多领域。在不同的领域中,由于要处理的问题特点不同,从大数据分析、检索、可视化等大数据基本技术中,又衍生出许多特定领域的大数据应用技术。大数据应用环节的产品一般为解决方案或具体软件,这些解决方案和软件面向的应用领域比较聚集,有很强的行业特色,且产品功能都是基于对大量数据或实时数据分析得出的。
3.6 大数据安全
大数据时代,现实世界的一举一动都有可能产生数据并被记录下来。而这些海量数据本身,以及数据中蕴藏的信息往往涉及到国家、社会、企业和个人的隐私,这对大数据时代的信息安全提出巨大挑战。因此,大数据时代需要发展信息安全技术,以确保关系到人们生活方方面面的数据和信息不会被泄漏。目前,除了传统的信息安全方法外,大数据领域还有安全基础设施、安全数据仓库等技术。此外,一些数据库安全管理软件还能对不同操作系74《高性能计算发展与应用》 2014年第四期 总第四十九期
统上运行的异构关系型数据库进行实时监控;一些大型安全数据库能够对实时安全和商务数据结合在一起的数据进行预防性的析,以便识别钓鱼攻击,防止诈骗和阻止黑客入侵。
4. 结束语
大数据不仅仅是数据规模庞大,且数据种类多样、要求实时性强、蕴藏极大商业价值,目前大数据管理及处理能力已经成为引领网络时代IT发展的核心。海量数据到大数据的发展过程是一个从量变到质变的过程,如果说量变的过程传统技术尚能应付,但一旦到达一个临界点就会产生质变,过去的技术将在无法满足新的需求。因此大数据处理必将带来新的技术发展,我们只有深入研究、不断探索才能跟上时代的步伐。
参考文献:
[1] 孟小峰,慈 祥. 大数据管理:概念、技术与挑战[J]. 计算机研究与发展,2013,50(1):146-169.
[2] 张 军,倪颖杰,李祖华,冯 景. 大数据计算处理与存储研究综述[J]. 高性能计算技术,2014,229(4)30-35.
