淺談大數(shù)據(jù)關(guān)鍵技術(shù)
掃描二維碼
隨時隨地手機看文章
引 言
近年來,隨著物聯(lián)網(wǎng)技術(shù)、云計算技術(shù)和智能手機的普及,數(shù)據(jù)量呈爆炸式增長,大數(shù)據(jù)時代已經(jīng)到來,如何存儲管理和分析這些大數(shù)據(jù)是目前研究的熱點。
1 大數(shù)據(jù)概述
大數(shù)據(jù)的常見特點包括大規(guī)模(Volume)、 高速性(Velocity)和多樣性(Variety)[1]。大規(guī)模說明大數(shù)據(jù)的數(shù)據(jù)非常多,數(shù)據(jù)量在 ZB 級別 ;高速性說明大數(shù)據(jù)要求數(shù)據(jù)處理與分析具有“實時性”;多樣性說明大數(shù)據(jù)不僅有傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù),還有更多普遍采用文件系統(tǒng)存儲 [2] 的半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。一般來說,大數(shù)據(jù)的處理流程分為 : 數(shù)據(jù)抽取與集成、數(shù)據(jù)分析以及數(shù)據(jù)解釋 [3]。
2 大數(shù)據(jù)關(guān)鍵技術(shù)
大數(shù)據(jù)有很多技術(shù),本文僅介紹容錯技術(shù)和可視化分析這兩個重要的關(guān)鍵技術(shù)。
2.1 容錯技術(shù)
目前分布式存儲系統(tǒng)一般采用容錯技術(shù)來提高系統(tǒng)的可靠性,當某些數(shù)據(jù)失效時利用容錯技術(shù)來訪問冗余數(shù)據(jù)。容錯技術(shù)主要是利用數(shù)據(jù)冗余來實現(xiàn),目前有兩種方法 :復制(Replication)和糾刪碼(Erasure Code)[4]。
2.1.1 基于復制的容錯技術(shù)
基于復制的容錯技術(shù)的原理是將所有數(shù)據(jù)對象復制成多個數(shù)據(jù)副本,同時將這些數(shù)據(jù)副本分布在不同的存儲節(jié)點, 當某個數(shù)據(jù)對象失效時,可利用其他數(shù)據(jù)副本來讓存儲系統(tǒng)正確運行。
目前有許多系統(tǒng)是采用基于復制的容錯技術(shù),如 Google公司的 GFS 和 HDFS,Amazon 公司的 Dynamo,它們分別采用基于元數(shù)據(jù)服務器(Meta-Data Server,MDS)的組織結(jié)構(gòu)和基于 P2P 的組織結(jié)構(gòu)。
基于元數(shù)據(jù)服務器的組織結(jié)構(gòu)是利用元數(shù)據(jù)服務器來進行集中式管理,管理 MDS存儲數(shù)據(jù)及其副本相關(guān)信息。副本的信息主要有位置信息和副本與數(shù)據(jù)的對應關(guān)系,如讀取數(shù)據(jù),需要訪問 MDS來獲取數(shù)據(jù)對象的位置信息 ;基于P2P的組織結(jié)構(gòu)是利用 P2P的方式組織管理存儲節(jié)點,存儲或訪問數(shù)據(jù)時,利用分布式哈希表(DistributedHashTable, DHT)來確定存儲節(jié)點。
如何創(chuàng)建數(shù)據(jù)的副本和創(chuàng)建多少個副本是復制策略需要考慮的問題,目前復制策略有兩種 :靜態(tài)和動態(tài)。靜態(tài)復制策略是系統(tǒng)運行前指定數(shù)目的副本,如 GFS和 HDFS兩個系統(tǒng)中由配置參數(shù)確定副本的數(shù)目,優(yōu)點是簡單,缺點是缺乏靈活 ;動態(tài)復制策略根據(jù)系統(tǒng)環(huán)境動態(tài)地創(chuàng)建副本,優(yōu)點是靈活,缺點是實現(xiàn)難。
創(chuàng)建的數(shù)據(jù)副本如何存放是放置策略需要考慮的問題, 目前放置策略有兩種 :順序和隨機。順序放置策略是將所有副本按順序存放到存儲節(jié)點,而隨機放置策略是將所有副本隨機存放到存儲節(jié)點。
2.1.2 基于糾刪碼的容錯技術(shù)
基于糾刪碼的容錯技術(shù)的原理是將需要存儲的數(shù)據(jù)對象D平均分成 k 個數(shù)據(jù)塊(D1,D2,…,Dk),同時給這些數(shù)據(jù)塊進行編碼,編碼為(X1,X2,…,Xn),當讀取數(shù)據(jù)時,可以通過編碼塊(X1,X2,…,Xn)解碼為原始數(shù)據(jù)對象 D。目前,糾刪碼的容錯技術(shù)有 Reed-Solomon 碼和奇偶校驗碼(Parity-Check Code)等方法。
降低糾刪碼修復成本的方法有兩種 :基于度數(shù)限制和基于網(wǎng)絡編碼。基于度數(shù)限制方法是限制糾刪碼數(shù)據(jù)塊和冗余塊的度數(shù),如 WEAVER 碼 ;基于網(wǎng)絡編碼是將編碼和路由進行融合,如再生碼(Regenerating Code)。
2.2 可視化分析
一幅圖勝過千言萬語,故用可視化的圖形來分析大數(shù)據(jù), 這樣會讓用戶直觀地發(fā)現(xiàn)數(shù)據(jù)背后隱藏的信息,一般可視化分析技術(shù)有多維數(shù)據(jù)可視化、文本可視化、網(wǎng)絡可視化和時空數(shù)據(jù)可視化等 [5]。
2.2.1 多維數(shù)據(jù)可視化
若數(shù)據(jù)變量具有多個維度屬性,則稱為多維數(shù)據(jù)。目前多維數(shù)據(jù)可視化技術(shù)有 5 類 :基于幾何、面向像素、基于圖標、基于層次和基于圖形等。
基于幾何的可視化技術(shù)原理是利用幾何的方法來實現(xiàn)高維數(shù)據(jù)映射到二維空間。其方法有 :平行坐標系、放射坐標系、散點圖矩陣和 Andrews 曲線法等。平行坐標系是利用二維空間中 n 條平行坐標軸來表示 n 個維度,將維度和坐標軸建立一一對應關(guān)系 ;放射坐標系屬于圓形平行坐標系,它利用 n 條半徑表示 n 個維度 ;散點圖矩陣是將各維變量兩兩組合成一個點,從矩陣中得到隱藏的信息 ;Andrews 曲線法是利用周期函數(shù)將多維數(shù)據(jù)映射到二維坐標系中的曲線上。
面向像素的可視化技術(shù)原理是,將多維數(shù)據(jù)劃分為多個子窗口,每一個子窗口代表數(shù)據(jù)的某一維,并用像素的顏色來區(qū)分維度。其有兩種方法 :基于查詢和獨立于查詢。基于查詢的方法是利用數(shù)據(jù)項和查詢值兩者關(guān)聯(lián)度的高低來進行排列 ;獨立于查詢的方法是將數(shù)據(jù)項的值簡單排列,排列的方式為從左到右或從上到下。
基于圖標的可視化技術(shù)原理是利用具有可視特征的圖標來表示多個維度。其方法有 :Chernoff 面法和星繪法。Chernoff 面法利用人臉的大小、器官的特征來表示多維信息 ; 星繪法是從一點向外輻射多條線段,每條線段代表一個維度。
基于層次的可視化技術(shù)原理是,將多維空間劃分為多個子空間,并以層次結(jié)構(gòu)的方式來展示這些子空間,其方法有維堆和嵌套坐標系等。
基于圖形的可視化技術(shù)原理是用整個圖形來表達多個維度和它們之間的相互關(guān)系,其方法有多線圖和 Survey Plot 等。
2.2.2 文本可視化
非結(jié)構(gòu)化數(shù)據(jù)最主要的是文本信息,文本可視化可以直觀地展示大數(shù)據(jù)文本信息中所蘊含的關(guān)鍵信息。文本可視化的研究主要有兩類 :基于文本內(nèi)容和基于文本關(guān)系。
基于文本內(nèi)容的可視化主要有標簽云(Tag Cloud)、Tile Bars 等技術(shù)。標簽云將關(guān)鍵詞根據(jù)詞頻或字母順序來排序, 以字體大小、字體顏色來對關(guān)鍵詞進行可視化,一般用在網(wǎng)絡媒體中來識別主題熱度 ;Tile Bars 應用于查詢?nèi)蝿?,它利用矩形條的灰度來展示查詢詞在文獻中的分布情況。
基于文本關(guān)系的可視化主要有 Word Tree 和 FP-Tree 等技術(shù)。Word Tree 是與后綴樹相結(jié)合,以樹狀結(jié)構(gòu)展示關(guān)鍵詞的上下文關(guān)系 ;FP-Tree 顯示文獻的共引關(guān)系,能展現(xiàn)文獻聚類中的信息。
2.2.3 網(wǎng)絡可視化
網(wǎng)絡可視化是用圖形來展示網(wǎng)絡數(shù)據(jù),從而可以發(fā)現(xiàn)網(wǎng)絡數(shù)據(jù)的結(jié)構(gòu),其技術(shù)有兩類 :基于節(jié)點和邊與基于空間填充?;诠?jié)點和邊的可視化技術(shù)是最經(jīng)典的技術(shù),它有圓錐樹(Cone Tree)和放射圖(Radial Graph)等方法 ;基于空間填充的技術(shù)有矩形填充和嵌套圓填充等方法。
2.2.4 時空數(shù)據(jù)可視化
時空數(shù)據(jù)具有地理位置與時間標簽,時空數(shù)據(jù)可視化技術(shù)有流式地圖(Flow Map)和時空立方體(Space-time Cube)等。流式地圖展示了對象隨時間與空間的變化所發(fā)生的行為變化,它融合了時間信息和地圖信息 ;時空立方體利用三維來展現(xiàn)事件、時間和空間,它突破了二維平面的局限性。
3 結(jié)語
本文所述的容錯技術(shù)和可視化分析技術(shù)是大數(shù)據(jù)的兩個重要技術(shù),它們是現(xiàn)在研究的熱點,目前工業(yè)界和學界都在進行深入的研究。若干年后,希望會有更好更完美的解決方案。