APP下载

大数据环境下的平台架构技术研究

2014-04-29陆丽婷

计算机时代 2014年10期
关键词:云计算大数据

陆丽婷

摘 要: 大数据时代的到来,对数据的管理和存储带来了挑战。为了更好地管理和利用大数据,对大数据的基本特征进行了剖析,从大数据和分析技术平台的视角,分析了海量并行处理架构、云计算、网格计算和MapReduce这几种重要的技术,比较了其技术特点,对运用不同的技术对大数据时代数据管理产生的作用进行了分析,讨论了大数据分析工作所需要的混合环境,整合环境资源以使能够协同工作,使得每一项技术变得更加强大有效。

关键词: 大数据; 海量并行处理系统; 云计算; 网格计算; MapReduce

中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2014)10-22-02

Research on technology of platform architecture under environment of big data

Lu Liting

(Dept. of Electronic Information Engineering, Wuxi City College of Vocational Technology, Wuxi, Jiangsu 214153, China)

Abstract: The advent of the era of big data brings challenges to data management and storage. In order to manage and use big data better, the basic features of the big data is analyzed. From the angle of big data and analysis on technological platform, several important technologies are analyzed, such as the massive parallel processing architecture, cloud computing, grid computing and MapReduce. The characteristics of different technologies are compared. The role of data management using different techniques is analyzed. The mixed environment which big data analysis needed is discussed. The environmental resources are integrated to work harmoniously, which makes every technology become more powerful.

Key words: big data; massive parallel processing system; cloud computing; grid computing; MapReduce

0 引言

近年来,大数据如雨后春笋般地出现在各行各业中,如何适当地使用大数据已经成为人们研究的热点,研究人员积极地去收集和分析这些新的数据源,并深入了解这些新数据源带来的新信息。大数据的世界需要更高层次的可扩展性,随着数据量持续增长,原有的数据处理方式已无法应对现有的数据量,在大数据处理、分析与应用的不同层面中,有很多技术可以使用[1-2],本文对处理大数据的几种重要技术进行了分析。

1 大数据

大数据(Big Data),是随着计算机技术及互联网技术的高速发展而产生的独特数据现象,通常来说,凡是数据量超过一定大小,导致常规软件无法在一个可接受的时间范围内完成对其抓取、管理和处理工作的数据即可称为大数据,包括互联网上的网页数据、社交网站上的用户交互数据、物联网中产生的活动数据等。大数据除了具有大容量、多类型和高时效等基本特征外,还具有一些区别于传统数据源的重要特征[3]。

⑴ 大数据通常是由机器自动生成的。在新数据的产生过程中,并不会涉及人工参与,它们完全由机器自动生成,例如:引擎中内置的传感器,即使没有人触摸或下达指令,它也会自动地生成关于周围环境的数据。

⑵ 大数据通常是一种全新的数据源。例如:通过互联网,顾客与商家进行在线交易,对顾客来说只是多了一种不同的交易渠道,这种交易和传统的交易方式并没有本质上的差别,但对商家来说通过对顾客在线交易时的浏览行为进行收集,产生了一种本质上全新的数据。

⑶ 很多大数据的设计并不友好。例如:对于社交媒体网站上的文本流,用户不一定会使用标准的语法或语序,当发布信息时,可以获得这些数据,但对这些数据的处理却不那么容易。

⑷ 大数据可能并不蕴含大量的价值。传统数据源在定义之初,要求所有的数据都是有用的,主要是由于当时的可扩展性的限制,如今,存储空间已不再是主要的瓶颈,因此,大数据会收集所有可能使用到的信息,例如:一篇网页日志中会含有非常重要的数据,但其中也包含了很多没有价值的数据,对其进行提炼,从而保留有价值的部分是非常必要的。

2 驾驭大数据的几种技术

2.1 海量并行处理系统

大数据时代的到来,传统的数据处理方式已经不能满足海量数据处理的实时性与实效性要求,海量并行处理系统(MPP)适应了大数据时代的要求。MPP架构由多个对称多处理器结构SMP服务器(每个SMP服务器称为一个节点)通过节点互联网络进行连接,每个节点只访问自己的本地资源,协同工作,完成相同的任务[4]。MPP数据库会把一个任务数据切分成不同的独立数据块,利用独立存储与CPU资源进行管理,把数据分配到不同的磁盘空间和不同的CPU单元。

[一台过载的服务器][多台轻负载

的服务器]

图1 海量并行处理系统的数据存储

例如:对于一张1T的数据表,传统的数据库在同一时间只能查询一行,如果是一个拥有10个处理单元的MPP系统,它可以把这个1T的数据表切分成10份,每份100GB数据,并分配给不同的处理单元,也就是在同一时间可以同时查询10份100GB的数据。如果需要更强大的分析能力和更快的分析速度,只要增加更多的处理单元,系统能力就会得到提高。

MPP服务器架构的并行处理能力比SMP更适合于大数据时代下的复杂的数据综合分析与处理环境,它需要借助于支持MPP技术的关系数据库系统来屏蔽节点之间负载平衡与调度的复杂性[5]。

2.2 云计算

云计算是硬件资源的虚拟化,大数据是云计算处理的数据之源,大数据的指数级增长使得数据的提取、存储、处理、管理以及分析具有较高的复杂性,因此,大数据对云计算环境有着很高的依赖。

