分享

基于云计算的数据挖掘平台架构及其关键技术研究[图]

 funson 2013-03-13

随着互联网尤其是移动互联网、物联网的快速发展,目前我们已处于数据、信息过载的海量信息时代。据数据调查公司IDC 研究报告显示:2011 年全球被创建和复制的数据总量为1.8 ZB,较去年同期,这一数据上涨了1 ZB,全球信息总量每过两年就会增长1 倍。用户面对海量信息却很难找到自己真正感兴趣的内容[1]。同时随着运营商逐渐推出移动互联网产品应用商店、阅读、游戏、社区等产品,如何分析挖掘这些产品生成的海量数据,将成为运营商迫切需要解决的问题。

云计算的出现,使得数据挖掘平台有了新的发展方向,也使得新一代的数据挖掘平台成为可能。云计算是能够提供动态资源、虚拟化和高可用的计算平台。云计算平台可被用来开发高性能的应用程序[2-3]。但是对于数据挖掘来说,海量数据本身具有噪声、异构、算法复杂、技术复杂等问题,而现在的云计算开发平台并没有提供数据规约等功能。因此文章通过对于数据挖掘、云计算的详细描述和分析,提出了基于云计算的数据挖掘平台。该平台架构基于云计算的基础能力,并符合云计算软件即服务(SaaS)的设计理念。该平台还能极大减少运营商、企业在数据挖掘技术上的投入并能加快其挖掘业务的推出,缩短研发周期,进一步提高产品收益。

1 基于云计算的数据挖掘策略

1.1 数据挖掘

数据挖掘[4-6]是一个从大量的、不完全的、有噪声的、模糊的、随机的实际数据中提取隐含在其中的但具有潜在实用信息和知识的过程。从数据挖掘的定义可以看出数据挖掘是知识发现领域的一个重要技术,它涉及到人工智能、机器学习、模式识别、统计学等高技术领域,具体技术包括特征化、关联、聚类、预测分析等。数据挖掘在互联网、移动互联网、电信、金融、科学研究等领域得到了广泛的应用,例如Facebook 的好友推荐、和淘宝网的商品推荐、银行的防欺诈分析等。传统的数据挖掘技术建立在关系型数据库、数据仓库之上的,对数据进行计算,找出隐藏在数据中的模型或关系,并在大规模的数据上进行数据访问和统计计算,整个挖掘的过程需要消耗大量的计算资源以及存储资源[7]。

随着云时代的到来和移动互联网的快速发展,数据规模从MB、级发展到TB、PB 级甚至EB、ZB 级,并且面临着TB 级的增长速度,数据挖掘的要求和环境也变得越来越复杂,从而形成“数据量的急剧膨胀”和“ 数据深度分析需求的增长”这两大趋势,使得40 年来一直适用的数据库系统架构在海量数据挖掘方面显得力不从心[8]。

综合上述,传统的数据挖掘技术及其体系架构在云时代的海量数据中已经出现了不少问题,其中首先是挖掘效率的问题,传统的基于单机的挖掘算法或基于数据库、数据仓库的挖掘技术及并行挖掘已经很难高效地完成海量数据的分析;其次高昂的软硬件成本也阻止了云时代数据挖掘系统的发展;最后传统的体系架构不能完成挖掘算法能力的提供,基本是在以单个算法为整体模块,用户只能使用已有的算法或重新编写算法完成自己独特的业务。

云计算云计算[9-10]是一种商业计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。同时云计算是并行计算、分布式计算和网格计算的发展,或者说是这些计算科学概念的商业实现。

通常认为云计算包括以下3 个层次的服务:基础设施即服务(IaaS)、平台即服务(PaaS)、SaaS;其中IaaS 提供以硬件设备为基础的计算、存储和网络服务,实现了对硬件资源的抽象并服务化提供,使得分布式计算和分布式存储成为现实。

云计算具有一些特点[10-11]:

(1)虚拟化。云计算支持用户在任意位置使用各种终端以获取应用服务,所请求的资源来自云而不是固定的、有形的实体,并且对于用户来说只需要使用云提供的服务即可。

