官术网_书友最值得收藏!

第二章 大數(shù)據(jù)處理流程與系統(tǒng)架構(gòu)

第一節(jié) 大數(shù)據(jù)處理流程

傳統(tǒng)的互聯(lián)網(wǎng)與商業(yè)數(shù)據(jù)的存儲和處理主要使用關(guān)系型數(shù)據(jù)庫技術(shù),數(shù)據(jù)庫企業(yè)巨頭Oracle是這一時期的代表企業(yè)。隨著大數(shù)據(jù)時代的到來,傳統(tǒng)關(guān)系數(shù)據(jù)庫在可擴(kuò)展性方面的缺陷逐漸暴露出來,即使采用并行數(shù)據(jù)庫集群,最多也只能管理一百臺左右的機(jī)器,而且這種并行數(shù)據(jù)庫要有高配置的服務(wù)器才可正常運(yùn)轉(zhuǎn),可以想象其管理海量數(shù)據(jù)的成本有多高。

很多應(yīng)用場景,尤其是互聯(lián)網(wǎng)相關(guān)應(yīng)用,并不像銀行業(yè)務(wù)等對數(shù)據(jù)的一致性有很高的要求,它們更看重?cái)?shù)據(jù)的高可用性以及架構(gòu)的可擴(kuò)展性等技術(shù)因素,因此NoSQL數(shù)據(jù)庫應(yīng)運(yùn)而生。作為適應(yīng)不同應(yīng)用場景要求的新型數(shù)據(jù)存儲與處理架構(gòu),它對傳統(tǒng)數(shù)據(jù)庫有很強(qiáng)的補(bǔ)充作用,而且應(yīng)用場景更加廣泛。Yahoo公司部署了包含4000臺普通服務(wù)器的Hadoop集群,可以存儲和處理高達(dá)4PB的數(shù)據(jù),整個分布式架構(gòu)具有非常強(qiáng)的可擴(kuò)展性。NoSQL數(shù)據(jù)庫的廣泛使用代表了一種技術(shù)范型的轉(zhuǎn)換。

大數(shù)據(jù)處理的目標(biāo)是從海量異質(zhì)數(shù)據(jù)中挖掘知識,處理過程包含數(shù)據(jù)源收集、數(shù)據(jù)存儲管理、數(shù)據(jù)分析與挖掘以及數(shù)據(jù)展現(xiàn)與獲取等幾個按順序進(jìn)行的步驟。圖2-1是大數(shù)據(jù)處理流程的整體架構(gòu)。從圖中可看出,在大數(shù)據(jù)處理的過程中,形成了數(shù)據(jù)流處理的多個不同層次。

圖2-1 大數(shù)據(jù)處理流程的整體架構(gòu)

一、數(shù)據(jù)的產(chǎn)生

在一些人的觀念里,大數(shù)據(jù)和大型企業(yè)如百度、騰訊、阿里巴巴這些互聯(lián)網(wǎng)巨頭才有關(guān)系,而與中小型企業(yè)似乎關(guān)系不大。這其實(shí)是一個誤區(qū),本書作者認(rèn)為無論是大型企業(yè)還是中小型企業(yè),都與大數(shù)據(jù)有關(guān)。任何一個企業(yè)只要將日常點(diǎn)點(diǎn)滴滴的數(shù)據(jù),如一個文件、一張照片、一段講話都集中存儲起來,就能夠?yàn)槠髽I(yè)的統(tǒng)計(jì)、分析、決策提供數(shù)據(jù)依據(jù)。這些集中起來的數(shù)據(jù)都可以被稱為大數(shù)據(jù)。對于智慧經(jīng)濟(jì)時代中的企業(yè)而言,大數(shù)據(jù)就是要讓企業(yè)自覺地將數(shù)據(jù)看成一種資產(chǎn)、一種能力,不是單單在“大”上做文章,而是強(qiáng)調(diào)企業(yè)應(yīng)依據(jù)數(shù)據(jù)來做判斷和決策,促進(jìn)企業(yè)從“粗放經(jīng)營”模式向“智慧經(jīng)營”模式轉(zhuǎn)變。

觀念轉(zhuǎn)變了,那么企業(yè)的大數(shù)據(jù)來源就不言自明了。它可以來源于企業(yè)現(xiàn)有的信息系統(tǒng)、企業(yè)每一個員工的工作終端和工作用的手機(jī)、企業(yè)的客戶、網(wǎng)絡(luò)上對企業(yè)的各種評論,以及與企業(yè)相關(guān)的工商、稅務(wù)、電信、電力等方面的信息。企業(yè)的大數(shù)據(jù),按來源途徑可分為主體、客體和社會三種。

(一)來自主體的大數(shù)據(jù)

這里的主體包括企業(yè)管理者、企業(yè)員工、企業(yè)客戶、企業(yè)的協(xié)同單位、企業(yè)的競爭對手、企業(yè)上級管理部門、企業(yè)與社會公共服務(wù)組織(如電力、電信、銀行等部門)、企業(yè)的信息系統(tǒng)等。企業(yè)的信息系統(tǒng)是一個重要的主體,它記錄了企業(yè)在業(yè)務(wù)行為過程中的詳細(xì)信息,是企業(yè)大數(shù)據(jù)的主要來源。除了企業(yè)的信息系統(tǒng)之外,其他主體產(chǎn)生的信息往往是被企業(yè)忽視的部分,在企業(yè)建立大數(shù)據(jù)系統(tǒng)時,這部分被忽視的信息是需要被重視起來的。

