王 瑞,宋夢(mèng)佳,劉 磊,康 瑩,何淳真
(西安應(yīng)用光學(xué)研究所,西安 710065)
隨著“大數(shù)據(jù)”時(shí)代的來(lái)臨,大數(shù)據(jù)相關(guān)技術(shù)在社會(huì)各領(lǐng)域中發(fā)揮了重要作用,大數(shù)據(jù)成為繼物聯(lián)網(wǎng)、云計(jì)算技術(shù)之后的熱點(diǎn)話(huà)題。對(duì)大數(shù)據(jù)技術(shù)的研究,已經(jīng)成為當(dāng)前重要的技術(shù)研究領(lǐng)域。企業(yè)已建立了大量的應(yīng)用系統(tǒng),例如ERP、BPM、OA、PDM 等,這些應(yīng)用系統(tǒng)的深入應(yīng)用,產(chǎn)生了大量的基礎(chǔ)數(shù)據(jù)。其次,企業(yè)設(shè)備監(jiān)控和管理產(chǎn)生的數(shù)據(jù)也呈指數(shù)型增長(zhǎng)。此類(lèi)海量基礎(chǔ)數(shù)據(jù)的管理與可靠存儲(chǔ)以及實(shí)現(xiàn)數(shù)據(jù)共享和關(guān)聯(lián)分析,將海量基礎(chǔ)數(shù)據(jù)通過(guò)大數(shù)據(jù)技術(shù)轉(zhuǎn)化為有價(jià)值的知識(shí)來(lái)提升企業(yè)決策能力,是現(xiàn)代企業(yè)亟需解決的問(wèn)題。
當(dāng)前絕大多數(shù)企業(yè)在大數(shù)據(jù)技術(shù)應(yīng)用方面涉及極少,數(shù)據(jù)存儲(chǔ)也都是采用傳統(tǒng)的大型服務(wù)器,這種大型服務(wù)器一般價(jià)格十分昂貴,存儲(chǔ)方式采用的是磁盤(pán)陣列,數(shù)據(jù)庫(kù)也是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)。而大數(shù)據(jù)技術(shù)能處理TB 級(jí)海量數(shù)據(jù),設(shè)備利用率較高,對(duì)設(shè)備的依賴(lài)性較小,可同時(shí)處理結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),這些優(yōu)勢(shì)都為大數(shù)據(jù)分析打下了基礎(chǔ),使數(shù)據(jù)分析不僅僅停留在數(shù)據(jù)的展現(xiàn)而更側(cè)重于對(duì)海量的歷史數(shù)據(jù)進(jìn)行分析、挖掘與預(yù)測(cè),這樣才能為企業(yè)的管理層提供準(zhǔn)確的決策依據(jù)[1]。
大多數(shù)企業(yè)隨著信息化的發(fā)展已經(jīng)建立相應(yīng)決策分析系統(tǒng),但是隨著企業(yè)數(shù)據(jù)量與日俱增,現(xiàn)有的系統(tǒng)漸漸已經(jīng)不能滿(mǎn)足企業(yè)的需求,逐漸地暴露出了一些問(wèn)題,具體有如下幾個(gè)方面[2]。
數(shù)據(jù)分析方法單一。傳統(tǒng)的決策分析系統(tǒng)側(cè)重于數(shù)據(jù)的展現(xiàn),數(shù)據(jù)源大部分還是靠業(yè)務(wù)人員整理后上傳,從應(yīng)用系統(tǒng)提取的數(shù)據(jù)較少,這樣就會(huì)導(dǎo)致對(duì)數(shù)據(jù)分析挖掘的能力較弱,同時(shí)也無(wú)法跨系統(tǒng)跨數(shù)據(jù)庫(kù)聯(lián)合分析。
數(shù)據(jù)處理和查詢(xún)能力低下。面對(duì)數(shù)據(jù)量較大、數(shù)據(jù)復(fù)雜度較高的情況,無(wú)法對(duì)數(shù)據(jù)進(jìn)行清理、轉(zhuǎn)換,不具備實(shí)時(shí)和高速處理分析能力。其次,面對(duì)指數(shù)級(jí)增長(zhǎng)的數(shù)據(jù)缺少快速響應(yīng)復(fù)雜的分析與查詢(xún)。
傳統(tǒng)數(shù)據(jù)庫(kù)的技術(shù)下的儲(chǔ)存能力和方式有限。當(dāng)前,數(shù)據(jù)的范圍只能是結(jié)構(gòu)化的數(shù)據(jù),不能對(duì)TB 級(jí)的數(shù)據(jù)進(jìn)行處理,更不能對(duì)高級(jí)別數(shù)據(jù)分析有所支持。企業(yè)的大數(shù)據(jù)包括管理數(shù)據(jù)、運(yùn)維數(shù)據(jù)、生產(chǎn)數(shù)據(jù)、運(yùn)營(yíng)數(shù)據(jù)等,這些數(shù)據(jù)既有結(jié)構(gòu)化數(shù)據(jù),也有非結(jié)構(gòu)化數(shù)據(jù),例如圖片、視頻等。
不具備數(shù)據(jù)監(jiān)控和風(fēng)險(xiǎn)預(yù)警功能。由于數(shù)據(jù)采集能力較弱,無(wú)法實(shí)時(shí)采集系統(tǒng)及設(shè)備的運(yùn)行數(shù)據(jù),無(wú)法監(jiān)控關(guān)鍵環(huán)節(jié)的數(shù)據(jù),不能快速定位業(yè)務(wù)異常點(diǎn)。因此,面對(duì)企業(yè)日益增長(zhǎng)的數(shù)據(jù)分析需求,只有建設(shè)基于大數(shù)據(jù)的決策支持平臺(tái),才能徹底解決企業(yè)現(xiàn)有的問(wèn)題。
傳統(tǒng)決策分析主要是偏重對(duì)現(xiàn)有系統(tǒng)中的數(shù)據(jù)進(jìn)行有效整合,通過(guò)可視化技術(shù)進(jìn)行多維分析。而大數(shù)據(jù)是從提取的海量數(shù)據(jù)中,通過(guò)不同的算法將這些來(lái)自不同系統(tǒng)、格式的數(shù)據(jù)經(jīng)過(guò)處理后進(jìn)行分析,通過(guò)算法尋找數(shù)據(jù)之間隱藏的關(guān)聯(lián)性。總而言之,大數(shù)據(jù)分析更側(cè)重猜測(cè)、發(fā)現(xiàn)、印證的循環(huán)逼近過(guò)程。大數(shù)據(jù)技術(shù)和以往的信息產(chǎn)出方式相比具有三個(gè)明顯的特征:數(shù)據(jù)量大、非結(jié)構(gòu)化和實(shí)時(shí)性。以往企業(yè)先是對(duì)數(shù)據(jù)進(jìn)行收集,之后再進(jìn)行分析,現(xiàn)在大數(shù)據(jù)分析可隨時(shí)進(jìn)行,這樣有助于迅速實(shí)現(xiàn)數(shù)據(jù)分析并調(diào)整企業(yè)戰(zhàn)略[3]。大數(shù)據(jù)分析與傳統(tǒng)決策分析的區(qū)別主要有以下幾點(diǎn)。
數(shù)據(jù)來(lái)源。大數(shù)據(jù)之前,企業(yè)只能使用結(jié)構(gòu)數(shù)據(jù)。大數(shù)據(jù)技術(shù)的應(yīng)用使得企業(yè)深度使用大量非結(jié)構(gòu)數(shù)據(jù)成為可能:視頻資料、音頻資料、圖片、文本、推送信息等。對(duì)大數(shù)據(jù)的分析工具而言,也是以非結(jié)構(gòu)數(shù)據(jù)分析為主。
思維方式。大數(shù)據(jù)相對(duì)于傳統(tǒng)分析方式既有繼承,也有發(fā)展。傳統(tǒng)分析更傾向于對(duì)現(xiàn)有、共性的事物的展現(xiàn)和描述,幫助決策者了解宏觀(guān)統(tǒng)計(jì)趨勢(shì),適合經(jīng)營(yíng)、運(yùn)營(yíng)類(lèi)指標(biāo),而大數(shù)據(jù)分析更傾向?qū)v史數(shù)據(jù)的挖掘和對(duì)未來(lái)的預(yù)測(cè)。
工具角度。傳統(tǒng)分析主要應(yīng)用的是ETL、數(shù)據(jù)倉(cāng)庫(kù)、OLAP、可視化報(bào)表技術(shù),這些技術(shù)屬于展示和應(yīng)用層的技術(shù),但是這些技術(shù)不能對(duì)海量數(shù)據(jù)進(jìn)行很好的處理。大數(shù)據(jù)分析隨著不斷的發(fā)展逐漸形成一個(gè)較完整的技術(shù)體系,例如海量結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)的ETL 問(wèn)題可以用Hadoop、流處理等技術(shù)解決。高效讀取的問(wèn)題可以用redis、HBASE 等方式解決,在線(xiàn)分析的問(wèn)題可以用Impala 等技術(shù)實(shí)現(xiàn)。
成本方面。對(duì)于大多數(shù)企業(yè)來(lái)說(shuō)、大規(guī)模數(shù)據(jù)的處理在以往的花費(fèi)是巨大的,大數(shù)據(jù)的出現(xiàn)為大企業(yè)與中小型企業(yè)提供了更多的平等機(jī)會(huì)。大數(shù)據(jù)解決方案的廉價(jià)性與增長(zhǎng)性能夠?yàn)楦嗟钠髽I(yè)提供服務(wù)。
大數(shù)據(jù)分析平臺(tái)主要從企業(yè)采集相關(guān)的業(yè)務(wù)數(shù)據(jù),這些數(shù)據(jù)不僅僅包括信息系統(tǒng)中結(jié)構(gòu)化數(shù)據(jù),還包括大量的非結(jié)構(gòu)化數(shù)據(jù)。采集過(guò)程中,為了預(yù)防大量噪聲數(shù)據(jù)進(jìn)入大數(shù)據(jù)分析平臺(tái)中,需將數(shù)據(jù)進(jìn)行初步的過(guò)濾。采集的數(shù)據(jù)將存入基于云計(jì)算技術(shù)的分布式存儲(chǔ)系統(tǒng)中,并通過(guò)相關(guān)的計(jì)算系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行分布式計(jì)算。通過(guò)挖掘分析提取出有用的信息展現(xiàn)給用戶(hù)。因此從數(shù)據(jù)被采集、轉(zhuǎn)換、存儲(chǔ)、分析、應(yīng)用的角度對(duì)大數(shù)據(jù)分析平臺(tái)內(nèi)部技術(shù)構(gòu)件進(jìn)行抽象,將大數(shù)據(jù)分析平臺(tái)分為數(shù)據(jù)源、數(shù)據(jù)存儲(chǔ)與計(jì)算層、挖掘分析層、數(shù)據(jù)展現(xiàn)與訪(fǎng)問(wèn)層,數(shù)據(jù)分析系統(tǒng)的體系架構(gòu)如圖1 所示。

