方糧教授是存儲界的老兵,老,是說他是DOIT傳媒的老朋友,他從2006年起就出席存儲峰會,將科研成果分享給社會各界;兵,他還真的是一名軍人,數(shù)據(jù)存儲峰會的唯一。

他的演講主題是《大數(shù)據(jù)體系結(jié)構(gòu):挑戰(zhàn)與機遇》。分享的是三個問題——大數(shù)據(jù)體系結(jié)構(gòu)、挑戰(zhàn)、機遇。

大數(shù)據(jù)體系結(jié)構(gòu)

大數(shù)據(jù)體系結(jié)構(gòu),大數(shù)據(jù)是來自傳統(tǒng)和新來源,新設(shè)備出現(xiàn),大的異構(gòu)數(shù)據(jù)出來后增長速度比原來快。大數(shù)據(jù)體系結(jié)構(gòu)描述了系統(tǒng)在存儲、處理、分析、應(yīng)用過程當中,處理大數(shù)據(jù)的層次設(shè)計,這是框架性的。

學術(shù)界提出很多不同類型的體系結(jié)構(gòu),也有大數(shù)據(jù)處理實際應(yīng)用的系統(tǒng),但是結(jié)構(gòu)有一點差別,很缺乏基準。學術(shù)研究上,經(jīng)常會提出參考標準,大家在技術(shù)上演進或者優(yōu)化。

大數(shù)據(jù)引起大家關(guān)注的原因,大數(shù)據(jù)能夠轉(zhuǎn)化為“真正的價值”。大數(shù)據(jù)、大價值、有挑戰(zhàn)、有機遇,這個是我表達想講的內(nèi)容。為了實現(xiàn)這個目標,提出了用于大數(shù)據(jù)處理和分析(BDPA)的五層架構(gòu)——收集、存儲、處理、分析和應(yīng)用層。目的是參照框架,在分析處理數(shù)據(jù)流的時候,為行業(yè)決策做參考。

現(xiàn)在大致介紹五層的挑戰(zhàn)與機遇,挑戰(zhàn)風險和機遇往往同時存在。五層架構(gòu)是從應(yīng)用、分析、處理、存儲、收集架構(gòu),與計算機有點像的結(jié)構(gòu)。

挑戰(zhàn)

挑戰(zhàn),大數(shù)據(jù)是源源不斷的流,它大概是有幾個特點:

大容量——數(shù)據(jù)大容量生成、傳輸和積累;

連續(xù)到達——視頻監(jiān)控、語音監(jiān)控。高清分辨率的衛(wèi)星,在環(huán)繞地球運行時拍攝的數(shù)據(jù)每天在PB量級,數(shù)據(jù)處理上也有很多的源,聲音、圖像、視頻、文字等,大部分是非結(jié)構(gòu)化數(shù)據(jù)。

多個源——數(shù)據(jù)流來自多個分布式源,并且可能是結(jié)構(gòu)化和非結(jié)構(gòu)化的。

 時變——數(shù)據(jù)流的大小,格式和到達率都會隨時間變化。

 無界流——數(shù)據(jù)有無限的數(shù)量,需要無限的內(nèi)存處理和分析這些數(shù)據(jù)。

為處理在線大數(shù)據(jù)流,以及累積的歷史數(shù)據(jù),整體BDPA解決方案應(yīng)協(xié)調(diào)以下兩種類型的功能——處理和分析:

處理方面應(yīng)用MapReduce(MR)進行處理,之前很多軟件無法處理,或者通過上千臺設(shè)備處理一個問題,各個數(shù)據(jù)盤的存儲之間要進行歸納考慮結(jié)果,這也是處理上遇到的難題。

分析,應(yīng)用不同也會有很多特定的模型算法,特定的應(yīng)用會用不同的特性,比如說在線大數(shù)據(jù)流,流媒體工具(例如Spark-Streaming)可以通過實時處理在線數(shù)據(jù)流,用于檢測有用的信息、大事件及關(guān)聯(lián)關(guān)系。對于圖形數(shù)據(jù)分析,可以使用GraphX。

