大数据——正在发生的深刻变革

时间:2022-07-14 05:03:02

大数据——正在发生的深刻变革

摘要:介绍和比较了大数据在存储、管理、处理及挖掘方面全球主要的技术。大数据技术总的趋势是通过分布式计算来解决“瓶颈”问题。由于不能完全依赖提高单个节点性能的方式提升系统整体性能,因此需要通过增加系统内节点数目的方式来达到目的。可以将存储、处理和分析的任务通过分布式的方式分散到系统中各个节点上来加快数据的存储、处理和分析的速度。

关键词: 大数据;新摩尔定律;云计算;数据挖掘;Hadoop平台

Abstract: In this paper, we describe and compare the main technologies for storing, managing, processing, and mining big data. Distributed computing is a new trend in solving bottlenecks associated with big-data development. Performance of the whole system cannot be improved only by improving the performance of a single node; therefore, it is necessary to increase the number of nodes within the system. Storage, processing and analysis can be distributed to each node in the system to speed up data storage, processing and analysis.

Key words: big data; new Moore’s law; cloud computing; data mining; Hadoop platform

随着人类对自然和社会认识地进一步加深及人类活动的进一步扩展,科学研究、互联网应用、电子商务、移动运营商等诸多应用领域产生了多种多样的数量巨大的数据。大数据(Big Data)的出现对传统的数据存储、数据处理及数据挖掘提出了新的挑战,同时也深刻地影响着人类的生活、工作及思维。传统的数据存储方法、关系数据库、数据处理和数据分析方法已不能满足当前的需要。

维基百科给出的大数据的定义如下:

巨量数据(或称大数据、海量资料),指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理,并整理成为帮助企业经营决策更积极目的资讯[1]。

目前工业界普遍认为大数据具有4V+1C的特征:

(1)数据量大(Volume)。存储的数据量巨大,拍字节级别是常态,因而对其分析的计算量也大。

(2)多样(Variety)。数据的来源及格式多样,数据格式除了传统的格式化数据外,还包括半结构化或非结构化数据,比如用户上传的音频和视频内容,而随着人类的活动的进一步拓宽,数据的来源更加多样。

(3)快速(Velocity)。数据增长速度快,同时要求对数据的处理速度也要快,以便能够从数据中及时地提取知识,发现价值。

(4)价值密度低(Value)。需要对大量的数据处理挖掘其潜在的价值,因而,大数据对我们提出的明确要求是设计一种在成本可接受的条件下,通过快速采集、发现和分析从大量、多种类别的数据中提取价值的体系架构。

(5)复杂度(Complexity)。对数据的处理和分析难度大。

1 大数据时代的来临

因特尔创始人戈登·摩尔(Gordon Moore)在1965年提出了著名的“摩尔定律”:即当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加1倍,性能也将提升1倍。1998年图灵奖获得者杰姆·格雷(Jim Gray)提出著名的“新摩尔定律”:每18个月全球新增信息量是计算机有史以来全部信息量的总和。我们可以将新摩尔定律同1439年前后古登堡发明印刷机时造成的信息爆炸作对比:在1453—1503年这50年间大约印刷了800万本书籍,比1200年之前君士坦丁堡建立以来整个欧洲所有手抄书还要多,即50年内欧洲的信息增长了1倍[2];而现在的数据增长速度则是每18个月全球信息总量翻一番。图1可以清楚地看到大数据的增长,图2是IDC公司对未来全球数据总量的预测,图3则表明了大数据正在日益成为人们关注的焦点。我们已经进入到大数据时代。

2 大数据产生的原因

大数据随着人类活动的进一步拓宽而出现,他给我们带来了机遇也带来了挑战。

2.1 数据采集方式的改变