圖1 大數(shù)據(jù)分析平臺(tái)架構(gòu)
3.2.1 數(shù)據(jù)源
結(jié)構(gòu)化數(shù)據(jù):能夠用數(shù)據(jù)或統(tǒng)一的結(jié)構(gòu)加以表示,如數(shù)據(jù)庫(kù)數(shù)據(jù)、表格數(shù)據(jù)等。
非結(jié)構(gòu)化數(shù)據(jù):無(wú)法用數(shù)字或統(tǒng)一的結(jié)構(gòu)表示,如所有格式的辦公文檔、文本、圖像、圖片、XML、HTML、各類(lèi)報(bào)表和音頻、視頻信息等。
3.2.2 數(shù)據(jù)存儲(chǔ)與計(jì)算層[4]
數(shù)據(jù)存儲(chǔ):分布式結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)系統(tǒng)。HBASE 是一個(gè)基于HDFS、列存儲(chǔ)數(shù)據(jù)庫(kù),提供海量數(shù)據(jù)存儲(chǔ)能力。優(yōu)點(diǎn):分布式存儲(chǔ)、擴(kuò)展性強(qiáng),數(shù)據(jù)的實(shí)時(shí)寫(xiě)入性能高,容災(zāi)能力強(qiáng),大規(guī)模數(shù)據(jù)下檢索性能高。相對(duì)硬件成本低。和HIVE 結(jié)合,可以使用類(lèi)SQL 語(yǔ)句進(jìn)行查詢(xún)。缺點(diǎn):只支持單索引查詢(xún)(單KEY),對(duì)KEY 的設(shè)計(jì)要求很高。關(guān)系型數(shù)據(jù)庫(kù)可以導(dǎo)入HBASE,但是不具備關(guān)系型數(shù)據(jù)庫(kù)之間的關(guān)系。
HIVE:是一個(gè)在Hadoop 上構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的軟件。優(yōu)點(diǎn):分布式存儲(chǔ)和處理、擴(kuò)展性強(qiáng),容災(zāi)能力強(qiáng),相對(duì)硬件成本低,支持類(lèi)SQL 的HQL 語(yǔ)言。缺點(diǎn):不支持實(shí)時(shí)寫(xiě)入,只能批量寫(xiě)入,無(wú)法修改數(shù)據(jù)。關(guān)系型數(shù)據(jù)庫(kù)可以導(dǎo)入HIVE,但是不具備關(guān)系型數(shù)據(jù)庫(kù)之間的關(guān)系。
分布式非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)系統(tǒng):HDFS 是Hadoop 的分布式文件系統(tǒng)。其優(yōu)點(diǎn)是分布式存儲(chǔ)、擴(kuò)展性強(qiáng),數(shù)據(jù)的實(shí)時(shí)寫(xiě)入性能高,容災(zāi)能力強(qiáng)。相對(duì)硬件成本低。類(lèi)Windows 文件管理方式,比較便捷。
MongoDB:是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)與非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。Mongo 支持的查詢(xún)語(yǔ)言非常強(qiáng)大,它幾乎可以實(shí)現(xiàn)類(lèi)似關(guān)系數(shù)據(jù)庫(kù)單表查詢(xún)的絕大部分功能,并且還支持對(duì)數(shù)據(jù)建立索引。通過(guò)內(nèi)存映射文件提高訪(fǎng)問(wèn)效率,支持完全索引,分布式數(shù)據(jù)庫(kù),支持MapReduce。
數(shù)據(jù)計(jì)算:分布式離線(xiàn)計(jì)算系統(tǒng)。HADOOP 是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架,能夠?qū)崿F(xiàn)在大量計(jì)算機(jī)組成的集群中對(duì)海量數(shù)據(jù)進(jìn)行分布式計(jì)算。它的框架最核心設(shè)計(jì)就是MapReduce 與HDFS。MapReduce 提供了對(duì)數(shù)據(jù)的計(jì)算,HDFS 提供了海量數(shù)據(jù)的存儲(chǔ)。優(yōu)點(diǎn):高可靠性、高擴(kuò)展性、高效性、高容錯(cuò)性、低成本。
SPARK:是UC Berkeley AMP lab所開(kāi)源的類(lèi)Hadoop MapReduce 的通用的并行計(jì)算框架,Spark 基于MapReduce 算法實(shí)現(xiàn)的分布式計(jì)算,擁有MapReduce 所具有的優(yōu)點(diǎn)。但不同于MapReduce 的是Job 中間輸出和結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫(xiě)HDFS,因此Spark 能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的MapReduce 的算法。Spark 提供的數(shù)據(jù)集操作類(lèi)型有很多種,不像Hadoop 只提供了Map 和Reduce兩種操作。Spark 通過(guò)提供豐富的Scala,Java,Python API 及交互式Shell 來(lái)提高可用性。
分布式實(shí)時(shí)計(jì)算系統(tǒng):Storm,實(shí)時(shí)流處理框架。彌補(bǔ)了Hadoop 里所不能滿(mǎn)足的實(shí)時(shí)要求。Storm 與Hadoop 的對(duì)比。Hadoop 在本質(zhì)上是一個(gè)批處理系統(tǒng)。數(shù)據(jù)被引入Hadoop 文件系統(tǒng)并分發(fā)到各個(gè)節(jié)點(diǎn)進(jìn)行處理。當(dāng)處理完成時(shí),結(jié)果數(shù)據(jù)返回到HDFS 供始發(fā)者使用。Storm 支持創(chuàng)建拓?fù)浣Y(jié)構(gòu)來(lái)轉(zhuǎn)換沒(méi)有終點(diǎn)的數(shù)據(jù)流。不同于Hadoop 作業(yè),這些轉(zhuǎn)換從不停止,它們會(huì)持續(xù)處理到達(dá)的數(shù)據(jù)。
高性能計(jì)算系統(tǒng):內(nèi)存計(jì)算實(shí)質(zhì)上就是CPU 直接從內(nèi)存而不是硬盤(pán)上讀取數(shù)據(jù),進(jìn)行計(jì)算、分析,是對(duì)傳統(tǒng)數(shù)據(jù)處理方式的一種加速。內(nèi)存計(jì)算非常適合處理海量的數(shù)據(jù),以及需要實(shí)時(shí)獲得結(jié)果的數(shù)據(jù)內(nèi)存計(jì)算相比傳統(tǒng)的方法的優(yōu)勢(shì)是:充分發(fā)揮多核的能力,可以對(duì)數(shù)據(jù)并行的處理,并且內(nèi)存讀取的速度成倍數(shù)加快,數(shù)據(jù)按優(yōu)化的列存儲(chǔ)方式存放在內(nèi)存里面。GPU 英文全稱(chēng)Graphic Processing Unit,一般存在于計(jì)算機(jī)的顯卡中,計(jì)算機(jī)中GPU 的出現(xiàn)是為了把CPU 從復(fù)雜的圖形運(yùn)算中解放出來(lái),進(jìn)行其他更重要的工作。特點(diǎn)為具有多處理器結(jié)構(gòu)、并行處理數(shù)據(jù)能力、存儲(chǔ)器存取速度高。CPU 與GPU 對(duì)比:GPU 擁有自己獨(dú)立的子存儲(chǔ)系統(tǒng)——顯存,而且GPU 對(duì)顯存數(shù)據(jù)的訪(fǎng)問(wèn)速度比CPU 對(duì)系統(tǒng)主內(nèi)存數(shù)據(jù)的訪(fǎng)問(wèn)速度更快。CPU 將更多資源用于緩存及流控制,GPU 將更多資源用于數(shù)據(jù)計(jì)算。
分布式運(yùn)維系統(tǒng):Intel Hadoop Manager,安裝、配置、管理、監(jiān)控、告警。
3.2.3 挖掘分析層
數(shù)據(jù)可視化探索平臺(tái)(Tempo-DataInsight)[5]:以可視化、圖文交互的方式實(shí)現(xiàn)數(shù)據(jù)源連接、數(shù)據(jù)加工處理、數(shù)據(jù)分析和結(jié)果展現(xiàn)的過(guò)程,能夠完成數(shù)據(jù)觀(guān)察、操縱、研究、瀏覽、探索、過(guò)濾、發(fā)現(xiàn)、理解,從而有效地發(fā)現(xiàn)隱藏在信息內(nèi)部的特征和規(guī)律。
數(shù)據(jù)分析與挖掘平臺(tái)(Tempo-PlutoDM):通過(guò)科學(xué)的數(shù)據(jù)挖掘方法建立模型,并對(duì)模型進(jìn)行評(píng)估、調(diào)優(yōu),挖掘出對(duì)用戶(hù)有價(jià)值的知識(shí)成果,以可視化的方式將數(shù)據(jù)挖掘的知識(shí)結(jié)果展示給用戶(hù),從而幫助研究所從海量數(shù)據(jù)中發(fā)現(xiàn)規(guī)律、獲取商業(yè)洞察力、創(chuàng)造商業(yè)價(jià)值。
數(shù)據(jù)應(yīng)用開(kāi)發(fā)平臺(tái)(Tempo-DataAppDev):通過(guò)拖拽方式將通用構(gòu)件進(jìn)行圖形化組裝,完成數(shù)據(jù)建模、表單設(shè)計(jì)、業(yè)務(wù)邏輯開(kāi)發(fā)、系統(tǒng)調(diào)試,并且在開(kāi)發(fā)中提供數(shù)據(jù)挖掘算法、數(shù)據(jù)分析模型集成、數(shù)據(jù)可視化、高維可視化等組件,快速構(gòu)建基于Web 的研究所級(jí)數(shù)據(jù)應(yīng)用系統(tǒng),提升數(shù)據(jù)的價(jià)值發(fā)現(xiàn)與利用。
3.2.4 數(shù)據(jù)展現(xiàn)應(yīng)用層
通常以管理駕駛艙或管理看板的方式,面向企業(yè)的戰(zhàn)略、總體經(jīng)營(yíng)以及各專(zhuān)業(yè)提供多個(gè)管理駕駛艙或數(shù)據(jù)看板,將圖表化的分析數(shù)據(jù)推送給領(lǐng)導(dǎo)角色,使之比較直觀(guān)、間接地了解企業(yè)的經(jīng)營(yíng)狀態(tài)。管理駕駛艙提供多種圖表類(lèi)型,以滿(mǎn)足趨勢(shì)分析、數(shù)據(jù)對(duì)比、指標(biāo)偏離預(yù)警、構(gòu)成分析等不同類(lèi)型的分析需求,并提供數(shù)據(jù)鉆取等交互操作。
本文結(jié)合大數(shù)據(jù)技術(shù)構(gòu)建了大數(shù)據(jù)分析平臺(tái),提升了企業(yè)數(shù)據(jù)高效存儲(chǔ)與高性能處理能力,通過(guò)數(shù)據(jù)分析和挖掘提取對(duì)企業(yè)有價(jià)值的知識(shí)成果,并以可視化的方式將數(shù)據(jù)挖掘的知識(shí)結(jié)果展示給用戶(hù),從而幫助企業(yè)從海量數(shù)據(jù)中發(fā)現(xiàn)規(guī)律、獲取商業(yè)洞察力、創(chuàng)造商業(yè)價(jià)值,為以后基于大數(shù)據(jù)的信息化建設(shè)奠定了堅(jiān)實(shí)的基礎(chǔ)。