基于分析梳理,在架構(gòu)中也會遇到不同的挑戰(zhàn)。分析部分主要是發(fā)現(xiàn)見解(insight)并根據(jù)數(shù)據(jù)做出決策。很難用中文概括insight包括的內(nèi)涵,見解是很多淺顯、復雜、深刻的都可以,insight在字典當中是含義非常豐富的內(nèi)容。

處理和分析兩個功能,能夠可伸縮和可靠地處理在線數(shù)據(jù)和歷史數(shù)據(jù),在線數(shù)據(jù)流占的比例不斷增加,谷歌搜索大約每分鐘200萬次(2012年),到2014年翻一番,推特每分鐘2億條(2012年),2015年4億條,2020年超過500億設(shè)備會連接到互聯(lián)網(wǎng),要求處理分析用戶的需求,2023年估計設(shè)備數(shù)量還會再增加。

比如說像全球手機量國內(nèi)每個人平均有一部手機了,原有像分析的工具用來處理大量異構(gòu)識變的數(shù)據(jù)流,分析的時候會除了實時的數(shù)據(jù)流外還要結(jié)合歷史數(shù)據(jù),因為很多的推理分析不僅是現(xiàn)在的,還會考慮到以前的數(shù)據(jù),所以會結(jié)合歷史數(shù)據(jù)才能得到一個結(jié)果,肯定要有一個對比,才能有一個結(jié)果出來。

我們知道人體的心臟,絕大部分人是在中間偏左一點,地球在太陽系的位置也是也是太陽中心的附近,這是通過大數(shù)據(jù)檢索發(fā)現(xiàn)這么一個現(xiàn)象——最重要的事情不是最中心,而是在中心附近的結(jié)論。

為此我查閱資料,現(xiàn)在有很多人是不是從魚變過來,以前書上有寫到,人體小的胚胎和魚是很像,魚的心臟在正中間,進化之后往左偏了,為什么會偏左,現(xiàn)在還沒有搞清楚。

從數(shù)學角度來看,在中心稍微有一點波動,波動幅度就會很大,在偏中心的位置從坐標來看,波動性不會太大,穩(wěn)定性會好一點,但是對于地球來說速度慢一點和快一點都會發(fā)生不可預測的結(jié)果,稍微慢一點會進到太陽系,稍微快一點會偏離軌道,任何一個后果都不可以想象。地球速度正好這么快,繞著軌道,離太陽不近不遠的地方運行,至少是目前沒有認識到這個原理。

要提結(jié)構(gòu)要有原則和特性,你根據(jù)什么原則來說這個結(jié)構(gòu),需要滿足什么樣的特性?這是提結(jié)構(gòu)之前的要求。

(1)體系結(jié)構(gòu)需要收集結(jié)構(gòu)化的,非結(jié)構(gòu)化,多源和已清洗的數(shù)據(jù),這些數(shù)據(jù)來自于各種格式,文本、圖像、軌跡空間等,需要一個收集層在底層,準備充足且高質(zhì)量的數(shù)據(jù)適用于上層的各種分析需求。

(2)體系結(jié)構(gòu)需要基本的可擴展的存儲基礎(chǔ)架構(gòu)用于歷史數(shù)據(jù)存儲和遷移的來自在線數(shù)據(jù)流的數(shù)據(jù)存儲。因此,存儲層作為第二底層,需要保證I/O性能和可擴展性。