自从计算机诞生以来,特别是近几十年因特网的发展,人类逐步进入了信息社会。信息化时代一个关键特征是自动化,包括数据产生的自动化、数据处理的自动化等等,把人从简单繁琐的任务中解脱出来,用以解决需要创新的问题。比如在精细农业中,我们需要收集植物生长环境的温度、湿度、病虫害信息,来对植物的生长进行精细的控制。因此我们在植物的生长环境中安装各种各样的传感器,自动地收集我们需要的信息。自动化的出现使人类不再满足于得到部分信息,而是倾向于收集对象的全面的信息,即将我们周围的一切数据化(注意,这里并非“数字化”)。因此,美国提出了“数字地球”计划,因为在信息时代,谁掌握了信息的制高点,谁就能掌握主动权。而且有些数据如果丢失了哪怕很小一部分,都有可能得出错误的结论,比如通过分析人的基因组判断某人可能患有某种疾病,即使丢失一小块基因片段,都有可能导致错误的结论。这些原因都导致了我们必将面临数据的大爆炸。

2.2 人类活动范围的拓宽

在Web2.0时代,每个人不仅是信息的接受者,同时也是信息的产生者。全球每秒中发送290万封电子邮件,每天会有2.88万个小时的视频上传到Youtube,Twitter上每天的信息超过5千万条,每天亚马逊将产生6.3百万笔订单。2012年11月11日0点起,天猫和淘宝网在5分钟内就有1 000万网民加入了抢购。

以上只是我们见到的大数据的冰山一角,大数据的产生主要有下面几个来源:

(1)科学研究(包括天文学、生物学和高能物理等)。以天文学为例,2000年斯隆数字巡天项目启动的时候,位于墨西哥州的望远镜在短短几周内收集到的数据比天文学历史上总共收集的数据还要多。

(2)智慧城市建设。智慧城市包括市政交通管理、精细农业、智能家居和环保监察等,以市政交通管理为例,在城市的任何道路上都可以看到摄像头,而视频数据是一个巨大的数据源。

(3)移动、电信和联通等通信和互联网运营商。运营商会实时采集网络底层数据进行网络优化,也会对所有用户的消费行为进行深度挖掘以制订相对应的营销策略。

(4)互联网企业(包括SNS、微博、视频网站、电子商务)。这些最早接触大数据的企业,谷歌公司每天要处理24 PB大小的数据,中国所熟知的互联网巨擘如百度、新浪、腾讯、阿里巴巴,每天产生的数据以拍字节量级计算。

2.3 大数据蕴含的潜在价值

从数据中发现知识,用以指导企业或者个人对生产和生活中碰到的问题进行决策,而不仅仅是产生报表。这些复杂的分析必须依赖复杂的分析模型,很难用结构化查询语言(SQL)语句进行表达,因此这类分析被称为“深度分析”。

以往的数据只是用来描述事实,进而理解产生这些数据背后的原因,现在我们需要通过对累积的数据进行分析,用以预测事物将来的发展趋势,进而采取相关的行动。在商业活动中,公司能够积累大量的交易记录,公司希望通过分析这些交易记录,找出其背后潜在的盈利模式。而SQL语句仅仅能够做到数据的呈现,无法满足找寻数据背后的相关性需求,进而探究事物之间的因果关系。谷歌在2009年初通过用户在网上的搜索记录成功预测甲型H1N1流感的爆发[3]。如果我们能够在流感爆发之前采取措施,将会给社会带来巨大的福祉。谷歌的成功预测是建立在大量数据的基础上。这就是大量数据背后的潜在的价值,谁能利用这些数据进行创新,谁就能够对未来的有更大的把握。为了得到数据背后的潜在价值,我们通常使用神经网络、数据挖掘及机器学习的方法建立模型,找出事物之间的关联,进而探究数据背后的原因,而这是单纯的SQL语句所无法胜任的。我们已经进入对大数据进行复杂分析的时代。

3 大数据解决方案

大数据时代的到来对数据的存储、处理及分析提出了新的挑战,但总的发展趋势是通过分布式计算来解决“瓶颈”问题。我们不能依赖提高单个节点性能这种纵向扩展的方式提升系统整体的性能,相反,我们需要能够通过增加系统内节点的数目这种横向扩展的方式来达到我们的目的。我们将存储、处理和分析的任务通过分布式的方式分散到系统中各个节点上来加快数据的存储、处理和分析的速度。

