摘要:介紹和比較了大數(shù)據(jù)在存儲(chǔ)、管理、處理及挖掘方面全球主要的技術(shù)。大數(shù)據(jù)技術(shù)總的趨勢是通過分布式計(jì)算來解決“瓶頸”問題。由于不能完全依賴提高單個(gè)節(jié)點(diǎn)性能的方式提升系統(tǒng)整體性能,因此需要通過增加系統(tǒng)內(nèi)節(jié)點(diǎn)數(shù)目的方式來達(dá)到目的。可以將存儲(chǔ)、處理和分析的任務(wù)通過分布式的方式分散到系統(tǒng)中各個(gè)節(jié)點(diǎn)上來加快數(shù)據(jù)的存儲(chǔ)、處理和分析的速度。
關(guān)鍵詞: 大數(shù)據(jù);新摩爾定律;云計(jì)算;數(shù)據(jù)挖掘;Hadoop平臺(tái)
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
隨著人類對(duì)自然和社會(huì)認(rèn)識(shí)地進(jìn)一步加深及人類活動(dòng)的進(jìn)一步擴(kuò)展,科學(xué)研究、互聯(lián)網(wǎng)應(yīng)用、電子商務(wù)、移動(dòng)運(yùn)營商等諸多應(yīng)用領(lǐng)域產(chǎn)生了多種多樣的數(shù)量巨大的數(shù)據(jù)。大數(shù)據(jù)(Big Data)的出現(xiàn)對(duì)傳統(tǒng)的數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理及數(shù)據(jù)挖掘提出了新的挑戰(zhàn),同時(shí)也深刻地影響著人類的生活、工作及思維。傳統(tǒng)的數(shù)據(jù)存儲(chǔ)方法、關(guān)系數(shù)據(jù)庫、數(shù)據(jù)處理和數(shù)據(jù)分析方法已不能滿足當(dāng)前的需要。
維基百科給出的大數(shù)據(jù)的定義如下:
巨量數(shù)據(jù)(或稱大數(shù)據(jù)、海量資料),指的是所涉及的資料量規(guī)模巨大到無法透過目前主流軟件工具,在合理時(shí)間內(nèi)達(dá)到擷取、管理、處理,并整理成為幫助企業(yè)經(jīng)營決策更積極目的資訊[1]。
目前工業(yè)界普遍認(rèn)為大數(shù)據(jù)具有4V+1C的特征:
(1)數(shù)據(jù)量大(Volume)。存儲(chǔ)的數(shù)據(jù)量巨大,拍字節(jié)級(jí)別是常態(tài),因而對(duì)其分析的計(jì)算量也大。
(2)多樣(Variety)。數(shù)據(jù)的來源及格式多樣,數(shù)據(jù)格式除了傳統(tǒng)的格式化數(shù)據(jù)外,還包括半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),比如用戶上傳的音頻和視頻內(nèi)容,而隨著人類的活動(dòng)的進(jìn)一步拓寬,數(shù)據(jù)的來源更加多樣。
(3)快速(Velocity)。數(shù)據(jù)增長速度快,同時(shí)要求對(duì)數(shù)據(jù)的處理速度也要快,以便能夠從數(shù)據(jù)中及時(shí)地提取知識(shí),發(fā)現(xiàn)價(jià)值。
(4)價(jià)值密度低(Value)。需要對(duì)大量的數(shù)據(jù)處理挖掘其潛在的價(jià)值,因而,大數(shù)據(jù)對(duì)我們提出的明確要求是設(shè)計(jì)一種在成本可接受的條件下,通過快速采集、發(fā)現(xiàn)和分析從大量、多種類別的數(shù)據(jù)中提取價(jià)值的體系架構(gòu)。
(5)復(fù)雜度(Complexity)。對(duì)數(shù)據(jù)的處理和分析難度大。
1 大數(shù)據(jù)時(shí)代的來臨
因特爾創(chuàng)始人戈登·摩爾(Gordon Moore)在1965年提出了著名的“摩爾定律”:即當(dāng)價(jià)格不變時(shí),集成電路上可容納的晶體管數(shù)目,約每隔18個(gè)月便會(huì)增加1倍,性能也將提升1倍。1998年圖靈獎(jiǎng)獲得者杰姆·格雷(Jim Gray)提出著名的“新摩爾定律”:每18個(gè)月全球新增信息量是計(jì)算機(jī)有史以來全部信息量的總和。我們可以將新摩爾定律同1439年前后古登堡發(fā)明印刷機(jī)時(shí)造成的信息爆炸作對(duì)比:在1453—1503年這50年間大約印刷了800萬本書籍,比1200年之前君士坦丁堡建立以來整個(gè)歐洲所有手抄書還要多,即50年內(nèi)歐洲的信息增長了1倍[2];而現(xiàn)在的數(shù)據(jù)增長速度則是每18個(gè)月全球信息總量翻一番。圖1可以清楚地看到大數(shù)據(jù)的增長,圖2是IDC公司對(duì)未來全球數(shù)據(jù)總量的預(yù)測,圖3則表明了大數(shù)據(jù)正在日益成為人們關(guān)注的焦點(diǎn)。我們已經(jīng)進(jìn)入到大數(shù)據(jù)時(shí)代。
2 大數(shù)據(jù)產(chǎn)生的原因
大數(shù)據(jù)隨著人類活動(dòng)的進(jìn)一步拓寬而出現(xiàn),他給我們帶來了機(jī)遇也帶來了挑戰(zhàn)。
2.1 數(shù)據(jù)采集方式的改變
自從計(jì)算機(jī)誕生以來,特別是近幾十年因特網(wǎng)的發(fā)展,人類逐步進(jìn)入了信息社會(huì)。信息化時(shí)代一個(gè)關(guān)鍵特征是自動(dòng)化,包括數(shù)據(jù)產(chǎn)生的自動(dòng)化、數(shù)據(jù)處理的自動(dòng)化等等,把人從簡單繁瑣的任務(wù)中解脫出來,用以解決需要?jiǎng)?chuàng)新的問題。比如在精細(xì)農(nóng)業(yè)中,我們需要收集植物生長環(huán)境的溫度、濕度、病蟲害信息,來對(duì)植物的生長進(jìn)行精細(xì)的控制。因此我們?cè)谥参锏纳L環(huán)境中安裝各種各樣的傳感器,自動(dòng)地收集我們需要的信息。自動(dòng)化的出現(xiàn)使人類不再滿足于得到部分信息,而是傾向于收集對(duì)象的全面的信息,即將我們周圍的一切數(shù)據(jù)化(注意,這里并非“數(shù)字化”)。因此,美國提出了“數(shù)字地球”計(jì)劃,因?yàn)樵谛畔r(shí)代,誰掌握了信息的制高點(diǎn),誰就能掌握主動(dòng)權(quán)。而且有些數(shù)據(jù)如果丟失了哪怕很小一部分,都有可能得出錯(cuò)誤的結(jié)論,比如通過分析人的基因組判斷某人可能患有某種疾病,即使丟失一小塊基因片段,都有可能導(dǎo)致錯(cuò)誤的結(jié)論。這些原因都導(dǎo)致了我們必將面臨數(shù)據(jù)的大爆炸。
2.2 人類活動(dòng)范圍的拓寬
在Web2.0時(shí)代,每個(gè)人不僅是信息的接受者,同時(shí)也是信息的產(chǎn)生者。全球每秒中發(fā)送290萬封電子郵件,每天會(huì)有2.88萬個(gè)小時(shí)的視頻上傳到Y(jié)outube,Twitter上每天發(fā)布的信息超過5千萬條,每天亞馬遜將產(chǎn)生6.3百萬筆訂單。2012年11月11日0點(diǎn)起,天貓和淘寶網(wǎng)在5分鐘內(nèi)就有1 000萬網(wǎng)民加入了搶購。
以上只是我們見到的大數(shù)據(jù)的冰山一角,大數(shù)據(jù)的產(chǎn)生主要有下面幾個(gè)來源:
(1)科學(xué)研究(包括天文學(xué)、生物學(xué)和高能物理等)。以天文學(xué)為例,2000年斯隆數(shù)字巡天項(xiàng)目啟動(dòng)的時(shí)候,位于墨西哥州的望遠(yuǎn)鏡在短短幾周內(nèi)收集到的數(shù)據(jù)比天文學(xué)歷史上總共收集的數(shù)據(jù)還要多。
(2)智慧城市建設(shè)。智慧城市包括市政交通管理、精細(xì)農(nóng)業(yè)、智能家居和環(huán)保監(jiān)察等,以市政交通管理為例,在城市的任何道路上都可以看到攝像頭,而視頻數(shù)據(jù)是一個(gè)巨大的數(shù)據(jù)源。
(3)移動(dòng)、電信和聯(lián)通等通信和互聯(lián)網(wǎng)運(yùn)營商。運(yùn)營商會(huì)實(shí)時(shí)采集網(wǎng)絡(luò)底層數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)優(yōu)化,也會(huì)對(duì)所有用戶的消費(fèi)行為進(jìn)行深度挖掘以制訂相對(duì)應(yīng)的營銷策略。
(4)互聯(lián)網(wǎng)企業(yè)(包括SNS、微博、視頻網(wǎng)站、電子商務(wù))。這些最早接觸大數(shù)據(jù)的企業(yè),谷歌公司每天要處理24 PB大小的數(shù)據(jù),中國所熟知的互聯(lián)網(wǎng)巨擘如百度、新浪、騰訊、阿里巴巴,每天產(chǎn)生的數(shù)據(jù)以拍字節(jié)量級(jí)計(jì)算。
2.3 大數(shù)據(jù)蘊(yùn)含的潛在價(jià)值
從數(shù)據(jù)中發(fā)現(xiàn)知識(shí),用以指導(dǎo)企業(yè)或者個(gè)人對(duì)生產(chǎn)和生活中碰到的問題進(jìn)行決策,而不僅僅是產(chǎn)生報(bào)表。這些復(fù)雜的分析必須依賴復(fù)雜的分析模型,很難用結(jié)構(gòu)化查詢語言(SQL)語句進(jìn)行表達(dá),因此這類分析被稱為“深度分析”。
以往的數(shù)據(jù)只是用來描述事實(shí),進(jìn)而理解產(chǎn)生這些數(shù)據(jù)背后的原因,現(xiàn)在我們需要通過對(duì)累積的數(shù)據(jù)進(jìn)行分析,用以預(yù)測事物將來的發(fā)展趨勢,進(jìn)而采取相關(guān)的行動(dòng)。在商業(yè)活動(dòng)中,公司能夠積累大量的交易記錄,公司希望通過分析這些交易記錄,找出其背后潛在的盈利模式。而SQL語句僅僅能夠做到數(shù)據(jù)的呈現(xiàn),無法滿足找尋數(shù)據(jù)背后的相關(guān)性需求,進(jìn)而探究事物之間的因果關(guān)系。谷歌在2009年初通過用戶在網(wǎng)上的搜索記錄成功預(yù)測甲型H1N1流感的爆發(fā)[3]。如果我們能夠在流感爆發(fā)之前采取措施,將會(huì)給社會(huì)帶來巨大的福祉。谷歌的成功預(yù)測是建立在大量數(shù)據(jù)的基礎(chǔ)上。這就是大量數(shù)據(jù)背后的潛在的價(jià)值,誰能利用這些數(shù)據(jù)進(jìn)行創(chuàng)新,誰就能夠?qū)ξ磥淼挠懈蟮陌盐?。為了得到?shù)據(jù)背后的潛在價(jià)值,我們通常使用神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)挖掘及機(jī)器學(xué)習(xí)的方法建立模型,找出事物之間的關(guān)聯(lián),進(jìn)而探究數(shù)據(jù)背后的原因,而這是單純的SQL語句所無法勝任的。我們已經(jīng)進(jìn)入對(duì)大數(shù)據(jù)進(jìn)行復(fù)雜分析的時(shí)代。
3 大數(shù)據(jù)解決方案
大數(shù)據(jù)時(shí)代的到來對(duì)數(shù)據(jù)的存儲(chǔ)、處理及分析提出了新的挑戰(zhàn),但總的發(fā)展趨勢是通過分布式計(jì)算來解決“瓶頸”問題。我們不能依賴提高單個(gè)節(jié)點(diǎn)性能這種縱向擴(kuò)展的方式提升系統(tǒng)整體的性能,相反,我們需要能夠通過增加系統(tǒng)內(nèi)節(jié)點(diǎn)的數(shù)目這種橫向擴(kuò)展的方式來達(dá)到我們的目的。我們將存儲(chǔ)、處理和分析的任務(wù)通過分布式的方式分散到系統(tǒng)中各個(gè)節(jié)點(diǎn)上來加快數(shù)據(jù)的存儲(chǔ)、處理和分析的速度。
在實(shí)際的實(shí)現(xiàn)上,Google[4]、Amazon[5]、微軟[6]和VMware[7]這4家公司在不同時(shí)間陸續(xù)推出各自的大數(shù)據(jù)方案,在應(yīng)用領(lǐng)域和贏利模式上,Amazon和Google處于領(lǐng)跑者地位,微軟和VMware緊隨其后,此外還有開源的Hadoop[8]平臺(tái)。Hadoop是谷歌大數(shù)據(jù)平臺(tái)的開源實(shí)現(xiàn),由于其開源特性,越來越多的企業(yè)在Hadoop的基礎(chǔ)上對(duì)其進(jìn)行修改以適應(yīng)自己的需要,如Facebook根據(jù)其業(yè)務(wù)需求,底層采用Hadoop平臺(tái)進(jìn)行數(shù)據(jù)的存儲(chǔ)和處理,并在其上開發(fā)了Hive[9]。Facebook通過Hive實(shí)現(xiàn)了例行性報(bào)表、即席查詢、機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘算法,達(dá)到了較好的效果。圖4是谷歌趨勢描述的“Hadoop”關(guān)鍵詞的搜索趨勢。下面的對(duì)各項(xiàng)技術(shù)的比較過程中,我們將主要圍繞這5種大數(shù)據(jù)解決方案展開比較。
3.1 大數(shù)據(jù)的存儲(chǔ)
穩(wěn)定、高效的存儲(chǔ)系統(tǒng)既是系統(tǒng)正常運(yùn)行的重要保證,也可以單獨(dú)作為一項(xiàng)服務(wù)提供給用戶。5種方案之中,Amazon的S3和微軟的Blob存儲(chǔ)比較類似,Google的GFS則完全不同,VMware目前僅向虛擬機(jī)提供存儲(chǔ)服務(wù),Hadoop仿照GFS開發(fā)了HDFS,是GFS的簡化版本。相比GFS,HDFS缺少了多客戶端并發(fā)的Append模型及快照功能。表1是5種存儲(chǔ)服務(wù)的簡單對(duì)比。
5種方案都提供了數(shù)據(jù)庫存儲(chǔ)服務(wù)。Google App Engine的Datastore構(gòu)建在Bigtable上,但自身及其內(nèi)部沒有實(shí)現(xiàn)直接訪問Bigtable的機(jī)制,可以看做是Bigtable上的一個(gè)簡單接口。由于雅虎和Facebook的推動(dòng),Hadoop平臺(tái)的數(shù)據(jù)庫功能也越來越完善。雅虎在Hadoop平臺(tái)上開發(fā)了Pig[10],F(xiàn)acebook在Hadoop平臺(tái)上開發(fā)了Hive,兩者都是構(gòu)建在HDFS之上,直接對(duì)HDFS進(jìn)行操作,嚴(yán)格來講只能算是對(duì)HDFS進(jìn)行操作的接口。Hive目前已經(jīng)開放了HBase接口,能夠通過HBase對(duì)數(shù)據(jù)進(jìn)行操作,因此,Hive同HBase的融合是未來發(fā)展的趨勢。Amazon的SimpleDB采用的是“鍵/值”存儲(chǔ)方式,功能比較簡單,實(shí)現(xiàn)的查詢功能也不太全面。SimpleDB和Datastore使用的都是“實(shí)體-屬性-值”(Entity-Attribute-Value)的EAV數(shù)據(jù)模型。微軟的SQL Azure是云環(huán)境下的關(guān)系數(shù)據(jù)庫,并支持報(bào)表、數(shù)據(jù)同步等服務(wù)。10gen開發(fā)的開源云數(shù)據(jù)庫MongoDB,可以實(shí)現(xiàn)均衡性較好的分布式數(shù)據(jù)庫存儲(chǔ)。Cassandra是Facebook推出的兼具Amazon Dynamo完全分布式特性和Google集中式管理特性的大數(shù)據(jù)庫。數(shù)據(jù)立方是云創(chuàng)存儲(chǔ)推出的列式完全分布式萬億記錄級(jí)別的實(shí)時(shí)云計(jì)算數(shù)據(jù)庫,其性能較之傳統(tǒng)的云計(jì)算數(shù)據(jù)庫提升約2個(gè)數(shù)量級(jí)[11]。表2是5種數(shù)據(jù)庫之間的比較。
MapReduce[12]是谷歌提出的面向大數(shù)據(jù)的并行處理模型,具有擴(kuò)展性好,魯棒性高的優(yōu)勢,而屬于關(guān)系型數(shù)據(jù)庫的并行數(shù)據(jù)庫是數(shù)據(jù)庫發(fā)展的結(jié)晶,查詢效率高,并且支持Schema。此外并行數(shù)據(jù)庫的外圍工具種類齊全,我們不能因?yàn)榇髷?shù)據(jù)就把這些非常好用的軟件全部扔掉,這樣做不經(jīng)濟(jì)也不合理,在小規(guī)模數(shù)據(jù)和數(shù)據(jù)的報(bào)表顯示方面,這些工具性能卓越。目前越來越多的研究人員逐漸意識(shí)到,MapReduce技術(shù)和并行數(shù)據(jù)庫的融合才是真正的解決大數(shù)據(jù)問題的有效途徑[13]。文獻(xiàn)[14]指出,目前并行數(shù)據(jù)庫同MapReduce的融合包括3個(gè)方面:
(1)并行數(shù)據(jù)庫主導(dǎo)型,典型的代表有Exadata、Greenplum等。
(2)MapReduce主導(dǎo)型,典型代表有Hive和Pig。
(3)并行數(shù)據(jù)庫和MapReduce集成型,典型代表有HadoopDB、Vertica及Teradata等。
3.2 大數(shù)據(jù)的處理
計(jì)算服務(wù)是所有的大數(shù)據(jù)解決方案最核心的業(yè)務(wù)之一,同時(shí)也是用戶最常用的服務(wù)。Google和Hadoop提供基于MapReduce的數(shù)據(jù)處理,整個(gè)過程對(duì)用戶而言是透明的。Amazon的EC2給予用戶配置硬件參數(shù)的權(quán)利,使得用戶可以根據(jù)實(shí)際的需求動(dòng)態(tài)地改變配置,從而提高效率和節(jié)省資源。微軟的Azure允許用戶在處理數(shù)據(jù)之前設(shè)置部分參數(shù),但相對(duì)于EC2其靈活性要差很多。VMware的vCloud中提供了DRS和DPM技術(shù),可以通過遷移和關(guān)閉虛擬機(jī)來實(shí)現(xiàn)資源優(yōu)化。表3是這5種計(jì)算服務(wù)的比較。
MapReduce在系統(tǒng)層面解決了大數(shù)據(jù)分析平臺(tái)的擴(kuò)展性和容錯(cuò)性問題,是非關(guān)系型數(shù)據(jù)庫的典型代表,因此越來越多的研究人員從性能和易用性方面對(duì)MapReduce進(jìn)行改進(jìn)。對(duì)MapReduce性能提升的研究包括4個(gè)方面:
(1)多核硬件與圖形處理器上的性能改進(jìn)。
(2)索引技術(shù)與連接技術(shù)的優(yōu)化。
(3)調(diào)度技術(shù)優(yōu)化。
(4)其他優(yōu)化技術(shù)。
針對(duì)MapReduce易用性的研究成果包括Yahoo的Pig、Microsoft的LINQ、Hive等。
從上述比較中不難發(fā)現(xiàn),5種大數(shù)據(jù)解決方案在大數(shù)據(jù)的存儲(chǔ)和處理方面都存在較大的差異。但不同方案之間沒有絕對(duì)的優(yōu)劣之分,僅有適用場合的區(qū)別,用戶可在確定自身的需求后進(jìn)行選擇。
3.3 大數(shù)據(jù)的數(shù)據(jù)挖掘
3.3.1 大數(shù)據(jù)數(shù)據(jù)挖掘的背景
圖5是谷歌趨勢反映的“Big Data Analytics”關(guān)鍵詞的搜索趨勢,可以看出對(duì)大數(shù)據(jù)的分析已經(jīng)成為關(guān)注的焦點(diǎn)。對(duì)大數(shù)據(jù)進(jìn)行分析,找出其背后的潛在關(guān)系,是大數(shù)據(jù)的最終目的,只有這樣大數(shù)據(jù)才能真正釋放其價(jià)值。
互聯(lián)網(wǎng)和電子商務(wù)企業(yè)應(yīng)用數(shù)據(jù)挖掘算法對(duì)大數(shù)據(jù)進(jìn)行分析的做法由來已久。谷歌通過將軟件免費(fèi)提供給用戶使用,使其能夠?qū)τ脩舻南埠眠M(jìn)行分析,從而定制更加具有針對(duì)性的廣告策略。此外,谷歌在機(jī)器翻譯和圖像識(shí)別方面的成就也是有目共睹,而這一切都建立在對(duì)大量的數(shù)據(jù)進(jìn)行分析的基礎(chǔ)上。亞馬遜能夠根據(jù)以往用戶的購買記錄向用戶推薦相似的商品,這項(xiàng)技術(shù)為亞馬遜帶來了巨大的收益,作為消費(fèi)者,我們也很難不受這些推薦內(nèi)容的影響?,F(xiàn)在我們已經(jīng)能夠通過數(shù)據(jù)挖掘預(yù)測飛機(jī)票、規(guī)劃最佳線路及對(duì)汽車的安全狀況進(jìn)行監(jiān)測等。這些都是對(duì)大數(shù)據(jù)進(jìn)行挖掘的例子。通過數(shù)據(jù)挖掘,能夠?yàn)楣編砭薮蟮睦?,也能使我們的生活更加便利?/p>
在中國,中國移動(dòng)在2007年3月確定實(shí)施“大云”計(jì)劃,并同中科院計(jì)算所合作開發(fā)了大云數(shù)據(jù)挖掘系統(tǒng)(BD-PDM)。該系統(tǒng)是一套高性能、低成本、高可靠性、高可伸縮性的海量數(shù)據(jù)處理、分析和挖掘系統(tǒng),實(shí)現(xiàn)了數(shù)據(jù)的分類、聚類及關(guān)聯(lián)規(guī)則發(fā)現(xiàn)。阿里巴巴利用Hadoop平臺(tái)對(duì)海量電子商務(wù)交易數(shù)據(jù)進(jìn)行存儲(chǔ)和深度數(shù)據(jù)挖掘,并于2011年啟動(dòng)10億元云基金,專注于基于云計(jì)算的電子商務(wù)、分布式存儲(chǔ)和計(jì)算技術(shù)、數(shù)據(jù)中心運(yùn)維技術(shù)、大規(guī)模/超大規(guī)模的數(shù)據(jù)挖掘和分析的算法等等。
Mahout[15]是一個(gè)基于Hadoop的開源數(shù)據(jù)挖掘平臺(tái),其主要目標(biāo)是創(chuàng)建一些可伸縮的機(jī)器學(xué)習(xí)算法,供開發(fā)人員在Apache許可下免費(fèi)使用。雖然其在開源領(lǐng)域比較年輕,但已經(jīng)提供了大量功能,特別是在集群和CF方面。
3.3.2 大數(shù)據(jù)數(shù)據(jù)挖掘的研究現(xiàn)狀
當(dāng)數(shù)據(jù)規(guī)模增大的時(shí)候,已有的數(shù)據(jù)挖掘算法已經(jīng)不再適用,需要對(duì)其改進(jìn),以利用并行計(jì)算模型加快數(shù)據(jù)的處理速度。目前對(duì)大數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘的研究大致包括3個(gè)方面。
(1)集中在將已有的在單個(gè)機(jī)器上運(yùn)行的機(jī)器挖掘算法遷移到并行計(jì)算平臺(tái)上來。文獻(xiàn)[16]提出了一種基于MapReduce的、適用于大量機(jī)器學(xué)習(xí)算法的通用并行編程框架,在該框架下,他們實(shí)現(xiàn)了包括線性回歸、樸素貝葉斯等在內(nèi)的10種經(jīng)典的數(shù)據(jù)挖掘算法。文獻(xiàn)[17]闡述了SVM在在MapReduce模型下的實(shí)現(xiàn)。文獻(xiàn)[18]提出了Parallel FP-Growth算法,并通過實(shí)驗(yàn)證明了該算法具有極強(qiáng)的擴(kuò)展性,適用于海量數(shù)據(jù)挖掘。文獻(xiàn)[19-22]也都是對(duì)已有的數(shù)據(jù)挖掘算法進(jìn)行改進(jìn),使其能夠通過MapReduce并行計(jì)算模型加快計(jì)算速度,以適應(yīng)大數(shù)據(jù)背景下的數(shù)據(jù)挖掘要求。
(2)利用MapReduce并行計(jì)算模型解決具體的問題。文獻(xiàn)[23-24]都是對(duì)Web數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘。文獻(xiàn)[23]利用MapReduce模型改進(jìn)并優(yōu)化了Web數(shù)據(jù)挖掘中的Graph算法,文獻(xiàn)[24]重新設(shè)計(jì)和實(shí)現(xiàn)了基于中文詞網(wǎng)絡(luò)的HITS算法,對(duì)該算法進(jìn)行Map/Reduce化,并測試和分析了實(shí)驗(yàn)結(jié)果。文獻(xiàn)[25]分析了中藥的復(fù)方數(shù)據(jù),發(fā)現(xiàn)了中藥藥物網(wǎng)絡(luò)具有復(fù)雜網(wǎng)絡(luò)特性,并采用MapReduce并行計(jì)算模型對(duì)分析復(fù)雜網(wǎng)絡(luò)的算法進(jìn)行了并行化處理。文獻(xiàn)[26-28]也都是在具體的應(yīng)用中通過MapReduce模型對(duì)已有的算法進(jìn)行并行化處理。
(3)利用已有的數(shù)據(jù)挖掘算法構(gòu)建大數(shù)據(jù)挖掘平臺(tái)。通過將已有的數(shù)據(jù)挖掘算法同大數(shù)據(jù)挖掘平臺(tái)的集成,能夠使我們?cè)诶靡延械难芯砍晒耐瑫r(shí),快速地開發(fā)相關(guān)的算法,使我們專注于實(shí)際的應(yīng)用問題。已有的開源數(shù)據(jù)挖掘平臺(tái)R和Weka被廣泛使用。文獻(xiàn)[29-30]致力于將R和Hadoop集成,使Hadoop獲得強(qiáng)大的分析能力。文獻(xiàn)[31]實(shí)現(xiàn)了Weka和MapReduce的集成。
4 結(jié)束語
大數(shù)據(jù)的產(chǎn)生是必然的,而且已經(jīng)在深刻地影響著我們的工作和生活。本文分析了大數(shù)據(jù)的產(chǎn)生與發(fā)展,并對(duì)大數(shù)據(jù)的存儲(chǔ)和處理及對(duì)大數(shù)據(jù)的數(shù)據(jù)挖掘作了介紹,最后對(duì)本文作了總結(jié)。我們有理由相信,在不遠(yuǎn)的將來,大數(shù)據(jù)將帶給我們更多的精彩。我們應(yīng)當(dāng)抓住機(jī)遇,在未來出現(xiàn)的大數(shù)據(jù)生態(tài)系統(tǒng)中找到自己的一席之地。
參考文獻(xiàn)
[1] 大數(shù)據(jù) [EB/OL]. [2013-04-13]. http://zh.wikipedia.org/zh/Big_data.
[2] 邁耶-舍恩伯格, 庫克耶. 大數(shù)據(jù)時(shí)代: 生活、工作與思維的大變革 [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://code.google.com/appengine/.
[5] Amazon. Amazon Web Service [EB/OL]. [2013-04-13]. http://aws.amazon.com/.
[6] Microsoft. Introducing the Windows Azure Platform (Final PDC10) [EB/OL]. [2013-04-13]. http://www.windowsazure.com/en-us/develop/net/fundamentals/intro-to-windows-azure/.
[7] VMware. VMware vCloud [EB/OL]. [2013-04-13]. http://www.vmware.com/products/vcloud/.
[8] Hadoop [EB/OL]. [2013-04-13]. http://hadoop.apache.org/.
[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://www.cstor.cn.
[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] 覃雄派, 王會(huì)舉, 杜小勇, 等. 大數(shù)據(jù)分析——RDBMS與MapReduce的競爭與共生 [J]. 軟件學(xué)報(bào), 2012, 23(1):32-45.
[14] 王珊, 王會(huì)舉, 覃雄派, 等. 架構(gòu)大數(shù)據(jù):挑戰(zhàn)、現(xiàn)狀與展望 [J]. 計(jì)算機(jī)學(xué)報(bào), 2012, 34(10):1741-1752.
[15] Mahout [EB/OL]. [2013-04-13]. http://mahout. apache.org/.
[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),F(xiàn)eb 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] 郗洋. 基于云計(jì)算的并行聚類算法研究 [D]. 南京: 南京郵電大學(xué), 2012.
[20] 陳愛平. 基于Hadoop的聚類算法并行化分析及應(yīng)用研究 [D]. 西安: 西安電子科技大學(xué), 2012.
[21] 張明輝. 基于Hadoop的數(shù)據(jù)挖掘算法的分析與研究 [D]. 昆明: 昆明理工大學(xué), 2012.
[22] 李曼. 云計(jì)算平臺(tái)上的增量學(xué)習(xí)研究 [D]. 南京: 南京郵電大學(xué), 2012.
[23] 李雪鋒. 基于云計(jì)算環(huán)境的web數(shù)據(jù)挖掘算法研究 [D]. 北京:北京交通大學(xué), 2010.
[24] 李輝. 基于與計(jì)算環(huán)境的web結(jié)構(gòu)挖掘算法研究 [D]. 杭州: 浙江理工大學(xué), 2012.
[25] 劉正. 基于MapReduce的中藥數(shù)據(jù)網(wǎng)絡(luò)化及挖掘 [D]. 南京: 南京大學(xué), 2012.
[26] 李彬. 基于MapReduce編程模型的航空日志分析研究 [D]. 成都: 成都理工大學(xué), 2012.
[27] 高進(jìn). 基于MapReduce的DNA序列拼接算法研究 [D]. 北京: 北京交通大學(xué), 2012.
[28] 肖韜. 基于MapReduce的信息檢索相關(guān)算法并行化研究與實(shí)現(xiàn) [D]. 南京: 南京大學(xué), 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(DR) 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.
作者簡介
劉鵬,清華大學(xué)博士畢業(yè);解放軍理工大學(xué)教授、博導(dǎo)、學(xué)科帶頭人,中國云計(jì)算專家咨詢委員會(huì)副主任/秘書長,中國電子學(xué)會(huì)云計(jì)算專家委員會(huì)云存儲(chǔ)組組長;研究方向?yàn)樾畔⒕W(wǎng)格、云計(jì)算;已主持完成基金項(xiàng)目18項(xiàng);已發(fā)表論文80余篇,出版專著12部。
胡谷雨,解放軍理工大學(xué)首席教授、博士生導(dǎo)師,江蘇省有突出貢獻(xiàn)中青年專家,國家科技進(jìn)步獎(jiǎng)評(píng)審專家;研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)、網(wǎng)絡(luò)管理、網(wǎng)絡(luò)智能;已發(fā)表學(xué)術(shù)論文160余篇。
吳兆峰,解放軍理工大學(xué)在讀博士研究生;研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)。