Page 38 - 网络电信2016第12期
P. 38
解决方案
大数据分析平台——从扩展性优先到性能优先
郑纬民 陈文光
认为现有以MapReduce/Spark等为代表
的大数据处理平台在解决大数据问题的挑
战问题方面过多考虑了容错性,忽视了性
能。大数据分析系统的一个重要的发展方
向就是兼顾性能和容错性,而图计算系统
在数据模型上较好地考虑了性能和容错能
力的平衡,是未来的重要发展方向。
随着信息化技术的发展,人类可以产生、收集、存储越 如何用这种思路构建大数据分析系统。
来越多的数据,并利用这些数据进行决策,从而出现了大数据
的概念。大数据的定义很多,比较流行的定义是Gartner公司 以MapReduce/Spark为代表的大数据分析
提出的简称为3V的属性,即数据量大(Volume),到达速度快 平台
(Velocity)和数据种类多(Variety)。大数据分析利用数据驱
动的方法,在科学发现、产品设计、生产与营销、社会发展等 现有的大数据分析平台主要基于开源的Hadoop系统,该系
领域具有应用前景。 统使用Hadoop分布式文件系统(HDFS),通过多个备份的方法
保证大量数据的可靠存储和读取性能,其上的Hive[3]系统支持
由于大数据的3V属性,需要在多台机器上进行分布与并 数据查询,HadoopMapReduce则支持大数据分析程序的开发。
行处理才能满足性能要求,因此传统的关
系型数据库和数据挖掘软件很难直接应用 与传统的并行编程方法MPI[4]相比,
在大数据的处理分析中。传统的超级计算 MapReduce是近年来并行编程领域的重要进
技术,虽然具有很强的数据访问和计算能 展。尽管Map和Reduce在函数语言中早已被
力,但其使用的MPI编程模型编程较为困 提出,但将其应用于大规模分布并行处理
难,对容错和自动负载平衡的支持也有缺 应归功于Jeff Dean 和Ghemewat Sanjay。
陷,主要运行在高成本的高性能计算机系 在MapReduce并行编程模型中,用户仅需要
统上,对于主要在数据中心运行的大数据 编写串行的Map函数体和Reduce函数体,
分析不是非常适合。 MapReduce框架就可以完成并行的计算,并
实现了自动容错和负载均衡。这对于数据中
为了解决大数据的分析处理所面临 心中采用的异构服务器、低成本服务器集群
的编程困难,负载不平衡和容错困难的问 是非常重要的。MapReduce开始仅能在使用
题,业界发展出了一系列技术,包括分布 通用中央处理器(CPU)的分布式系统上运
式文件系统、数据并行编程语言和框架 行,但后来被移植到图形处理器(GPU)和
以及领域编程模式来应对这些挑战。以 多种加速器上。
MapReduce[1]和Spark[2]为代表的大数据分析
平台,是目前较为流行的大数据处理生态 MapReduce需要将中间结果保存到磁盘
环境,得到了产业界的广泛使用。 中,从而大大影响了性能,美国加州伯克
利大学提出的Spark系统可以看做是基于内
但是在文章中,我们通过分析认为:MapReduce和Spark系 存的MapReduce模型,通过将中间结果保存在内存中,大大提
统将容错能力作为设计的优先原则,而在系统的处理性能上做 高了数据分析程序的性能,类似思路的系统还包括HaLoop[5]和
了过多的让步,使得所需的处理资源过多,处理时间很长,这 Twister[6]等。
样反而增加了系统出现故障的几率。通过进一步分析性能与容 Spark和MapReduce在大数据领域取得了巨大的成功,已经
错能力的关系,我们提出了一种性能优先兼顾扩展性的大数据 成为事实上的大数据处理标准。它们与分布式文件系统HDFS、
分析系统构建思路,并以一个高性能图计算系统为例,介绍了 查询系统Hive都集成在Hadoop系统中,为大数据的存储、查询
60 网络电信 二零一六年七月