在实际的实现上,Google[4]、Amazon[5]、微软[6]和VMware[7]这4家公司在不同时间陆续推出各自的大数据方案,在应用领域和赢利模式上,Amazon和Google处于领跑者地位,微软和VMware紧随其后,此外还有开源的Hadoop[8]平台。Hadoop是谷歌大数据平台的开源实现,由于其开源特性,越来越多的企业在Hadoop的基础上对其进行修改以适应自己的需要,如Facebook根据其业务需求,底层采用Hadoop平台进行数据的存储和处理,并在其上开发了Hive[9]。Facebook通过Hive实现了例行性报表、即席查询、机器学习和数据挖掘算法,达到了较好的效果。图4是谷歌趋势描述的“Hadoop”关键词的搜索趋势。下面的对各项技术的比较过程中,我们将主要围绕这5种大数据解决方案展开比较。

3.1 大数据的存储

稳定、高效的存储系统既是系统正常运行的重要保证,也可以单独作为一项服务提供给用户。5种方案之中,Amazon的S3和微软的Blob存储比较类似,Google的GFS则完全不同,VMware目前仅向虚拟机提供存储服务,Hadoop仿照GFS开发了HDFS,是GFS的简化版本。相比GFS,HDFS缺少了多客户端并发的Append模型及快照功能。表1是5种存储服务的简单对比。

5种方案都提供了数据库存储服务。Google App Engine的Datastore构建在Bigtable上,但自身及其内部没有实现直接访问Bigtable的机制,可以看做是Bigtable上的一个简单接口。由于雅虎和Facebook的推动,Hadoop平台的数据库功能也越来越完善。雅虎在Hadoop平台上开发了Pig[10],Facebook在Hadoop平台上开发了Hive,两者都是构建在HDFS之上,直接对HDFS进行操作,严格来讲只能算是对HDFS进行操作的接口。Hive目前已经开放了HBase接口,能够通过HBase对数据进行操作,因此,Hive同HBase的融合是未来发展的趋势。Amazon的SimpleDB采用的是“键/值”存储方式,功能比较简单,实现的查询功能也不太全面。SimpleDB和Datastore使用的都是“实体-属性-值”(Entity-Attribute-Value)的EAV数据模型。微软的SQL Azure是云环境下的关系数据库,并支持报表、数据同步等服务。10gen开发的开源云数据库MongoDB,可以实现均衡性较好的分布式数据库存储。Cassandra是Facebook推出的兼具Amazon Dynamo完全分布式特性和Google集中式管理特性的大数据库。数据立方是云创存储推出的列式完全分布式万亿记录级别的实时云计算数据库,其性能较之传统的云计算数据库提升约2个数量级[11]。表2是5种数据库之间的比较。

MapReduce[12]是谷歌提出的面向大数据的并行处理模型,具有扩展性好,鲁棒性高的优势,而属于关系型数据库的并行数据库是数据库发展的结晶,查询效率高,并且支持Schema。此外并行数据库的工具种类齐全,我们不能因为大数据就把这些非常好用的软件全部扔掉,这样做不经济也不合理,在小规模数据和数据的报表显示方面,这些工具性能卓越。目前越来越多的研究人员逐渐意识到,MapReduce技术和并行数据库的融合才是真正的解决大数据问题的有效途径[13]。文献[14]指出,目前并行数据库同MapReduce的融合包括3个方面:

(1)并行数据库主导型,典型的代表有Exadata、Greenplum等。

(2)MapReduce主导型,典型代表有Hive和Pig。

(3)并行数据库和MapReduce集成型,典型代表有HadoopDB、Vertica及Teradata等。

3.2 大数据的处理