(3)由于大規(guī)模的、持續(xù)的到達,異構(gòu)、時變和無界在線大數(shù)據(jù)流給BDPA帶來了不確定性。需要實時的和歷史數(shù)據(jù)處理層來處理從存儲中提取的聯(lián)機流入和批處理文件分析任務(wù)的層。通常處理層基于控制或調(diào)度模塊,以平衡建立在存儲之上的兩者計算范式。該層旨在提供用于海量數(shù)據(jù)流和積累的歷史大數(shù)據(jù)數(shù)據(jù)的協(xié)同編程框架,并且必須滿足分析的各種要求(例如,預測、推薦、因果、推理、識別、聚類等)。

(4)分析層需要做數(shù)據(jù)的挖掘,把大數(shù)據(jù)轉(zhuǎn)為大家知,大量的數(shù)據(jù)價值含量很低,很多大數(shù)據(jù)沒有什么用,只有分析大量的數(shù)據(jù)后會得出有用的價值。

(5)應(yīng)用層需要作為整體體系結(jié)構(gòu)分層的柔性層,實現(xiàn)來自不同行業(yè)的需求,并作為數(shù)據(jù)科學家展示系統(tǒng)的狀態(tài)結(jié)果并向下級層反饋,數(shù)據(jù)得出來的結(jié)果和人類不一樣,需要反饋和推理那一層,會不會有什么地方出差錯。人有的時候還有智能糾錯,系統(tǒng)目前的智能程度還達不到人的智能程度。

(6)系統(tǒng)的輸入包括兩種類型的數(shù)據(jù),即在線數(shù)據(jù)流數(shù)據(jù)和批處理數(shù)據(jù)。需要資源的分配和數(shù)據(jù)遷移的策略,什么數(shù)據(jù)往什么地方流,要有一個調(diào)配的機制。

(7)體系結(jié)構(gòu)的輸出,即分析結(jié)果對價值的提取和知識發(fā)現(xiàn),來自分析層,輸出時獲得的分析結(jié)果可用于情境化和可視化。

(8)該體系結(jié)構(gòu)解決一切性分析問題,而不是針對特定的問題。

五層架構(gòu)分析:

(1)收集層,比如說智能手機、微信文字圖片、快手短視頻數(shù)據(jù),每天都有大量的網(wǎng)絡(luò)數(shù)據(jù)、傳感器數(shù)據(jù),比如說污染和大氣監(jiān)測數(shù)據(jù),特別是海洋中數(shù)據(jù)非常大,還有健康數(shù)據(jù)。來源有兩個:開源的數(shù)據(jù)源和第三方數(shù)據(jù)提供商,有一些數(shù)據(jù)是政府和研究機構(gòu)公開的,另外一種是花錢買的,也就是開放和第三方提供的就是花錢和不花錢的區(qū)別,不同應(yīng)用對數(shù)據(jù)也有不同的要求。

開放數(shù)據(jù)可能是政府組織和研究實驗室或者公司免費開放,這些大數(shù)據(jù)是匿名的,不會與個人有聯(lián)系。

第三方數(shù)據(jù)提供商會通過商業(yè)安排,眾包,相當于我有一個任務(wù)在網(wǎng)上分發(fā)給個人,眾包,我理解眾包相當于是一對多,比如說把一個大的任務(wù)分解成小的任務(wù),網(wǎng)上發(fā)布之后最后結(jié)合起來就完成了。像谷歌的標注,大量的圖片靠一個人很難完成,網(wǎng)上幾百萬人參與這張圖片識別,系統(tǒng)經(jīng)過訓練之后可能下一次拿一張圖片識別的時候,識別的精度就會提高。

收集上的挑戰(zhàn)主要是多樣性、隱私、標簽、容錯,多樣性像GPS信號、文本、圖像、視頻多種多樣,對收集也是帶來很多的困難,特別是各種各樣的傳感器,還有時間的標簽可能是很復雜多維的數(shù)據(jù)。既然數(shù)據(jù)帶來方便,也會帶來隱私保護的問題,要求數(shù)據(jù)要隱私保護,在處理敏感信息,比如說用戶的位置和交易,比如說銀行存款或者體檢醫(yī)療信息比較敏感的個人信息,在隱私保護上也要做處理。