(2)通用性。云计算不针对特定的应用,而是可以在云的支撑下构造出千变万化的应用,同一个云可以同时支撑不同的应用运行。

(3)高可扩展性及超大规模。云的规模可以动态扩展,并且这种动态扩展对用户是透明的,并且不影响用户的业务和应用。同时这种扩展是超大规模的,如Google 云计算已经拥有上百万台服务器,Amazon、IBM微软等也拥有几十万台服务器。

(4)可靠性高。云计算使用多副本容错、多计算节点同构可互换等措施来保障服务的高可靠性。

(5)经济性好。云的特殊容错机制导致可以采用廉价的节点来构成云,而云的自动化集中式管理使得大量企业无需负担日益高昂的数据中心管理成本。云的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受云的低成本优势。

1.3 数据挖掘云化策略

云计算的出现即给数据挖掘带来了问题和挑战,也给数据挖掘带来新的机遇—— 数据挖掘技术将会出现基于云计算的新模式。如何构建基于云计算的数据挖掘平台也将是业界面临的主要问题之一,创建一个用户参与、开发技术要求不高的、快速响应的数据挖掘平台也是迫切需要解决的问题。

从业界对云计算的理解来看,云计算动态的、可伸缩的计算能力使得高效的海量数据挖掘成为可能。云计算SaaS 功能的理解和标准化,使得基于的数据挖掘SaaS 化有了技术和理论的支持,也将使得数据挖掘面向大众化和企业化。文章主要是从基于云计算平台的数据挖掘服务化、挖掘算法并行化、挖掘算法组件化角度进行构建数据挖掘SaaS 平台,如图所示。

如图1 所示,文章提出的基于云计算的数据挖掘平台架构采用分层的思想:首先底层支撑采用云计算平台,并使用云计算平台提供的分布存储以及分布式计算能力完成数据挖掘计算能力的并行实现;其次数据挖掘平台在设计上采用分布式、可插拔组件化思路,支持多算法部署、调度等;最后数据挖掘平台提供的算法能力采用服务的方式对外暴露,并支持不同业务系统的调用,从而较方便地实现业务系统的推荐、挖掘等相关功能需求。

2 数据挖掘平台云架构

云计算的分布式存储和分布式计算促使了新一代数据挖掘平台的变革。图2 是基于云的数据挖掘平台架构。考虑到挖掘算法和推荐算法的并行化和分布化是一个专门的、大的课题,因此文章暂不包含具体算法的并行化和云化的内容。

如图2 所示,该平台是基于云计算平台实现的数据挖掘云服务平台,采用分层设计的思想以及面向组件的设计思路,总体上分为3 层,自下向上依次为:云计算支撑平台层、数据挖掘能力层、数据挖掘云服务层。

云计算支撑平台层

云计算支撑平台层主要是提供分布式文件存储、数据库存储以及计算能力。中兴通讯有自主研发的云计算平台,该架构可以基于企业自主研发的云计算平台,也可以基于第三方提供的云计算平台。

数据挖掘能力层

数据挖掘能力层主要是提供挖掘的基础能力,包含算法服务管理、调度引起、数据并行处理框架,并提供对数据挖掘云服务层的能力支撑。该层可以支持第三方挖掘算法工具的接入,例如Weka、Mathout 等分布式算法库,同时也可以提供内部的数据挖掘算法和推荐算法库。

数据挖掘云服务层

云服务层主要是对外提供数据挖掘云服务,服务能力封装的接口形式可以是多样的,包括基于简单对象访问协议(SOAP) 的Webservice、、HTTP、XML 或本地应用程序编程接口(API) 等多种形式。云服务层也可以支持基于结构化查询语言语句的访问,并提供解析引擎,以自动调用云服务。各个业务系统可以根据数据和业务的需要调用、组装数据挖掘云服务。

文章提出的基于云计算的数据挖掘平台与传统的数据挖掘系统架构相比有高可扩展性、海量数据处理能力、面向服务、硬件成本低廉等优越性,可以支持大范围分布式数据挖掘的设计和应用。