云计算是融合诸如网格计算、分布式计算、并行计算、内存计算、虚拟化等传统计算机和网络技术发展起来的产物,通过将计算任务分布在大量的分布式计算机上,形成类网状的服务器集群。云计算具有较强的可扩展性,高效的交互处理能力,可以实现根据任务自由地分配资源,用户按照需求访问存储空间和服务器集群,从而大大地提高了计算能力,并降低了用户对客户端的要求,大数据的出现,为云计算提供了发展空间,云计算作为计算资源的底层,支撑着上层的大数据处理。

目前较多运用云计算平台(Hadoop)架构和Mapreduce模式组合应用处理海量数据,Hadoop是云计算平台的架构,Mapreduce是一种处理海量数据的模式方法,在Hadoop架构体系中运用了Mapreduce并行编程计算模式处理海量的数据,提高了大数据分析的性能。

2.3 网格计算

某些计算过程与算法无法全部转换成SQL,或者难以嵌入数据库的某个自定义函数中。在这种情况下,必须把数据从传统的分析环境中抽取出来,然后用传统的分析工具和软件进行分析,随着分析师越来越多,以及分析任务越来越繁重,必须对这些服务器进行扩容或者增加更多的服务器,这些都是相当昂贵的,网格配置可以降低系统成本并提高性能,它使用大量的低成本计算机,而不是一台或几台高性能的服务器。网格计算并不是只使用一台大型服务器来管理执行不同任务的CPU和资源,相反地,不同任务被独立地分配给不同的计算机,并让每一台计算机并发执行。每一台计算机也许都会承担原有服务器的某一部分任务,同一时间一台计算机通常只能执行一项任务,因此,网格计算这种系统机制在提升系统性能和容量的同时,可以显著地降低系统的总体成本。

网格计算还有一个刚出现不久的创新,即高性能的分析架构,在这个架构中,网格计算环境下的不同计算机都知道其他计算机的存在,并且不同计算机可以共享信息。这种协作方式,在同一时间充分使用了网格计算环境下的所有计算资源,使得某些大型任务可以更快地完成。

2.4 MapReduce

MapReduce是谷歌提出的一个使用简易的软件框架,用于大规模数据集的并行运算,基于它写出来的应用程序能够运行在由上千个普通机器组成的大型集群上,并以一种可靠容错的方式并行处理上太级别的数据集[6]。

MapReduce里内置了两个主要的处理过程:映射过程“map”和归纳过程“reduce”,MapReduce会在一系列的工作结点上并发执行这些处理过程,这类似于MPP系统,MapReduce将复杂的运行于大规模集群上的并行计算过程抽象为两个函数(map和reduce),执行时先指定一个map函数,把输入对映射成一组新的对,经过一定处理后交给reduce,reduce对相同key下的所有value处理后再输出对作为最终结果。与MPP系统的区别在于:MapReduce里的节点之间不会发生信息交互。它把一个任务分解成许多小任务,它们相互独立运行,如图2所示。

[映射功能][映射(Map)][洗牌][归纳(Reduce)][调度] [结果]

图2 MapReduce处理过程

分析师可以创建一个映射程序来搜索并分析文本记录中的每一个词语,然后将这些词语从段落中解析出来;当每个工作节点都执行完映射程序,调度程序就会得到通知,之后,每个归纳节点的归纳程序开始汇总计算每个词语出现的频率,然后标上这个词语出现的次数统计,映射程序的输出结果就是词语与计数的组合。例如,网站的在线客服人员与客户交流的大量文本记录被不断地导入系统中,归纳程序的输出物可能是“<他,10>,”“<商品,25>,”“<坏了,20>,”,这里的数字表明这个词语在文章中出现的总次数,获得了词语的出现次数后,分析师就开始工作了,一些特定产品的名称,以及像“坏了”之类的词语都将被识别出来并进行重点研究,原来大段文字的文本数据经过处理后转换成了一种简单的格式,便于人们进行分析。

许多大型的数据流都包含了大量没有长期价值的信息,部署在云端的弹性MapReduce可以根据需求实时地按需配置和访问服务器集群,实现对大量和密集型数据任务的处理,比如日志文件分析、数据挖掘等。

3 结束语

在驾驭大数据的分析生态环境中,海量并行关系型数据库、云计算、MapReduce都可以发挥重要的作用,可以将这三项技术整合起来协同工作,并从大数据中获得最大的价值。例如,数据库可以运行在云里;数据库可以内置MapReduce功能,MapReduce也可以直接处理云计算环境内的数据,MapReduce还可以对部署在云内的数据库的库内数据进行处理。这三种技术可以相互影响并协同工作,每一项技术都能加强其他技术,分析环境内可以同时包含这些不同的技术与方案,使得每一项技术都变得更加强大和高效。

参考文献:

[1] 严霄凤,张德馨.大数据研究[J].计算机技术与发展,2013.168.

[2] 王珊,王会举等.架构大数据:挑战、现状与展望[J].计算机学报,

2011.1741.

[3] Bill Franks.驾驭大数据[M].人民邮电出版社,2013.

[4] 刘军.hadoop大数据处理[M].人民邮电出版社,2013.

[5] 杨池然.跟随大数据旅行[M].机械工业出版社,2014.

[6] 周宝曜,刘伟等.大数据战略技术实践[M].电子工业出版社,2013.

猜你喜欢

云计算大数据
基于云计算的移动学习平台的设计
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用
基于大数据背景下的智慧城市建设研究