在不同的標簽上,要發(fā)現(xiàn)知識對生命學習的數(shù)據(jù)標注的比較清晰,預期訓練的結(jié)果可能會好,否則結(jié)果會比較差。像有一些圖片人都很難認出來,它是小貓或者小狗,機器識別難度更大。需要容錯減少系統(tǒng)網(wǎng)絡(luò)原因引起的缺失值帶來的錯誤。

(2)存儲層,因為有各種各樣數(shù)據(jù)來源要求可拓展分散存儲,自我管理和高度可用,提供多種模式的訪問,可恢復具有容錯的功能,這個對于存儲要求也是很高的。

存儲分布式的節(jié)點,可拓展的NAS、全閃陣列、對象存儲、分布式融合存儲,存儲融合這些技術(shù)和需求可以做配置。局部性、可拓展性、容錯、數(shù)據(jù)遷移、智能化、獨立性這些挑戰(zhàn)要滿足的話,也是很有困難的。

(3)存儲上面是處理層,肯定要進行并行計算,數(shù)據(jù)的清理、數(shù)據(jù)集成、數(shù)據(jù)融合、虛擬化等等。并行計算比如說MR和SQL服務(wù)翻譯器,相當于開發(fā)人員語言比較友好,在MR上架構(gòu)的SQL翻譯器對編程來說比較友好,否則編程比較困難。

數(shù)據(jù)清理,來自各種來源的數(shù)據(jù)通過像一些工具,把數(shù)據(jù)做一些規(guī)整化的處理,比如說可擴展,可能要共享數(shù)千臺機器,以及可用性,用戶的界面比較友好,抽象方面清潔系統(tǒng)不能太固定,要做一些靈活規(guī)則的定義,它需要抽象和不需要刻板。

數(shù)據(jù)的集成,需要做一個數(shù)據(jù)規(guī)整化,把數(shù)據(jù)進行集成,最后形成統(tǒng)一的一體化坐標,通過對坐標能夠統(tǒng)一的視覺看到這個數(shù)據(jù),比如說有一些工具用于檢測不同源的數(shù)據(jù),幫助管理員的選擇整合文本,可以找出時間線以及和這個時間的關(guān)聯(lián)關(guān)系,有一些工具幫助數(shù)據(jù)集成。數(shù)據(jù)需要統(tǒng)一的查詢檢索和分析,也要考慮數(shù)據(jù)語義,這個也是非常難。它需要提供比較方便的用戶操作強大的計算系統(tǒng)處理數(shù)據(jù)融合,用戶能夠通過管理系統(tǒng)查詢系統(tǒng)和度量工具,處理數(shù)據(jù)源的數(shù)據(jù)。關(guān)聯(lián)對標上時間坐標,有的時候差的話差別就會很大。

索引速度很快是多變量,索引不能太大會占太多的空間,處理數(shù)據(jù)也會很慢,要并行和生成的數(shù)據(jù)要實時,與數(shù)據(jù)流的速度構(gòu)建相一致。

虛擬化,比如說Docker這樣的容器,各個操作和硬件操作系統(tǒng)虛擬打包,從用戶角度來看都是看應(yīng)用系統(tǒng),但是整個系統(tǒng)都在運行,每一個容器會約束CPU、內(nèi)存,但是多個會打包起來,最重要的是可以隔離,也是為虛擬化提高效率。在編程管理方面,可能會提供一些方便,下面看到的是整個系統(tǒng),實際上是物理的一部分,但是你感覺肯定是在使用整個系統(tǒng)。處理層上的可擴展性,自動資源的調(diào)配、預測能力和故障容忍機制是面臨的挑戰(zhàn)。

