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