3 基于云计算数据挖掘平台的关键技术

3.1 云计算技术

分布式计算是解决海量数据挖掘任务,提高海量数据挖掘的有效手段之一,在理论和实践上已经获得证实。分布式计算包含了分布式存储和并行计算两个层面的内容,而云计算平台提供了分布式文件存储和并行的计算能力,因此很好地解决了这两个层面的内容。下面主要分析几个主流的分布式文件系统和分布式并行计算框架,以更好地构建云计算数据挖掘平台的核心支撑能力。

分布式文件系统有效地解决了海量数据存储问题,并实现了位置透明、移动透明、性能透明、扩展透明、高容错、高安全、高性能等关键功能。目前业界比较流行分布式文件系统有Google 文件系统(GFS)、分布式文件系统(HDFS)、文件系统(KFS),这3 种分布式文件系统都是基于Goolgle 提出的分布式文件系统理论进行研发的。Google提出的GFS 就是解决其海量数据存储和搜索、分析等问题,而和KFS 是基于GFS 理论基础上实现的开源系统,并且在商业和学术领域得到了广泛的应用。

分布式并行计算框架对于高效完成数据挖掘计算任务极其重要,并且它对分布式计算的一些技术细节进行了封装,例如数据分布、任务并行、任务调度、负载平衡、任务容错、系统容错等,使用户不需要考虑这些细节,而只要考虑任务间的逻辑关系。这样不仅可以提高研发的效率,还可以降低系统维护的成本。目前典型的分布式计算框架有:

。MapReduce 是提出的一个并行计算框架,它可以在大量PC 机上并行执行海量数据的收集和分析任务。它把如何进行任务并行执行、如何进行数据分布、如何容错、网络带宽时延等问题的解决方案编码,并封装在了一个库里面,使用户只需要执行数据运算即可,而不必关心并行计算、容错、数据分布、负载均衡等复杂的细节。同时它又对上层应用提供良好简单的抽象接口。MapReduce 主要应用在搜索、数据仓库、数据挖掘领域。

。Pregel 是Google 提出的迭代处理计算框架,它具有高效、可扩展和容错的特性,并隐藏了分布式相关的细节,展现给人们的仅仅是一个表现力很强、很容易编程的大型图算法处理的计算框架。Pregel 的主要应用场景是大型的图计算,例如交通线路、疾病爆发路径、WEB 搜索等相关领域。

。Dryad 是微软硅谷研究院创建的研究项目,主要用来提供一个基于windows 操作系统的分布式计算平台,总体用来支持有向无环图类 型数据流的并行程序。微软于年宣布,停止对Dryad 进行版本升级,转投Hadoop 即MapReduce 计算框架。

目前业界开源的云计算平台平台, 包含HDFS 和MapReduce,为海量数据挖掘平台提供完备的云计算平台支撑平台[12]。

3.2 数据汇集调度中心

数据汇集调度中心实现对接入本平台的业务数据的汇集,可以解决不同数据的规约问题,并支持各种不同的源数据格式。源数据格式支持联机事务处理系统(OLTP)数据、联机分析处理系统(OLAP)数据、各种日志数据、爬虫数据等,同时要提供多种数据同步方式,例如数据库实时同步、socket 消息同步、文件传输协议同步等各种各样的方式,如图3所示。

数据汇集调度中心主要是完成对不同类型数据的汇集。本数据汇集调度中心采用模板化设计技术,支持新数据的模板和元数据配置以达到不同业务数据的统一收集和规约。

3.3 服务调度和服务管理技术

为了能够让不同的业务系统使用本计算平台,平台必须要提供服务调度和服务管理功能。服务调度根据服务的优先级以及服务和资源的匹配情况等进行调度,解决服务的并行互斥、隔离等,保证数据挖掘平台的云服务是安全、可靠的,并根据服务管控进行调度控制。

服务管理实现统一的服务注册、服务暴露等功能,不仅支持本地服务能力的暴露,也支持第三方数据挖掘能力的接入,很好地扩展数据挖掘平台的服务能力。

3.4 挖掘算法并行化技术