企業(yè)管理者產(chǎn)生的信息包括企業(yè)的規(guī)劃、計(jì)劃、總結(jié)、報(bào)告等信息,這些信息有一些是被存儲在信息系統(tǒng)中的,也有很多只是存儲在企業(yè)管理者的個人電腦上的。這些信息往往對統(tǒng)計(jì)分析具有很大價值,所以企業(yè)需要建立一套在線的文檔管理系統(tǒng)把這些信息管理起來。

企業(yè)員工產(chǎn)生的信息包括工作總結(jié)、個人隨想、個人議論,以及工作時的照片、圖片等,這些信息大多存儲在個人電腦上,或是個人的博客、微博、QQ等外部的信息系統(tǒng)中。企業(yè)競爭對手的信息一般都會被重點(diǎn)研究,但研究手段大多比較落后或不夠體系化。競爭對手的信息可以來自其自身網(wǎng)站或其他媒體,企業(yè)需要建立采集機(jī)制,將競爭對手的信息分門別類地存放起來并在工作中加以應(yīng)用。

社會公共服務(wù)組織如電力、電信、銀行、水務(wù)等部門,都是與企業(yè)經(jīng)營有直接和間接關(guān)系的組織。這些組織提供的信息有時會非常重要,比如,一個客戶的經(jīng)營情況好不好,可以直接通過這個客戶的電費(fèi)單、話費(fèi)單來找到答案。這些部門的網(wǎng)站上都有一些對客戶的這方面信息的披露,所以通過技術(shù)手段獲取此類信息對分析客戶的經(jīng)營情況具有一定的幫助。

上面對各個主體的大數(shù)據(jù)的分析,可以在企業(yè)進(jìn)行大數(shù)據(jù)建設(shè)時提供一種獲取數(shù)據(jù)來源的思路,企業(yè)還可以按照這種分析方式進(jìn)一步擴(kuò)展獲取大數(shù)據(jù)的渠道,以使大數(shù)據(jù)的來源更加完整和全面。

(二)來自客體的大數(shù)據(jù)

這里的客體主要是指企業(yè)生產(chǎn)的產(chǎn)品。未來的產(chǎn)品大多都會具有物聯(lián)功能,企業(yè)根據(jù)這些物聯(lián)功能發(fā)回的信息,就可以分析出該產(chǎn)品當(dāng)前在哪里、運(yùn)行狀態(tài)如何、哪些功能是用戶常用的,并可以依據(jù)這些分析制定客戶的服務(wù)策略、新產(chǎn)品的改進(jìn)策略等。企業(yè)的產(chǎn)品按照是否能主動回傳信息,可以分為有源產(chǎn)品和無源產(chǎn)品。

有源產(chǎn)品是指有動力來源的產(chǎn)品,一般多為電器設(shè)備,如電冰箱、電視機(jī)、ATM機(jī)、刷卡設(shè)備等。這些產(chǎn)品可以內(nèi)嵌信息發(fā)送設(shè)備,從而將產(chǎn)品的位置、狀態(tài)、操作行為等信息,傳送回企業(yè),以便企業(yè)進(jìn)行相應(yīng)的分析。這些發(fā)送回的信息可以是結(jié)構(gòu)化的或者是半結(jié)構(gòu)化的,基于精度設(shè)計(jì)要求其信息計(jì)量單位可大可小,如高清的攝像頭,其每次回傳的信息量就非常大,可以是幾兆字節(jié)或者更大。這些信息發(fā)送的頻度都是預(yù)先設(shè)置的,可以為每秒幾十幀或者是幾秒一幀,在一段時間內(nèi)可以產(chǎn)生大量的信息,所以對于有源產(chǎn)品產(chǎn)生的信息,需要在數(shù)據(jù)存儲上做單獨(dú)的設(shè)計(jì)。

無源產(chǎn)品是指沒有動力來源的產(chǎn)品,一般多為衣物、藥品、食品等。對于無源產(chǎn)品,一般是將電子標(biāo)簽貼在產(chǎn)品的表面,借助有源設(shè)備來進(jìn)行信息的采集。無源產(chǎn)品雖不像有源產(chǎn)品那樣會實(shí)時產(chǎn)生大量的信息,但由于其數(shù)量龐大,同樣也會產(chǎn)生大量的信息。依據(jù)有源設(shè)備采集的無源產(chǎn)品信息,可以知道產(chǎn)品當(dāng)前的位置信息和時間信息,從而可以統(tǒng)計(jì)產(chǎn)品的地域分布和使用狀態(tài)。

(三)來自社會的大數(shù)據(jù)

這里的社會主要是指行業(yè)協(xié)會、媒體、社會公眾等。這些組織或群體主要是站在全局角度、公眾角度和個人角度對企業(yè)的各類事項(xiàng)進(jìn)行統(tǒng)計(jì)、分析和評論的,往往會對社會公眾、企業(yè)形象的認(rèn)知起導(dǎo)向作用。一個企業(yè)會因?yàn)橐粋€好評而得到社會公眾的認(rèn)同,從而迅速發(fā)展,也會因?yàn)橐粋€差評而遭受滅頂之災(zāi)。

行業(yè)協(xié)會一般都是一些半官方機(jī)構(gòu),每年會定期發(fā)布一些行業(yè)發(fā)展中存在的問題和未來發(fā)展趨勢的報(bào)告。這些報(bào)告具有較高的價值,對企業(yè)研究行業(yè)動態(tài)、找準(zhǔn)企業(yè)自身在行業(yè)中的地位極有幫助。這部分信息是企業(yè)應(yīng)該重點(diǎn)關(guān)注并作為大數(shù)據(jù)的一個重要構(gòu)成部分的。