计算服务是所有的大数据解决方案最核心的业务之一,同时也是用户最常用的服务。Google和Hadoop提供基于MapReduce的数据处理,整个过程对用户而言是透明的。Amazon的EC2给予用户配置硬件参数的权利,使得用户可以根据实际的需求动态地改变配置,从而提高效率和节省资源。微软的Azure允许用户在处理数据之前设置部分参数,但相对于EC2其灵活性要差很多。VMware的vCloud中提供了DRS和DPM技术,可以通过迁移和关闭虚拟机来实现资源优化。表3是这5种计算服务的比较。

MapReduce在系统层面解决了大数据分析平台的扩展性和容错性问题,是非关系型数据库的典型代表,因此越来越多的研究人员从性能和易用性方面对MapReduce进行改进。对MapReduce性能提升的研究包括4个方面:

(1)多核硬件与图形处理器上的性能改进。

(2)索引技术与连接技术的优化。

(3)调度技术优化。

(4)其他优化技术。

针对MapReduce易用性的研究成果包括Yahoo的Pig、Microsoft的LINQ、Hive等。

从上述比较中不难发现,5种大数据解决方案在大数据的存储和处理方面都存在较大的差异。但不同方案之间没有绝对的优劣之分,仅有适用场合的区别,用户可在确定自身的需求后进行选择。

3.3 大数据的数据挖掘

3.3.1 大数据数据挖掘的背景

图5是谷歌趋势反映的“Big Data Analytics”关键词的搜索趋势,可以看出对大数据的分析已经成为关注的焦点。对大数据进行分析,找出其背后的潜在关系,是大数据的最终目的,只有这样大数据才能真正释放其价值。

互联网和电子商务企业应用数据挖掘算法对大数据进行分析的做法由来已久。谷歌通过将软件免费提供给用户使用,使其能够对用户的喜好进行分析,从而定制更加具有针对性的广告策略。此外,谷歌在机器翻译和图像识别方面的成就也是有目共睹,而这一切都建立在对大量的数据进行分析的基础上。亚马逊能够根据以往用户的购买记录向用户推荐相似的商品,这项技术为亚马逊带来了巨大的收益,作为消费者,我们也很难不受这些推荐内容的影响。现在我们已经能够通过数据挖掘预测飞机票、规划最佳线路及对汽车的安全状况进行监测等。这些都是对大数据进行挖掘的例子。通过数据挖掘,能够为公司带来巨大的利益,也能使我们的生活更加便利。

在中国,中国移动在2007年3月确定实施“大云”计划,并同中科院计算所合作开发了大云数据挖掘系统(BD-PDM)。该系统是一套高性能、低成本、高可靠性、高可伸缩性的海量数据处理、分析和挖掘系统,实现了数据的分类、聚类及关联规则发现。阿里巴巴利用Hadoop平台对海量电子商务交易数据进行存储和深度数据挖掘,并于2011年启动10亿元云基金,专注于基于云计算的电子商务、分布式存储和计算技术、数据中心运维技术、大规模/超大规模的数据挖掘和分析的算法等等。

Mahout[15]是一个基于Hadoop的开源数据挖掘平台,其主要目标是创建一些可伸缩的机器学习算法,供开发人员在Apache许可下免费使用。虽然其在开源领域比较年轻,但已经提供了大量功能,特别是在集群和CF方面。

3.3.2 大数据数据挖掘的研究现状

当数据规模增大的时候,已有的数据挖掘算法已经不再适用,需要对其改进,以利用并行计算模型加快数据的处理速度。目前对大数据进行数据挖掘的研究大致包括3个方面。

(1)集中在将已有的在单个机器上运行的机器挖掘算法迁移到并行计算平台上来。文献[16]提出了一种基于MapReduce的、适用于大量机器学习算法的通用并行编程框架,在该框架下,他们实现了包括线性回归、朴素贝叶斯等在内的10种经典的数据挖掘算法。文献[17]阐述了SVM在在MapReduce模型下的实现。文献[18]提出了Parallel FP-Growth算法,并通过实验证明了该算法具有极强的扩展性,适用于海量数据挖掘。文献[19-22]也都是对已有的数据挖掘算法进行改进,使其能够通过MapReduce并行计算模型加快计算速度,以适应大数据背景下的数据挖掘要求。