(4)分析層。BDPA系統(tǒng)需要混合數(shù)據(jù)分析工具以滿足不同的用戶需求。 最早的數(shù)據(jù)MR等分析系統(tǒng) 為用戶提供了強大的不那么抽象的編程接口。 Apache Spark是一個用于大規(guī)模數(shù)據(jù)處 理和分析的快速通用引擎。它在內(nèi)存中運行程序的速度比Hadoop MR快100倍。 它很容易使用。Spark控制一組庫,例如,機器學習和流媒體、 渲染數(shù)據(jù)分析比其他系統(tǒng)容易得多。分析層面臨的挑戰(zhàn)包括多樣性,分析效率、適應(yīng)性、可插拔性,以及復雜性。

(5)應(yīng)用層,它是最高層基于前面的結(jié)構(gòu),構(gòu)造不同用戶的應(yīng)用程序,比如說物流的調(diào)度、商業(yè)情報、投資組合等,分析和預測等,這個應(yīng)用的程序輸出幫助用戶快速的做出決策,比如說像物流調(diào)度,像農(nóng)夫山泉的礦泉水在杭州生產(chǎn),它往全國各地調(diào)度的時候,有的地方會缺貨,有的地方會有堆積,根據(jù)大數(shù)據(jù)銷售的速度和運輸?shù)哪芰?,它能夠把它調(diào)配到最佳的狀態(tài),既不缺貨也不堆積,通過大數(shù)據(jù)可以進行調(diào)度。它可以綜合各種各樣的信息,能夠提供最完善的決策分析。

投資組合的決策,能夠避免風險獲得最大的效益,這也是一個投資機構(gòu)最喜歡得到的結(jié)果,如果了解這方面也是最復雜的事情,因為它沒有一個模型,其實是不可預測,但是很多人又去做預測,這個是最有意思的事情。

大數(shù)據(jù)結(jié)構(gòu)的機遇與挑戰(zhàn)

挑戰(zhàn)是兩個方面,一是這樣的結(jié)構(gòu)對于大數(shù)據(jù)應(yīng)用來說,適應(yīng)性、價值和通用性,適應(yīng)不同的模型算法調(diào)配資源,價值相當于是基于商業(yè)邏輯價值的提取,從大數(shù)據(jù)里面得到價值,而且它能夠用在多個領(lǐng)域上,這是應(yīng)用層的挑戰(zhàn),也是非常復雜的。將來車聯(lián)網(wǎng)實時從視覺數(shù)據(jù),代替人自動駕駛或者代替人感知到周圍的信息,數(shù)據(jù)量很大實時處理,像目前傳統(tǒng)的做法很難達到這個要求,所以自動駕駛應(yīng)該說是很好的理想,要真正實現(xiàn)代替人的駕駛,還是比較漫長的過程。

機遇有兩方面,一是結(jié)構(gòu)對大數(shù)據(jù)應(yīng)用帶來的機遇,這樣能夠在框架下,把大數(shù)據(jù)分析高效處理,通過對數(shù)據(jù)的挖掘得到想要的結(jié)果。

二是為軟件的開發(fā)存儲提供明確的方向,對大數(shù)據(jù)分析和處理需要什么樣的軟件模塊要有什么功能,需要完成什么樣的挑戰(zhàn),應(yīng)對什么樣的挑戰(zhàn),存儲系統(tǒng)需要什么樣的性能指標,什么樣的架構(gòu)?所以這也是對軟件和存儲是很大的促進作用,這也是結(jié)構(gòu)本身帶來的機遇。

大數(shù)據(jù)成為可持續(xù)發(fā)展的關(guān)鍵,可持續(xù)發(fā)展比如說雙碳,這個是綠色低能耗持續(xù)的發(fā)展,目前來說是基于大數(shù)據(jù)算力和數(shù)據(jù)要素,大規(guī)模的調(diào)度和流通成為未來大數(shù)據(jù)管理主要的方向,形成低碳發(fā)展的新格局,這也是大數(shù)據(jù)技術(shù)所帶來的機遇。

謝謝大家。

分享到

崔歡歡

相關(guān)推薦