媒體也是一個重要的大數(shù)據(jù)來源渠道。媒體會對企業(yè)、企業(yè)的產(chǎn)品、消費(fèi)者的訴求等各方面給出評論,這些評論對企業(yè)來說至關(guān)重要。有一些媒體報(bào)道是客觀的,也有一些是主觀的。關(guān)注這些媒體的報(bào)道可以讓企業(yè)提前做好各種應(yīng)急措施,以便在事件發(fā)生時占據(jù)主動權(quán)。

社會公眾可以在QQ、微信、微博、博客、論壇等公眾媒體上進(jìn)行各種信息的傳播,這些媒體的影響面非常廣泛。企業(yè)應(yīng)高度關(guān)注與企業(yè)相關(guān)的信息,并建立相應(yīng)的機(jī)制,對信息進(jìn)行分類處理。未來企業(yè)在經(jīng)營活動中,不僅要善于利用新媒體進(jìn)行企業(yè)品牌和產(chǎn)品的宣傳,而且還要學(xué)會如何對這些信息進(jìn)行統(tǒng)計(jì)和分析。因此社會公眾的信息采集也是企業(yè)搜集大數(shù)據(jù)的重要手段。

二、數(shù)據(jù)的存儲

企業(yè)的各類數(shù)據(jù)集中起來后,其數(shù)據(jù)量龐大。和以往統(tǒng)一將這些數(shù)據(jù)集中存放在一個大的磁盤陣列中不同,現(xiàn)在需要將它們存儲在多臺計(jì)算機(jī)上,這是因?yàn)檫@些數(shù)據(jù)不僅要存起來,還要能隨時被使用。采用分布式方式將這些大數(shù)據(jù)存放在計(jì)算機(jī)設(shè)備上,以便可同時在多臺計(jì)算機(jī)上對其進(jìn)行并行處理。按照數(shù)據(jù)的結(jié)構(gòu)不同,可以將大數(shù)據(jù)分為非結(jié)構(gòu)化的大數(shù)據(jù)、結(jié)構(gòu)化的大數(shù)據(jù)和半結(jié)構(gòu)化的大數(shù)據(jù),分布式文件系統(tǒng)、分布式數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)流處理系統(tǒng)分別是針對這三類數(shù)據(jù)的存儲方式。

(一)非結(jié)構(gòu)化數(shù)據(jù)存儲

常見的非結(jié)構(gòu)化數(shù)據(jù)包括文件、圖片、視頻、語音、郵件、聊天記錄等,和結(jié)構(gòu)化數(shù)據(jù)相比,這些數(shù)據(jù)是未抽象出有價信息的數(shù)據(jù),需要經(jīng)二次加工才能得到有價信息。由于非結(jié)構(gòu)化數(shù)據(jù)具有不受格式約束、不受主題約束、人人隨時都可以根據(jù)自己的視角和觀點(diǎn)進(jìn)行創(chuàng)作生產(chǎn)的特點(diǎn),所以其數(shù)據(jù)量要比結(jié)構(gòu)化數(shù)據(jù)大。

隨著各種移動終端的普及和移動應(yīng)用的不斷豐富,非結(jié)構(gòu)化數(shù)據(jù)呈指數(shù)態(tài)迅速增長。近年來,這些數(shù)據(jù)已成為統(tǒng)計(jì)分析和數(shù)據(jù)挖掘的一個重要來源,逐漸被越來越多的企業(yè)所重視。比如,在公安領(lǐng)域,隨著“平安城市”工程的不斷推進(jìn),城市的各個角落都安放著攝像頭,這極大地震懾了犯罪分子,預(yù)防了犯罪行為的發(fā)生。在案件發(fā)生后,公安人員可以根據(jù)攝像頭拍攝的圖像信息還原犯罪分子的活動軌跡和使用的作案兇器,有助于對案件的偵辦。再如,在金融領(lǐng)域,為了控制借款人可能產(chǎn)生的借貸風(fēng)險,很多金融企業(yè)建立了專門的隊(duì)伍收集借款人的財(cái)務(wù)信息、法務(wù)信息、法人信息等,并對這些信息進(jìn)行分析,根據(jù)分析結(jié)果調(diào)整風(fēng)險等級,主動避免風(fēng)險。

非結(jié)構(gòu)化數(shù)據(jù)對各行各業(yè)的價值都極大,所以進(jìn)行有針對性的采集和存儲是一件非常有意義的事。由于非結(jié)構(gòu)化數(shù)據(jù)具有形式多樣、體量大、來源廣、維度多、有價內(nèi)容密度低、分析意義大等特點(diǎn),所以要為了分析而存儲,而不能為了存儲而存儲。為了分析而存儲,就是說存儲的方式要滿足分析的要求,存儲工作就是分析的前置工作。當(dāng)前針對非結(jié)構(gòu)化數(shù)據(jù)的特點(diǎn),均采用分布式方式來存儲這些數(shù)據(jù)。這種存儲非結(jié)構(gòu)化數(shù)據(jù)的系統(tǒng)也叫分布式文件系統(tǒng)。

分布式文件系統(tǒng)將數(shù)據(jù)存儲在物理上分散的多個存儲節(jié)點(diǎn)上,對這些節(jié)點(diǎn)的資源進(jìn)行統(tǒng)一管理與分配,并向用戶提供文件系統(tǒng)訪問接口,主要解決本地文件系統(tǒng)在文件大小、文件數(shù)量、打開文件數(shù)等方面的限制問題。目前常見的分布式文件系統(tǒng)通常包括主控服務(wù)器(或稱元數(shù)據(jù)服務(wù)器、名字服務(wù)器等,通常會配置備用主控服務(wù)器,以便在出故障時接管服務(wù))、多個數(shù)據(jù)服務(wù)器(或稱存儲服務(wù)器、存儲節(jié)點(diǎn)等),以及多個客戶端(客戶端可以是各種應(yīng)用服務(wù)器,也可以是終端用戶)。