(2)利用MapReduce并行计算模型解决具体的问题。文献[23-24]都是对Web数据进行数据挖掘。文献[23]利用MapReduce模型改进并优化了Web数据挖掘中的Graph算法,文献[24]重新设计和实现了基于中文词网络的HITS算法,对该算法进行Map/Reduce化,并测试和分析了实验结果。文献[25]分析了中药的复方数据,发现了中药药物网络具有复杂网络特性,并采用MapReduce并行计算模型对分析复杂网络的算法进行了并行化处理。文献[26-28]也都是在具体的应用中通过MapReduce模型对已有的算法进行并行化处理。

(3)利用已有的数据挖掘算法构建大数据挖掘平台。通过将已有的数据挖掘算法同大数据挖掘平台的集成,能够使我们在利用已有的研究成果的同时,快速地开发相关的算法,使我们专注于实际的应用问题。已有的开源数据挖掘平台R和Weka被广泛使用。文献[29-30]致力于将R和Hadoop集成,使Hadoop获得强大的分析能力。文献[31]实现了Weka和MapReduce的集成。

4 结束语

大数据的产生是必然的,而且已经在深刻地影响着我们的工作和生活。本文分析了大数据的产生与发展,并对大数据的存储和处理及对大数据的数据挖掘作了介绍,最后对本文作了总结。我们有理由相信,在不远的将来,大数据将带给我们更多的精彩。我们应当抓住机遇,在未来出现的大数据生态系统中找到自己的一席之地。

参考文献

[1] 大数据 [EB/OL]. [2013-04-13]. http:///zh/Big_data.

[2] 迈耶-舍恩伯格, 库克耶. 大数据时代: 生活、工作与思维的大变革 [M]. 盛杨燕, 周涛, 译. 杭州: 浙江人民出版社, 2013:1-23.

[3] GINSBERG J, MOHEBBI M H, PATEL R S, et al. Detecting influenza epidemics using search engin query data [J]. Nature, 2009, 457(19): 1012-1014.

[4] Google. Google App Engin [EB/OL]. [2013-04-13]. http:///appengine/.

[5] Amazon. Amazon Web Service [EB/OL]. [2013-04-13]. http:///.

[6] Microsoft. Introducing the Windows Azure Platform (Final PDC10) [EB/OL]. [2013-04-13]. http:///en-us/develop/net/fundamentals/intro-to-windows-azure/.

[7] VMware. VMware vCloud [EB/OL]. [2013-04-13]. http:///products/vcloud/.

[8] Hadoop [EB/OL]. [2013-04-13]. http:///.

[9] THUSOO A, SARMA J S, JAIN N, et al. Hive a warehousing solution over a MapReduce framework [J]. Proceedings of the VLDB Endowment (PVLDB), 2009, 2(2): 938-941.

[10] OLSON C, REED B, SRIVASTAVA U, et al. Pig Latin: A not-so-foreign language for data processing [C]//Proceedings of the 2008 ACM SIGMOD international conference on Management of data (SIGMOD’08), Jun 9-12, 2008,Vancouver,Canada.New York, NY, USA: ACM, 2008:1099-1110.

[11] cStor [EB/OL]. [2013-04-13]. http://.

[12] DEAN J, GHEMAWAT S. MapReduce: Simplified data processing on large clusters [C]//Proceedings of the 6th USENIX Symposium on Operating System Design and Implementation (OSDI’04),Dec 6-8,2004,San Francisco, CA,USA. Berkeley, CA, USA: USENIX Association, 2004:137-150.

[13] 覃雄派, 王会举, 杜小勇, 等. 大数据分析——RDBMS与MapReduce的竞争与共生 [J]. 软件学报, 2012, 23(1):32-45.

[14] 王珊, 王会举, 覃雄派, 等. 架构大数据:挑战、现状与展望 [J]. 计算机学报, 2012, 34(10):1741-1752.