挖掘算法并行化是有效利用云计算平台提供的基础能力的关键技术之一,涉及到算法是否可以并行、以及并行策略的选择等技术。文章通过K-means 聚类算法并行化并行计算框架来说明挖掘算法的并行化技术[13]。

3.4.1 K-means 算法的主要思想

 K-means算法的主要思想是基于使聚类性能指标最小化。这里所用的聚类准则函数是聚类集中每一样本点到该类簇中心点距离平方之和,并使它最小化。如图4 所示,K 均值算法的处理流程如下:首先,随机地选择k 个对象,每个对象代表一个簇的初始均值和中心;对剩余的每个对象,则根据其与各个簇的均值距离,将它指派到最相似的簇;然后计算每个簇的新均值。这个过程不断重复,直到准则函数收敛。通常,采用平方误差准则,其定义如(1):

其中,E 是数据集中所有对象的平方误差和,p 是空间中的点,表示给定的对象,mi 是簇Ci 的均值。对于每个簇中的每个对象,首先要求出对象到其簇中心的均值的平方,然后再求和。

3.4.2 K-means 并行化思路

是以聚类中心来划分聚类的,一旦k 个聚类中心确定了,聚类可立即完成。因此,这里主要讲述如何并行实现更新聚类中心[14]。

在随机的初始化k 个聚类中心以后,每一次任务的执行都会更新当前个聚类中心的值。在映射阶段,对于每一个样本O S ,需要计算与其最近的聚类中心O i (0≤i ≤,然后输出<i , O S >键值对。

在化简(Reducer) 阶段,框架会收集属于相同键的值,相当于对每个聚类中心O i (0≤i ≤k -1) ,而离它最近的样本都会作为值收集起来。这样Reducer 里就可以利用这些样本重新估计出k 个聚类中心,如所示:

这样,在一轮MapReduce 完成后,新的聚类中心也已经计算出来。通过比较本轮聚类中心与上一轮聚类中心差异度,可确定算法是否收敛。

4 结束语

文章通过对数据挖掘和云计算技术的发展分析,提出了基于云计算的数据挖掘平台架构以及数据挖掘服务化的思路。本平台不仅仅是基于云计算实现了一个数据挖掘平台,同时也对数据挖掘平台进行了化。本平台可以为运营商、企业提供效益增值的数据挖掘应用,同时也减少了运营商、企业在数据挖掘技术上的投入。运营商、企业即可以创建自己内部的数据挖掘私有云,为内部产品提供数据挖掘服务,也可以提供数据挖掘公用云,为不同的企业提供数据挖掘服务。

参考文献

[1] 云时代企业数据挖掘面临的挑战(1)[EB/OL].http://cloud./storage-134538_1.htm

[2] 陈康,郑纬民. 云计算:系统实例与研究现状[J].软件学报,2009,20(5):1337-1348.

[3] 纪俊.一种基于云计算的数据挖掘平台架构设计与实现[D].青岛:青岛大学,2009.

[4] J Han, M Kamber. Data mining concepts and techniques[M].Third Edition.San Francisco,CA,USA:Morgan Kaufmann Publishers,2012.

[5] 邵峰晶,于忠清.数据挖掘原理与算法[M].北京:科学出版社,2009.

[6] 商琳,骆斌.一种基于数据仓库的数据挖掘系统的结构框架[J].计算机应用研究,2000,17(9):63-65.

[7] 杨舰友, 唐彦. 云计算总体架构及其应用与商业模式探讨[J]. 数字通信,2012,(3):3-6.

[8] 何清. 基于云计算的海量数据挖掘[C/OL]//第二届中国云计算大会,2010 年5 月21-22 日,北京.http://blog.sina.com.cn/s/blog_66248a9e0100z38d.html

[9] 杨勇,董振江,陆平. 具备云计算特性的业务交付平台及其关键技术研究[J]. 中兴通讯技术,2011,17(5):55-57.

[10] 吴朱华.云计算核心技术剖析[M].北京:人民邮电出版社,2011.

[11] 刘鹏.云计算[M]. 北京:电子工业出版社,2011.

[12] 夏英, 杨选伦. 云环境中基于金字塔模型的影像数据存储方法[J]. 重庆邮电大学学报(自然科学版),2012,24(6):669-674.

[13] 余永红,向晓军,高阳等. 面向服务的云数据挖掘引擎的研究[J]. 计算机科学与探索,2012,6(1),46-57.

[14]李智龙宿绍莹唐鹏飞陈曾平. 基于数字信道化的正弦信号快速测频方法[J]. 雷达科学与技术, 2011,9(5):55-58.

作者:丁岩 杨庆平 钱煜明   来源:中兴通讯技术

一.为什么需要“基于云计算”?

如果把人类发展的历史看作一条按照一定目的向前延伸的轨迹,那么就会发现,它是沿着信息不断膨胀的方向前进的。今天,互联网应用、商业智能数据分析、科学数据处理等具有海量数据挖掘需求的应用变得越来越普遍,如何高效管理、分析这些海量数据成为当前急需解决的问题;这些数据的异构性(即类型各异的结构化、半结构化以及非结构化数据)又进一步加剧了海量数据处理的难度。

数据挖掘是指从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的过程,能够发现隐含在大规模数据中的知识,从而指导人们决策。数据挖掘主要涉及特征化、区分、关联或相关分析、分类、聚类、演变分析等等,在互联网应用、电子商务、电信、金融、医疗、交通、军事、科学研究等等诸多领域的决策分析中被广泛应用。目前,常用的传统数据挖掘软件有:SQL server 2008SPSSSASRWekaClementineStatistica等等。数据挖掘技术与关系型数据库、数据仓库系统密切相关;通常需要遍历训练数据获得相关的统计信息,用于求解或优化模型参数;在大规模数据上进行频繁的数据访问需要耗费大量运算时间。近年来,数据规模从MBGB级发展到TBPB级甚至EBZB级,数据挖掘的要求和环境也变得越来越复杂,从而形成“数据量的急剧膨胀”和“数据深度分析需求的增长”这两大趋势,使得40年来一体适用的数据库系统架构在海量数据挖掘方面显得力不从心。

分布式计算/并行计算(尤其是低成本的计算)是解决海量数据挖掘任务的有效手段。云计算是并行计算、分布式计算和网格计算等计算机科学概念的商业实现,它可以将计算任务分布在大量互连的计算机上,使各种应用系统能够根据需要获取计算资源、存储资源和其他服务资源。按照中国电子学会云计算专家委员会的学术定义,云计算是一种基于互联网的、大众参与的计算模式,其计算资源(包括计算能力、存储能力、交互能力等)是动态、可伸缩、被虚拟化的,并以服务的方式提供。这个新兴领域中的MapReduceHadoop等高扩展性、高性能的并行计算编程模型、分布式海量数据处理框架以及相关关键技术,使得海量数据存储和分布式计算成为现实。基于云计算的海量数据挖掘技术,依赖于云计算平台提供的低成本分布式并行计算环境,可以为更多、更复杂的海量数据挖掘问题提供新的理论与支撑工具,为愈来愈多的企业分析海量数据提供解决方案,并大大减少它们应用商务智能的成本。

二、       基于云计算的海量数据挖掘技术热点

2004年,Google公司最先提出MapReduce技术作为面向大数据分析和处理的并行计算模型,主要包含3个层面的内容:(1) 分布式文件系统;(2) 并行编程模型;(3) 并行执行引擎。它首先为用户提供分布式的文件系统,使用户能方便地处理大规模数据;然后将所有的程序运算抽象为MapReduce两个基本操作,在Map阶段模型将问题分解为更小规模的问题,并在集群的不同节点上执行,在Reduce阶段将结果归并汇总。MapReduce在设计之初,致力于通过大规模廉价服务器集群实现大数据的并行处理,它把扩展性和系统可用性放在了优先考虑的位置。2005年初,Douglas Cutting等人在开源搜索引擎系统Nutch上实现了一个MapReduce系统;2006年,他们将MapReduceNDFSNutch的分布式文件系统)移出Nutch形成开源搜索项目Lucene一个子项目:Hadoop2008年,Hadoop成为Apache的顶级项目,并逐渐成为一个进行分布式计算和海量数据处理的基础平台;在这个平台之上的一系列项目和技术(如HDFSMapReducePigHiveHBaseZooKeeperSqoop等)构建了一个Hadoop生态圈。

