PB级分布式大数据的处理和分析应用
·細粒度的并行計算。這里細粒度主要是指指令或進程級別,由于GPU比CPU擁有更強的并行處理能力,人們將一些任務交給GPU并行處理,一些GPU制造商也推出了方便程序員使用的編程模型,如NVIDIA推出的CUDA等。
·粗粒度的并行計算。這里粗粒度指的是任務級別,人們將工作分布到不同機器中執(zhí)行,最近流行的網(wǎng)格計算、分布式計算都屬于粗粒度級別。
由于現(xiàn)有GPU編程模型還未完善,開發(fā)人員需要考慮大量的并行細節(jié)且任務較重,因此未得到流行。而一些新推出的分布式編程模型以其簡單、方便等特點受到開發(fā)人員的歡迎并變得炙手可熱,這里我們主要討論粗粒度的并行計算。
由于大數(shù)據(jù)都分布在集群中,因此對數(shù)據(jù)的處理和分析需要在集群中進行,但是在多臺機器上對分布式數(shù)據(jù)進行分析會產(chǎn)生巨大的性能開銷,即使采用千兆比特或萬兆比特帶寬的網(wǎng)絡,隨機讀取速度和連續(xù)讀取速度都會比內(nèi)存慢幾個數(shù)量級。但是,現(xiàn)在高速局域網(wǎng)技術(shù)使得網(wǎng)絡讀取速度比硬盤讀取要快很多。因此,將數(shù)據(jù)存儲在其他節(jié)點上比存儲在硬盤上的性能要好,而且還可以在多個節(jié)點上并行處理數(shù)據(jù)集。
對大數(shù)據(jù)分布處理會帶來一些問題,首先就是節(jié)點間通信對并行處理的代價,一些操作如搜索、計數(shù)、部分聚集、聯(lián)合等可以在每個節(jié)點上獨立執(zhí)行。單個節(jié)點處理后的結(jié)果需要合并,因此節(jié)點間的通信是不可避免的,但是并不是所有的聚集操作都能分散成可以獨立操作的子操作,如求得所有數(shù)據(jù)的中位數(shù)。不過,大部分重要的操作都有分布式算法來減少節(jié)點間的通信。
節(jié)點間負載不平衡也是出現(xiàn)的主要問題。理想情況下,每個節(jié)點的計算量是相同的,否則工作量最大的節(jié)點將決定整個任務的完成時間,這個時間往往比負載平衡情況下的時間要長。最壞的情況下,所有的工作都集中在某個機器上,無法體現(xiàn)出并行的優(yōu)勢。數(shù)據(jù)在節(jié)點間如何分布對負載平衡產(chǎn)生影響,例如,一個包含1000個傳感器10年內(nèi)的觀測值的數(shù)據(jù)集,傳感器每15秒收集一次數(shù)據(jù),這樣一個傳感器10年內(nèi)將產(chǎn)生兩千多萬個觀測值。我們將數(shù)據(jù)根據(jù)傳感器并按時間順序分布到10個節(jié)點上,每個節(jié)點包含100個傳感器的觀測值,如果對某個傳感器收集的數(shù)據(jù)進行操作,那么大部分節(jié)點將處于閑置狀態(tài)。如果先按時間順序?qū)?shù)據(jù)進行分布,那么根據(jù)時間的操作也會造成負載不平衡。
分布式系統(tǒng)的另一個問題就是可靠性。就像擁有四個引擎的飛機比擁有兩個引擎的飛機更容易出現(xiàn)引擎故障一樣,一個擁有10個節(jié)點的集群很容易出現(xiàn)節(jié)點故障。這可以通過在節(jié)點間復制數(shù)據(jù)來解決,對數(shù)據(jù)進行復制,既可以提高數(shù)據(jù)分析的效率,也可以通過冗余來應對節(jié)點故障。當然,數(shù)據(jù)集越大,對數(shù)據(jù)副本的管理和維護也越困難。
目前對大數(shù)據(jù)處理和分析的應用更多的是集中在數(shù)據(jù)倉庫技術(shù)、預測分析、實時分析、商業(yè)智能、數(shù)據(jù)統(tǒng)計等方面。這些需求對企業(yè)有巨大的幫助。
將PB級的數(shù)據(jù)存儲起來并不是一件困難的事情,但是如何進行高效的存儲并不簡單。首先要考慮的是,如何組織數(shù)據(jù)的結(jié)構(gòu)使其能夠更多地支持上層的軟件,而不需要對數(shù)據(jù)進行轉(zhuǎn)儲和重新組織。當數(shù)據(jù)需要發(fā)生轉(zhuǎn)換的時候避免因轉(zhuǎn)儲、抽取、整合等而帶來的延遲。
有效的預測分析技術(shù),尤其是實時分析對企業(yè)的決策有很大的幫助。例如,超市可以根據(jù)龐大的用戶歷史消費記錄來預測某一用戶下次購買商品的傾向,從而在結(jié)賬的時候可以專門針對某一用戶打印其關心的優(yōu)惠券。足球隊管理層可以根據(jù)用戶的購票記錄為其推薦更人性化的月票、季票等套票。
目前,像SAS、SPSS等傳統(tǒng)數(shù)據(jù)分析軟件因其數(shù)據(jù)處理能力受限于單機的計算能力,對大數(shù)據(jù)的處理顯得力不從心。IBM Netezza等新興的數(shù)據(jù)分析軟件往往需要支付昂貴的許可費用,因此Hadoop,MapReduce,R等開源的大數(shù)據(jù)分析工具受到越來越多的關注和青睞。
相比于商業(yè)軟件,開源軟件完全免費且不需要支付昂貴的許可費用,另外在其背后還擁有龐大的開源團隊的支持。但是能否完全跟得上市場的需求和發(fā)展速度是關鍵性的問題,畢竟這些軟件不像商業(yè)軟件那樣有巨大的利益驅(qū)動推動它們的發(fā)展。
作者簡介:陸嘉恒,《Hadoop實戰(zhàn)》、《大數(shù)據(jù)挑戰(zhàn)與NoSQL數(shù)據(jù)庫技術(shù)》作者,中國人民大學副教授,新加坡國立大學博士,美國加利福尼亞大學爾灣分校(University of California,Irvine) 博士后。
作者: 陸嘉恒
來源:IT168
原文鏈接:PB級分布式大數(shù)據(jù)的處理和分析應用
總結(jié)
以上是生活随笔為你收集整理的PB级分布式大数据的处理和分析应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 下一代安全工具:SHA-3
- 下一篇: ストアドプロシージャ(存储过程)