分布式文件系統(tǒng)的數(shù)據(jù)存儲解決方案歸根結(jié)底是將大問題劃分為小問題。大量的文件均勻分布到多個數(shù)據(jù)服務(wù)器上后,每個數(shù)據(jù)服務(wù)器存儲的文件數(shù)量就少了。另外,通過使用大文件存儲多個小文件的方式,能把單個數(shù)據(jù)服務(wù)器上存儲的文件數(shù)降到符合單機(jī)能處理的規(guī)模;對于很大的文件,可以將其劃分成多個相對較小的片段,存儲在多個數(shù)據(jù)服務(wù)器上。

(二)結(jié)構(gòu)化數(shù)據(jù)存儲

結(jié)構(gòu)化數(shù)據(jù)就是人們熟悉的數(shù)據(jù)庫中的數(shù)據(jù),它本身就已經(jīng)是一種對現(xiàn)實(shí)已發(fā)生事項(xiàng)的關(guān)鍵要素進(jìn)行抽取后的有價信息。現(xiàn)在各級政府和各類企業(yè)都建有自己的信息管理系統(tǒng),隨著時間的推移,其積累的結(jié)構(gòu)化數(shù)據(jù)越來越多,一些問題也顯現(xiàn)出來,這些問題大致可以分為以下四類:

(1)歷史數(shù)據(jù)和當(dāng)前數(shù)據(jù)都存在于一個庫中,導(dǎo)致系統(tǒng)處理越來越慢;

(2)歷史數(shù)據(jù)與當(dāng)前數(shù)據(jù)的期限如何界定;

(3)歷史數(shù)據(jù)應(yīng)如何存儲;

(4)歷史數(shù)據(jù)的二次增值如何解決。

第一和第二個問題可以放在一起處理。系統(tǒng)處理越來越慢的原因除了傳統(tǒng)的技術(shù)架構(gòu)和當(dāng)初建設(shè)系統(tǒng)的技術(shù)滯后于業(yè)務(wù)發(fā)展之外,主要是對于系統(tǒng)作用的定位問題。從過去40年管理信息系統(tǒng)發(fā)展的歷史來看,隨著信息技術(shù)的發(fā)展和信息系統(tǒng)領(lǐng)域的不斷細(xì)分,是時候要分而治之來處理問題了,即將管理信息系統(tǒng)分成兩類,一類是基于目前的數(shù)據(jù)生產(chǎn)管理信息系統(tǒng),另一類是基于歷史的數(shù)據(jù)應(yīng)用管理信息系統(tǒng)。

數(shù)據(jù)生產(chǎn)管理信息系統(tǒng)是管理一段時間頻繁變化數(shù)據(jù)的系統(tǒng),這個“一段時間”可以根據(jù)數(shù)據(jù)增長速度而進(jìn)行界定,比如,銀行的數(shù)據(jù)在當(dāng)前生產(chǎn)系統(tǒng)中一般保留儲戶一年的存取款記錄。數(shù)據(jù)應(yīng)用管理信息系統(tǒng)將數(shù)據(jù)生產(chǎn)管理信息系統(tǒng)的數(shù)據(jù)作為處理對象,是數(shù)據(jù)生產(chǎn)管理信息系統(tǒng)各階段數(shù)據(jù)的累加存儲的數(shù)據(jù)應(yīng)用系統(tǒng),可用于對歷史數(shù)據(jù)進(jìn)行查詢、統(tǒng)計(jì)、分析和挖掘。

第三和第四個問題可以放在一起處理。由于歷史數(shù)據(jù)量規(guī)模龐大,相對穩(wěn)定,其存儲和加工處理與數(shù)據(jù)生產(chǎn)管理系統(tǒng)的思路應(yīng)有很大的不同。和非結(jié)構(gòu)化數(shù)據(jù)存儲一樣,結(jié)構(gòu)化數(shù)據(jù)的存儲也是為了分析而存儲,并且采用分布式方式。其目標(biāo)有兩個:一是能在海量的數(shù)據(jù)庫中快速查詢歷史數(shù)據(jù),二是能在海量的數(shù)據(jù)庫中進(jìn)行有價信息的分析和挖掘。

分布式數(shù)據(jù)庫是數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)技術(shù)相結(jié)合的產(chǎn)物,在數(shù)據(jù)庫領(lǐng)域已形成一個分支。分布式數(shù)據(jù)庫的研究始于20世紀(jì)70年代中期。世界上第一個分布式數(shù)據(jù)庫系統(tǒng)SDD-1是由美國計(jì)算機(jī)公司(CCA)于1979年在DEC計(jì)算機(jī)上實(shí)現(xiàn)的。20世紀(jì)90年代以來,分布式數(shù)據(jù)庫系統(tǒng)處于商品化應(yīng)用階段,傳統(tǒng)的關(guān)系數(shù)據(jù)庫產(chǎn)品均發(fā)展成以計(jì)算機(jī)網(wǎng)絡(luò)及多任務(wù)操作系統(tǒng)為核心的分布式數(shù)據(jù)庫產(chǎn)品,同時分布式數(shù)據(jù)庫逐步向客戶機(jī)/服務(wù)器模式發(fā)展。

分布式數(shù)據(jù)庫系統(tǒng)通常使用體積較小的計(jì)算機(jī)系統(tǒng),每臺計(jì)算機(jī)可單獨(dú)放在一個地方,每臺計(jì)算機(jī)中都有DBMS(Database Management System,數(shù)據(jù)庫管理系統(tǒng))的一份完整的副本,并具有自己局部的數(shù)據(jù)庫。位于不同地點(diǎn)的許多計(jì)算機(jī)通過網(wǎng)絡(luò)互相連接,共同組成一個完整的、全局的大型數(shù)據(jù)庫。