MapReduce并行编程模型和Hadoop平台具有强大的处理大规模数据的能力,最早仅面向搜索引擎领域的数据分析,现已扩展到面向更广泛应用的数据挖掘领域。但是,MapReduce模型适合结构一致的海量数据,且要求计算简单;而大量的数据密集型应用,往往涉及到数据降维、程序迭代、近似求解等等复杂的算法,计算非常困难。因此,基于云计算的海量数据挖掘技术成为了工业界和学术界共同关心的热点技术。下面对一些典型研究和应用进展进行介绍。

斯坦福大学Chu等人在国际学术会议NIPS’2006提出一种基于MapReduce的、适用于大量机器学习算法的通用并行编程框架。他们通过对经典的机器学习算法进行分析发现,算法学习过程中的运算都能转化为若干在训练数据集上的求和操作;求和操作可以独立地在不同数据子集上进行,因此很容易在MapReduce编程平台上实现并行化执行。在该框架下,他们实现了包括线性回归、朴素贝叶斯、神经网络、主成分分析和支持向量机等在内的十种经典的数据挖掘算法。源于这篇论文的思想,在Apache软件基金会资助下,Grant Ingersoll等人研发了一个基于Hadoop/MapReduce的开源机器学习算法库Mahout,致力于数据挖掘并行化。目前,Mahout最新发布版本号为0.5,已经实现了协同过滤、局部线性加权回归、贝叶斯分类器、随机森林决策树分类器、隐马尔科夫模型、奇异值矩阵分解、并行频繁模式挖掘、LDAK-Means聚类、层次聚类、模糊K-Means聚类、均值漂移聚类、谱聚类等算法,可以有效地将并行数据挖掘技术应用于相关大规模数据分析领域。