[15] Mahout [EB/OL]. [2013-04-13]. http://mahout. /.

[16] RANGER C, RAGHURAMAN R, PENMETSA A, et al. Evaluating MapReduce for multi-core and multiprocessor systems [C]//Proceedings of the IEEE 13th International Symposium on High Performance Computer Architecture(HPCA’07),Feb 10-14, 2007, Phoenix, AZ,USA. Piscataway, NJ, USA:IEEE, 2007:13-24.

[17] CHANG E Y,ZHU K H, WANG H, et al. PSVM: Parallelizing support vector machines on distributed computers [C]//Proceedings of the 21st Annual Conference on Neural Information Processing Systems (NIPS’07), Dec 3-6,2007,Vancouver, Canada. Berlin, Germany: Springer-Verlag, 2007:213-230.

[18] LI H Y, WANG Y, ZHANG D, et al. Parallel FP-growth for query recommendation [C]//Proceedings of the 2nd ACM Conference on Recommender systems (RecSys’08), Oct 23-25, 2008, Lausanne, Switzerland. New York, NY, USA: ACM, 2008:107-114.

[19] 郗洋. 基于云计算的并行聚类算法研究 [D]. 南京: 南京邮电大学, 2012.

[20] 陈爱平. 基于Hadoop的聚类算法并行化分析及应用研究 [D]. 西安: 西安电子科技大学, 2012.

[21] 张明辉. 基于Hadoop的数据挖掘算法的分析与研究 [D]. 昆明: 昆明理工大学, 2012.

[22] 李曼. 云计算平台上的增量学习研究 [D]. 南京: 南京邮电大学, 2012.

[23] 李雪锋. 基于云计算环境的web数据挖掘算法研究 [D]. 北京:北京交通大学, 2010.

[24] 李辉. 基于与计算环境的web结构挖掘算法研究 [D]. 杭州: 浙江理工大学, 2012.

[25] 刘正. 基于MapReduce的中药数据网络化及挖掘 [D]. 南京: 南京大学, 2012.

[26] 李彬. 基于MapReduce编程模型的航空日志分析研究 [D]. 成都: 成都理工大学, 2012.

[27] 高进. 基于MapReduce的DNA序列拼接算法研究 [D]. 北京: 北京交通大学, 2012.

[28] 肖韬. 基于MapReduce的信息检索相关算法并行化研究与实现 [D]. 南京: 南京大学, 2012.

[29] DAS S, SISMANIS Y, BEYER K S, et al. Ricardo: Integrating R and hadoop [C]//Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD’10),Jun 6-10, 2010,Indianapolis, IA, USA.New York, NY, USA: ACM,2010: 987-988.

[30] SAPTARSHI G, RYAN H, JEREMIAH R, et al. Large complex data: Divide and recombine(D&R) with RHIPE [J]. The ISI’s Journal for Rapid Dissemination of Statistics Research, 2012, 1(1):53-67.

[31] WEGNER D, MOCK M, ADRANALE D, et al. Toolkit-based high-performance data mining of large data on MapReduce clusters [C]//Proceedings of the 9th IEEE International Conference on Data Mining (ICDM’09), Dec 6-9, 2009,Miami, FL, USA. Los Alamitos, CA, USA: IEEE Computer Society,2009: 296-301.

作者简介

刘鹏,清华大学博士毕业;理工大学教授、博导、学科带头人,中国云计算专家咨询委员会副主任/秘书长,中国电子学会云计算专家委员会云存储组组长;研究方向为信息网格、云计算;已主持完成基金项目18项;已80余篇,出版专著12部。

胡谷雨,理工大学首席教授、博士生导师,江苏省有突出贡献中青年专家,国家科技进步奖评审专家;研究方向为计算机网络、网络管理、网络智能;已发表学术论文160余篇。

吴兆峰,理工大学在读博士研究生;研究方向为计算机网络。

上一篇:近场通信技术(1) 下一篇:小议市政排水施工技术