分布式數(shù)據(jù)庫系統(tǒng)應(yīng)具有以下一些主要特點(diǎn):

(1)物理分布性:數(shù)據(jù)不是存儲在一個場地上,而是存儲在計(jì)算機(jī)網(wǎng)絡(luò)的多個場地上;

(2)邏輯整體性:數(shù)據(jù)物理分布在各個場地,但邏輯上是一個整體,它們被所有的用戶(全局用戶)共享,并由一個主節(jié)點(diǎn)統(tǒng)一管理;

(3)靈活的體系結(jié)構(gòu),適應(yīng)分布式的管理和控制機(jī)構(gòu);

(4)數(shù)據(jù)冗余度小,系統(tǒng)的可靠性高,可用性好;

(5)可擴(kuò)展性好,易于集成現(xiàn)有的系統(tǒng)。

(三)半結(jié)構(gòu)化數(shù)據(jù)存儲

半結(jié)構(gòu)化數(shù)據(jù)是指數(shù)據(jù)中既有結(jié)構(gòu)化數(shù)據(jù),也有非結(jié)構(gòu)化數(shù)據(jù)。比如,攝像頭回傳給后端的數(shù)據(jù)中不僅有位置、時間等結(jié)構(gòu)化數(shù)據(jù),還有圖片這種非結(jié)構(gòu)化數(shù)據(jù)。這些數(shù)據(jù)是以數(shù)據(jù)流的形式傳遞的,所以半結(jié)構(gòu)化數(shù)據(jù)也叫流數(shù)據(jù)。對流數(shù)據(jù)進(jìn)行處理的系統(tǒng)叫作數(shù)據(jù)流系統(tǒng),數(shù)據(jù)流系統(tǒng)是隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展而產(chǎn)生的新的信息領(lǐng)域。

隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,人們對產(chǎn)品這一客體的智能化程度的要求越來越高。產(chǎn)品已經(jīng)由一個不能產(chǎn)生數(shù)據(jù)的物品變成了一個可以產(chǎn)生數(shù)據(jù)的物品,原來只能通過人機(jī)交互產(chǎn)生數(shù)據(jù),現(xiàn)在物聯(lián)交互也能產(chǎn)生大量的數(shù)據(jù),并且物聯(lián)交互產(chǎn)生的數(shù)據(jù)比人機(jī)交互產(chǎn)生的數(shù)據(jù)頻度更高、單位時間內(nèi)的數(shù)據(jù)量更大。物聯(lián)交互不僅帶來了新的數(shù)據(jù)來源,而且?guī)砹诵碌臄?shù)據(jù)處理問題。比如,大量涌入的物聯(lián)數(shù)據(jù)在很長一段時間內(nèi)都是重復(fù)的數(shù)據(jù),如果將這些數(shù)據(jù)原封不動地進(jìn)行存儲,那么其消耗的存儲設(shè)備容量將是驚人的,也是資金投入所不能承受的。

對于數(shù)據(jù)流,數(shù)據(jù)不是永久存儲在傳統(tǒng)數(shù)據(jù)庫中的靜態(tài)數(shù)據(jù),而是瞬時處理的源源不斷的連續(xù)數(shù)據(jù)流。因此,對這種新型數(shù)據(jù)模型的處理應(yīng)用也逐漸引起了相關(guān)領(lǐng)域研究人員的廣泛關(guān)注。在大量的數(shù)據(jù)流應(yīng)用系統(tǒng)中,數(shù)據(jù)流來自分布于不同地理位置的數(shù)據(jù)源,非常適合分布式查詢處理。

分布式處理是數(shù)據(jù)流管理系統(tǒng)發(fā)展的必然趨勢,而查詢處理技術(shù)是數(shù)據(jù)流處理中的關(guān)鍵技術(shù)之一。在數(shù)據(jù)流應(yīng)用系統(tǒng)中,系統(tǒng)的運(yùn)行環(huán)境和數(shù)據(jù)流本身的一些特征不斷地發(fā)生變化,因此,對分布式數(shù)據(jù)流自適應(yīng)查詢處理技術(shù)的研究成為數(shù)據(jù)流查詢處理技術(shù)研究的熱門領(lǐng)域之一。

三、數(shù)據(jù)的分析與挖掘

傳統(tǒng)的管理信息系統(tǒng)可以定位為面向個體信息生產(chǎn),供局部簡單查詢和統(tǒng)計(jì)應(yīng)用的信息系統(tǒng)。其輸入是個體少量的信息,處理方式是在系統(tǒng)中對移動數(shù)據(jù)進(jìn)行加工,輸出是個體信息或某一主題的統(tǒng)計(jì)信息。而大數(shù)據(jù)信息系統(tǒng)定位為面向全局,提供復(fù)雜統(tǒng)計(jì)分析和數(shù)據(jù)挖掘的信息系統(tǒng)。其輸入是TB級的數(shù)據(jù),處理方式是移動邏輯到數(shù)據(jù)存儲、對數(shù)據(jù)進(jìn)行加工,輸出是與主題相關(guān)的各種關(guān)聯(lián)信息。對比這兩個信息系統(tǒng),可以發(fā)現(xiàn)它們主要有以下三點(diǎn)區(qū)別:

(1)傳統(tǒng)的管理信息系統(tǒng)用于現(xiàn)實(shí)事項(xiàng)的數(shù)據(jù)生產(chǎn),大數(shù)據(jù)信息系統(tǒng)是基于已有數(shù)據(jù)的應(yīng)用的;