针对传统数据挖掘软件扩展性差以及MapReduce数据分析功能薄弱的特点,IBM研究院致力于对RHadoop的集成研究,从而将计算推向更高层次的数据挖掘并进行并行处理,使Hadoop获得了强大的深度分析能力。此外,IBM研究院Sun等人认为,MapReduce特别适合倒排序索引、朴素贝叶斯、KNN等单次迭代的数据挖掘算法,也比较适合K-Means、高斯混合、PageRankPLSILDA等需要多次迭代的算法,但并不适合像SVM这类需要对大量共享数据进行同步的算法。2011年,IBM研究院在国际顶级学术会议KDD’2011上指出,MapReduce在执行机器学习领域的算法时存在一些缺点,进而提出一种基于MapReduce的并行数据挖掘和机器学习算法执行工具包NIMBLE

目前,学术界正在加大对基于云计算的海量数据挖掘技术研究的关注,例如SIGMODVLDBKDDSIGIRWWWHPDCICDE等国际学术会议都有论文阐述如何进一步增强MapReduce的数据分析能力。Talia等人提出可以从四个层次提供云计算数据挖掘服务:底层为组成数据挖掘算法的基本步骤;第二层为单独的数据挖掘服务(例如分类、聚类等);第三层为分布式的数据挖掘模式(例如并行分类、聚合式机器学习等);第四层为前三层元素构成的完整的数据挖掘应用。在此基础上,他们设计了基于云计算的数据挖掘开放服务框架,并开发了一系列的数据挖掘服务系统(例如Weka4WSKnowledge GridMobile Data Mining ServicesMining@home等)。例如,标准版Weka工具只能在单机上运行,并且不能超越1GB内存的限制;经过算法的并行化,在MapReduce集群上不仅突破了原有的可处理数据量的限制,轻松地对超过100GB的数据进行分析,同时利用并行计算提高了性能。此外,Ranger等人提出了一个基于MapReduce的应用程序编程接口Phoenix,并实现了K-Means、主成分分析和线性回归三种数据挖掘算法;Gillick等人对单程学习、迭代学习和基于查询的学习三类机器学习算法在MapReduce框架下的性能分别做了评测。

在国内,中科院计算所与中国移动研究院合作研发了基于Hadoop的并行分布式数据挖掘平台PDMiner,集成了多种机器学习算法;从系统架构角度看,自下而上分为:分布式计算层(包括分布式文件系统、并行编程环境、分布式系统管理)、数据挖掘平台层(主要包括数据加载、预处理、并行计算、结果显示等)以及业务应用层(主要是电信类业务应用);达到了商用软件精度,数据处理规模远远超出传统商用数据挖掘软件;已成为中国移动数据挖掘分析支撑工具,应用于TB级的实际电信数据挖掘。此外,中科院计算所还开发了面向Web的数据挖掘云服务平台CMOS;中科院深圳先进研究院研制了一个分布式数据挖掘客户端系统AlphaMiner,服务器为运行于集群的Hadoop平台;南京大学正在研发一个基于Hadoop的并行数据挖掘算法工具箱Dodo,以期实现迭代/非迭代类数据挖掘算法的并行MapReduce化实现,并提供包括资源分配、目录服务、流管理等一系列的组件化数据挖掘云服务。

目前,工业界推出的商用云计算平台有:Amazon公司的EC2S3AWS)、Google公司的Google Apps EngineGAE)、Yahoo!公司的Yahoo Application PlatformYAP)、IBM公司的Blue CloudMicrosoft公司的Windows AzureSalesforce公司的Sales ForceApple公司的iCloudVMware公司的vCloudCloudera的商用Hadoop平台、Apache软件基金会的开源Hadoop平台等。这些平台除了提供基本的分布式存储和计算功能外,有的还具备一些数据挖掘能力。Intel发布了2015未来云愿景,并发起开放式数据中心联盟,以期制定满足下一代数据中心和云计算的需求;Microsoft计划将基于HadoopWindows Server与其现有商务智能挖掘工具(如SQL server 2008)联合处理大数据任务;商务智能领域的各大公司也提供面向企业的大规模数据挖掘服务,例如微策略、IBMOracle等公司都拥有基于云计算的数据挖掘服务平台;GoogleYahoo!Facebook等使用上千个节点组成的Hadoop集群进行海量搜索日志和网页数据分析。

在国内,中国移动、中国电信、中国联通分别展开“大云”、“星云”、“互联云”的项目建设(其中,2011年“大云”已经达到1036个节点、5208CPU10TB内存的规模),主要为商业经营分析、电信、互联网、电子政务等多个领域提供数据挖掘、系统评估、搜索等方面的计算服务。2011年,由国家发改委牵头,联合工信部、财政部拨出15亿元,作为国家战略新兴产业云计算示范工程专项资金,重点推动国内云计算产业发展、扶持云计算领军企业。例如,百度拥有国内最大规模的绿色数据中心集群,计划投入数十亿元发展智能数据服务、典型行业应用和公共云计算平台;阿里巴巴利用Hadoop平台对海量电子商务交易数据进行存储和深度数据挖掘,并于2011年启动10亿元云基金,专注于基于云计算的电子商务、分布式存储和计算技术、数据中心运维技术、大规模/超大规模的数据挖掘和分析的算法等等;腾讯已经在海量社交网络服务数据挖掘和大规模图分析等方面积累了丰富的实践经验,并已经或计划在天津、上海、重庆建立云计算中心和电子商务基地,以利用云计算展开海量数据分析。

但是,基于云计算的海量数据挖掘技术还面临很多挑战,仍存在许多问题等待解决,例如:基于云计算的新型海量数据挖掘方法研究和实现;各种数据挖掘算法的并行化策略;在MapReduce上实现更加复杂的分析、更大规模的分析;关系数据库技术与Hadoop/MapReduce技术的融合;云计算环境下海量数据挖掘服务的迁移学习;云计算环境下海量数据挖掘的可视化、可信性、安全性等等。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多