(2)傳統(tǒng)的管理信息系統(tǒng)是對移動數(shù)據(jù)做線性處理,大數(shù)據(jù)信息系統(tǒng)是應(yīng)用移動邏輯來并行處理的;

(3)傳統(tǒng)的管理信息系統(tǒng)注重信息的簡單應(yīng)用,大數(shù)據(jù)信息系統(tǒng)面向全局做統(tǒng)計(jì)分析和數(shù)據(jù)挖掘應(yīng)用。

傳統(tǒng)的管理信息系統(tǒng)和大數(shù)據(jù)信息系統(tǒng)的對比如表2-1所示。

表2-1 傳統(tǒng)的管理信息系統(tǒng)和大數(shù)據(jù)信息系統(tǒng)對比

前文分析了大數(shù)據(jù)從哪里來、存在于哪里等問題,本節(jié)又分析了傳統(tǒng)的管理信息系統(tǒng)與大數(shù)據(jù)信息系統(tǒng)的不同之處。正是這些不同之處決定了企業(yè)大數(shù)據(jù)的加工過程的不同。大數(shù)據(jù)的加工首先從分析和挖掘模型建立開始,也就是說,要先弄清楚想要什么,采用什么計(jì)算方法;其次將分析和挖掘模型轉(zhuǎn)成邏輯可移動并能并行處理的程序編碼,以便對分布式的大數(shù)據(jù)進(jìn)行加工;最后將計(jì)算結(jié)果放在全局?jǐn)?shù)據(jù)背景中呈現(xiàn),讓用戶能基于圖形一眼看出其態(tài)勢,而非采用面對結(jié)構(gòu)化數(shù)字的晦澀的表達(dá)。企業(yè)大數(shù)據(jù)加工過程模型如圖2-2所示。

圖2-2 企業(yè)大數(shù)據(jù)加工過程模型

大數(shù)據(jù)加工過程由分析和挖掘模型設(shè)計(jì)、并行處理程序編碼、計(jì)算結(jié)果在全局中呈現(xiàn)三個工作活動構(gòu)成。

(一)分析和挖掘模型設(shè)計(jì)

“大數(shù)據(jù)”,大約從2009年開始才成為互聯(lián)網(wǎng)信息技術(shù)行業(yè)的流行詞匯。美國互聯(lián)網(wǎng)數(shù)據(jù)中心指出,互聯(lián)網(wǎng)上的數(shù)據(jù)每年將增長50%,每兩年會翻一番,而目前世界上90%以上的數(shù)據(jù)是最近幾年才產(chǎn)生的。此外,數(shù)據(jù)又并非單純地指人們在互聯(lián)網(wǎng)上發(fā)布的信息。全世界的工業(yè)設(shè)備、汽車、電表等裝有無數(shù)的數(shù)碼傳感器,隨時測量和傳遞著有關(guān)位置、運(yùn)動、震動、溫度、濕度乃至空氣中化學(xué)物質(zhì)變化方面的信息,同時也產(chǎn)生了海量的數(shù)據(jù)。

大數(shù)據(jù)已經(jīng)在那里了,人們能用它做什么?一些互聯(lián)網(wǎng)企業(yè)開始利用手中掌握的大數(shù)據(jù),對用戶的消費(fèi)習(xí)慣、興趣愛好、關(guān)系網(wǎng)絡(luò)進(jìn)行分析和挖掘,分析和挖掘的成果給這些互聯(lián)網(wǎng)企業(yè)帶來了新的價值。

(1)進(jìn)一步鞏固優(yōu)勢:基于分析結(jié)果給用戶提供更精準(zhǔn)的服務(wù),進(jìn)一步拉開與競爭對手的差距。

(2)擴(kuò)展了新的服務(wù):社會化媒體基礎(chǔ)上的大數(shù)據(jù)挖掘和分析又衍生出很多新的應(yīng)用。

(3)拓展了新的領(lǐng)域:基于手中的大數(shù)據(jù)和已掌握的分析方法,一些互聯(lián)網(wǎng)企業(yè)正在成為營銷咨詢服務(wù)商和各類情報(bào)供應(yīng)商。

互聯(lián)網(wǎng)企業(yè)的這種發(fā)展模式,對于很多傳統(tǒng)企業(yè)具有很強(qiáng)的借鑒意義。它告訴人們不僅要掌握龐大的數(shù)據(jù)信息,而且要對這些具有意義的數(shù)據(jù)進(jìn)行專業(yè)化處理。專業(yè)的處理方法包括統(tǒng)計(jì)建模、機(jī)器學(xué)習(xí)、數(shù)據(jù)建模等。

(1)統(tǒng)計(jì)建模是利用統(tǒng)計(jì)知識,認(rèn)為大數(shù)據(jù)是遵循總體分布規(guī)律的,按照統(tǒng)計(jì)的方法可以準(zhǔn)確地把握企業(yè)當(dāng)前的態(tài)勢,并可以按照時間維度預(yù)測企業(yè)未來的發(fā)展。

(2)機(jī)器學(xué)習(xí)是將大數(shù)據(jù)當(dāng)成訓(xùn)練集,通過貝葉斯網(wǎng)絡(luò)、支持向量機(jī)、決策樹等算法對有價值的信息進(jìn)行挖掘,比如,Netflix通過機(jī)器學(xué)習(xí)來預(yù)測觀眾對影片的評分,從而制定影片上映和發(fā)行的策略。

(3)數(shù)據(jù)建模是將數(shù)據(jù)模型看成一個復(fù)雜查詢的答案,利用部分?jǐn)?shù)據(jù)來推算總體的態(tài)勢。數(shù)據(jù)建模可以采用兩種方法:一種是數(shù)據(jù)匯總,另一種是特征提取。數(shù)據(jù)匯總包括PageRank形式和聚類形式,特征提取包括頻繁項(xiàng)集和相似項(xiàng)兩種類型。

上述方法中,前兩種方法分別把大數(shù)據(jù)看成了總體樣本數(shù)據(jù)和局部訓(xùn)練數(shù)據(jù)。基于總體樣本數(shù)據(jù)可以做出準(zhǔn)確的態(tài)勢分析和對未來的預(yù)測,而基于局部訓(xùn)練數(shù)據(jù)則可以面向未來做出假說演繹。最后一種方法,數(shù)據(jù)建模,是一種基于現(xiàn)有數(shù)據(jù)分析問題的方法。比如,PageRank可以根據(jù)用戶請求返回用戶期望度最高的頁面,再如,采用聚類方法可以準(zhǔn)確定位城市某種流行病的發(fā)源地及其原因。

總的來說,利用分析和挖掘模型設(shè)計(jì),一來可以得到總體在空間上的分布狀態(tài)和時間上的變化趨勢,以便面向未來做出預(yù)測;二來可以通過個體在空間和時間上的差異與相似性,找出問題的原因,以便做出決策。

(二)并行處理程序編碼

并行處理程序編碼是一項(xiàng)很復(fù)雜的工作,但隨著技術(shù)的發(fā)展和開源運(yùn)動的不斷普及,這項(xiàng)復(fù)雜的工作已經(jīng)變得非常簡單。人們只需按照MapReduce編程模型編程,并將程序發(fā)布到并行計(jì)算系統(tǒng)上,就可以實(shí)現(xiàn)對大數(shù)據(jù)的并行處理。為了能夠更深入地理解并行處理程序,這里有必要簡要回顧一下集群計(jì)算的并行架構(gòu)、MapReduce編程模型、函數(shù)代碼與模型設(shè)計(jì)關(guān)系、移動邏輯還是移動數(shù)據(jù)這四個方面的知識。

1.集群計(jì)算的并行架構(gòu)

大部分計(jì)算任務(wù)都是在單處理器、內(nèi)存、高速緩存和本地磁盤等所構(gòu)成的單個計(jì)算節(jié)點(diǎn)上完成的。傳統(tǒng)的并行化處理應(yīng)用都是采用專用的并行計(jì)算機(jī)來完成的,這些計(jì)算機(jī)含有多個處理器和專用硬件。然而隨著近年來大規(guī)模Web服務(wù)的流行,越來越多的計(jì)算都是在由成百上千的單個計(jì)算節(jié)點(diǎn)構(gòu)成的集群上完成的。與采用專用硬件的并行計(jì)算機(jī)相比,這大大降低了硬件開銷。

集群計(jì)算是遵循“分而治之、以量取勝”的思想來架構(gòu)的,也就是把多個任務(wù)分解到多個處理器或多個計(jì)算機(jī)中,然后按照一定的拓?fù)浣Y(jié)構(gòu)進(jìn)行求解。這種架構(gòu)是一種時間并行和空間并行混合的應(yīng)用模式,是各種并行模式中效益最好的一種。當(dāng)前集群計(jì)算的并行架構(gòu)已廣泛應(yīng)用在天氣預(yù)報(bào)建模、超大規(guī)模集成電路(Very Large Scale Integrated Circuit, VLSI)的計(jì)算機(jī)輔助設(shè)計(jì)、大型數(shù)據(jù)庫管理、人工智能、犯罪控制和國防戰(zhàn)略研究等領(lǐng)域,而且它的應(yīng)用范圍還在不斷地?cái)U(kuò)大。

2.MapReduce編程模型

現(xiàn)在MapReduce編程模型已經(jīng)有多種實(shí)現(xiàn)系統(tǒng),如Google和Hadoop各自開發(fā)的MapReduce的實(shí)現(xiàn)系統(tǒng)。人們可以通過某個MapReduce的實(shí)現(xiàn)系統(tǒng)來管理多個大規(guī)模的計(jì)算,同時能夠保障對硬件故障的容錯性。程序員只需要編寫兩個稱為Map和Reduce的函數(shù)即可,剩下的就是由系統(tǒng)來管理Map和Reduce的并行任務(wù)及其任務(wù)間的協(xié)調(diào)。基于MapReduce的計(jì)算過程如下。

(1)有多個Map任務(wù),每個任務(wù)的輸入是分布式文件上的一個或多個文件塊。Map任務(wù)將文件轉(zhuǎn)換成一個鍵值(Key-Value)對序列。輸入數(shù)據(jù)產(chǎn)生的鍵值對的具體格式由用戶編寫的Map函數(shù)代碼決定。

(2)作業(yè)控制器從每個Map任務(wù)中收集一系列鍵值對,并將它們按照鍵值的大小進(jìn)行排序,進(jìn)而這些鍵又被分到所有的Reduce任務(wù)中,所以具有相同鍵值的鍵值對會歸到同一個Reduce任務(wù)中。

(3)Reduce任務(wù)每次作用于一個鍵,并將與這些鍵關(guān)聯(lián)的所有值以某種方式進(jìn)行組合,具體組合方式取決于用戶所編寫的Reduce函數(shù)代碼。

3.函數(shù)代碼與模型設(shè)計(jì)關(guān)系

Map函數(shù)的輸入數(shù)據(jù)產(chǎn)生的鍵值對格式和Reduce函數(shù)的鍵值組合方式都由用戶所編寫的函數(shù)代碼決定,而這些函數(shù)代碼采用的格式或組合的依據(jù)就是分析和挖掘模式設(shè)計(jì)中的具體內(nèi)容。

比如,人們設(shè)計(jì)一個關(guān)于文檔中單詞重復(fù)數(shù)量的計(jì)算模型,在Map算法中,模型的要求是基于每一行對單詞進(jìn)行一次計(jì)數(shù),然后將同樣的單詞計(jì)數(shù)進(jìn)行歸類,而在Reduce算法中則要求對同樣的單詞進(jìn)行總和計(jì)算并給出排序。程序員根據(jù)模型的要求,實(shí)現(xiàn)Map算法中對每一行單詞進(jìn)行計(jì)數(shù)和將同樣的單詞計(jì)數(shù)進(jìn)行歸類的程序編碼,實(shí)現(xiàn)Reduce函數(shù)中對同樣的單詞進(jìn)行總和計(jì)算并給出排序的編碼。

可以說,分析和挖掘模型的設(shè)計(jì)就是Map和Reduce的函數(shù)概要設(shè)計(jì),而Map函數(shù)和Reduce函數(shù)是分析和挖掘模型設(shè)計(jì)的代碼的具體實(shí)現(xiàn)。

4.移動邏輯還是移動數(shù)據(jù)

移動邏輯還是移動數(shù)據(jù)是對數(shù)據(jù)可變還是邏輯可變的另一種表述。如果數(shù)據(jù)是可變的,那么就移動邏輯到數(shù)據(jù)端處理;如果邏輯可變,則移動數(shù)據(jù)到邏輯端處理。對于數(shù)據(jù)或邏輯的不變性認(rèn)知是分布式系統(tǒng)和非分布式系統(tǒng)的核心區(qū)別。MapReduce主張邏輯不變而數(shù)據(jù)可變,所以移動邏輯到可變的數(shù)據(jù)端中;而傳統(tǒng)的管理信息系統(tǒng)主張邏輯可變而數(shù)據(jù)不變,所以移動數(shù)據(jù)到可變的邏輯端中。

大數(shù)據(jù)運(yùn)算的一個思路就是傳遞邏輯,而不傳輸數(shù)據(jù)。這一思路依賴的條件是邏輯的子過程的分拆是可能的、可控的。在類似MapReduce的方案中,MapReduce Jobs的執(zhí)行就具有類似的特點(diǎn)。也就是說,必須關(guān)注這樣一個事實(shí):數(shù)據(jù)不動,而邏輯在動。

(三)計(jì)算結(jié)果在全局中的呈現(xiàn)

用戶經(jīng)常會根據(jù)不夠精確的、模糊的或者是不能表達(dá)出的條件對大型文件集合進(jìn)行探索或查詢,如果還是采用樹形目錄方式,其查詢效率和效果是可想而知的。為了解決這個問題,奧地利Graz大學(xué)為大型文檔庫設(shè)計(jì)了一個名為Infosky的可視化工具。Infosky可視化工具可以對存放層次達(dá)15層、有6900個類別的10多萬份文件進(jìn)行展現(xiàn),用戶可以借助該系統(tǒng)輕松地對層次結(jié)構(gòu)中成百上千甚至上百萬的文件進(jìn)行可視化查看,也可以平滑地引入信息空間的全局和局部視圖,為瀏覽和搜索提供明確易懂的交互信息。而這一切的實(shí)現(xiàn)借助的正是信息可視化這一新的計(jì)算機(jī)科學(xué)技術(shù)。

近年來,隨著大數(shù)據(jù)的興起,用戶面臨著信息過載的嚴(yán)峻考驗(yàn)。如何幫助用戶更快捷有效地從大量數(shù)據(jù)中提取出有用的信息,成為信息可視化的核心任務(wù)。信息可視化主要是利用圖形技術(shù)對大規(guī)模數(shù)據(jù)進(jìn)行可視化表示,以增強(qiáng)用戶對數(shù)據(jù)更深層次的認(rèn)知。信息可視化由數(shù)據(jù)描述、數(shù)據(jù)表示和數(shù)據(jù)交互三個部分構(gòu)成。數(shù)據(jù)描述就是對各種數(shù)據(jù)進(jìn)行視覺化的描述,如采用不同的線條、點(diǎn)和叉等。數(shù)據(jù)表示關(guān)注的是描述的內(nèi)容如何得到顯示,及其如何呈現(xiàn)給用戶,數(shù)據(jù)表示會受到顯示空間的限制和時間的限制。數(shù)據(jù)交互涉及一系列動作,不僅包括單擊鼠標(biāo)的物理動作,還包括對所見進(jìn)行解釋,增加了心理模型的認(rèn)知成本。

上面的實(shí)例分析和對信息可視化技術(shù)的簡單介紹主要是想說明在大數(shù)據(jù)環(huán)境下,數(shù)據(jù)的表現(xiàn)方式需要在傳統(tǒng)的單一表格和圖表方式基礎(chǔ)上再提升一個層次,要能讓用戶基于圖示感受到大數(shù)據(jù)的存在,感受到其查詢的部分與整體間的關(guān)系。

主站蜘蛛池模板: 诏安县| 宝应县| 青铜峡市| 资阳市| 承德县| 三台县| 塘沽区| 穆棱市| 岑溪市| 云浮市| 淮南市| 洪江市| 新余市| 临西县| 大冶市| 沽源县| 柯坪县| 余江县| 延川县| 八宿县| 富锦市| 博野县| 泸溪县| 五家渠市| 湟中县| 绥芬河市| 边坝县| 陇西县| 石楼县| 平泉县| 尚志市| 秦安县| 酒泉市| 皋兰县| 平武县| 江北区| 遂川县| 中卫市| 尉氏县| 邯郸市| 察雅县|