數(shù)據(jù)湖(Data Lake)是一種在系統(tǒng)或存儲(chǔ)庫(kù)中以自然格式存儲(chǔ)數(shù)據(jù)的方法,它有助于以各種模式和結(jié)構(gòu)形式配置數(shù)據(jù),通常是對(duì)象塊或文件。數(shù)據(jù)湖的主要思想是對(duì)企業(yè)中的所有數(shù)據(jù)進(jìn)行統(tǒng)一存儲(chǔ),從原始數(shù)據(jù)(這意味著源系統(tǒng)數(shù)據(jù)的精確副本)轉(zhuǎn)換為用于報(bào)告、可視化、分析、機(jī)器學(xué)習(xí)等各種任務(wù)的轉(zhuǎn)換數(shù)據(jù)。
湖中的數(shù)據(jù)包括:結(jié)構(gòu)化數(shù)據(jù)從關(guān)系數(shù)據(jù)庫(kù)(行和列),半結(jié)構(gòu)化數(shù)據(jù)(CSV、XML、JSON的日志),非結(jié)構(gòu)化數(shù)據(jù)(電子郵件,文檔,PDF),二進(jìn)制數(shù)據(jù)(圖像、音頻、視頻),從而形成一個(gè)集中式數(shù)據(jù)存儲(chǔ)容納所有形式的數(shù)據(jù)。[1]
數(shù)據(jù)湖的概念,是相對(duì)于數(shù)據(jù)倉(cāng)庫(kù)的預(yù)先數(shù)據(jù)高度結(jié)構(gòu)化寫入格式(scheme on write)而言的。由于大部分?jǐn)?shù)據(jù)的價(jià)值還沒(méi)有完全明確,因此無(wú)法做到足夠的結(jié)構(gòu)化。此時(shí),就盡可能接收原始數(shù)據(jù),等到需要讀取時(shí)再按照讀取模式(scheme on read)進(jìn)行數(shù)據(jù)組織。
一、數(shù)據(jù)湖的特點(diǎn)及云端數(shù)據(jù)治理的必要性
數(shù)據(jù)湖是包含兩個(gè)特征的信息系統(tǒng):
1) 可以保存大數(shù)據(jù)的并行系統(tǒng);
2) 能夠在數(shù)據(jù)不移動(dòng)的情況下進(jìn)行計(jì)算的系統(tǒng)。
這意味著,數(shù)據(jù)本身的服務(wù)化、運(yùn)營(yíng)化被提上了日程。通過(guò)不同的轉(zhuǎn)換、清洗等數(shù)據(jù)治理體系,將原始數(shù)據(jù)最終以業(yè)務(wù)需要的模式有效輸出。
但從另一方面說(shuō),要充分利用數(shù)據(jù)湖的能力,就需要從整個(gè)IT及數(shù)據(jù)治理的角度來(lái)構(gòu)建有效的數(shù)據(jù)輸入輸出,否則極其容易出現(xiàn)“單向”數(shù)據(jù)湖,進(jìn)而演變成數(shù)據(jù)的垃圾場(chǎng)。在數(shù)據(jù)倉(cāng)庫(kù)之父Bill Inmon的專著《數(shù)據(jù)湖架構(gòu)》中,提出了通過(guò)分類數(shù)據(jù)池(pool)的模式,來(lái)構(gòu)建一個(gè)具備分析操作能力的數(shù)據(jù)湖的架構(gòu),從而達(dá)到數(shù)據(jù)的最大效用比。[2]Bill的思路沒(méi)有問(wèn)題,但如何針對(duì)各種繁雜的業(yè)務(wù)流程進(jìn)行不同分類數(shù)據(jù)池的構(gòu)建,則需要根據(jù)不同行業(yè)的特點(diǎn)來(lái)合理規(guī)劃不同數(shù)據(jù)池。也就是說(shuō),要構(gòu)建有效的數(shù)據(jù)湖架構(gòu),必須要有合理的數(shù)據(jù)治理體系。

圖 數(shù)據(jù)生命周期管理&數(shù)據(jù)安全管理
二、云端數(shù)據(jù)治理的定義
目前越來(lái)越多的企業(yè)將業(yè)務(wù)系統(tǒng)數(shù)據(jù)部署在云端,其在操作方面的新特點(diǎn),如數(shù)據(jù)的遠(yuǎn)程存儲(chǔ)和傳輸、數(shù)據(jù)安全性等,都超越了傳統(tǒng)的數(shù)據(jù)治理體系范疇,這就引出了云端數(shù)據(jù)治理的體系。
云端數(shù)據(jù)治理是以云端數(shù)據(jù)為主要治理對(duì)象,制定與云端數(shù)據(jù)戰(zhàn)略、數(shù)據(jù)管理、數(shù)據(jù)優(yōu)化、數(shù)據(jù)安全、隱私保護(hù)等相關(guān)策略,指導(dǎo)組織規(guī)劃、構(gòu)建、評(píng)估、優(yōu)化數(shù)據(jù)治理體系的活動(dòng)集合。[3]
一個(gè)完整的云端數(shù)據(jù)治流程主要圍繞如下方面實(shí)施:管理元數(shù)據(jù)、管理主數(shù)據(jù)、提高數(shù)據(jù)質(zhì)量、數(shù)據(jù)生命周期管理、數(shù)據(jù)安全管理,然后通過(guò)在不同數(shù)據(jù)池中進(jìn)行各個(gè)方面的過(guò)程實(shí)施,構(gòu)建一個(gè)有效數(shù)據(jù)湖。
“無(wú)治理不信息”,是指這里的數(shù)據(jù)要轉(zhuǎn)變?yōu)樾畔?,進(jìn)而提煉成知識(shí),必須通過(guò)數(shù)據(jù)治理,才能帶來(lái)更多的價(jià)值。

圖 數(shù)據(jù)生命周期管理中的成本考量
三、安防和AI的數(shù)據(jù)湖
3.1 安防視頻監(jiān)控系統(tǒng)的數(shù)據(jù)要求
對(duì)一套安防系統(tǒng)而言,數(shù)以萬(wàn)計(jì)的相機(jī)接入,數(shù)據(jù)洪流源源不斷流入后端云存儲(chǔ)系統(tǒng)中,導(dǎo)致如下幾個(gè)數(shù)據(jù)訴求:
1、海量多媒體數(shù)據(jù)內(nèi)容組織、檢索;具體來(lái)講,對(duì)圖像的調(diào)度時(shí)間要求≤1秒;
編解碼及整網(wǎng)傳輸延時(shí)≤300毫秒;監(jiān)控系統(tǒng)規(guī)模再大也不能影響這個(gè)指標(biāo);
多維度的內(nèi)容組織及挖掘,前端及后端智能結(jié)合,內(nèi)容大數(shù)據(jù)索引化。

圖 宇視SMV安防機(jī)器視覺(jué)戰(zhàn)略框圖
2、數(shù)據(jù)保存的安全可靠性
圖像數(shù)據(jù)需要專業(yè)存儲(chǔ)設(shè)備存儲(chǔ)并用RAID,甚至多節(jié)點(diǎn)糾刪卷進(jìn)行保護(hù);讀寫分離體系,數(shù)據(jù)存儲(chǔ)永遠(yuǎn)放在第一位保證,無(wú)論錄像還是圖片;
優(yōu)化的數(shù)據(jù)組織方式,更懂存儲(chǔ)特質(zhì)的數(shù)據(jù)業(yè)務(wù)設(shè)計(jì),最大化挖掘不同存儲(chǔ)介質(zhì)性能;
端到端接入授權(quán)、全鏈路數(shù)據(jù)加密保障的安全保障,無(wú)論是中間網(wǎng)絡(luò)截獲還是存儲(chǔ)介質(zhì)暴露,均無(wú)法直接恢復(fù)出有效數(shù)據(jù)。
3.2 AI帶來(lái)的數(shù)據(jù)存儲(chǔ)挑戰(zhàn)
一方面,存儲(chǔ)對(duì)象由最早單純的原始視頻變到了視頻、圖片、AI分析后的結(jié)構(gòu)化半結(jié)構(gòu)化數(shù)據(jù)。對(duì)象的改變,使得存儲(chǔ)系統(tǒng)要更多的考慮,如何更好的去適配多樣化的存儲(chǔ)對(duì)象?如何最高效的去存儲(chǔ)各類數(shù)據(jù),并提供可靠的保護(hù)?海量小文件混合存儲(chǔ)的時(shí)候,如何避免傳統(tǒng)存儲(chǔ)中性能的大打折扣?
另一方面,存儲(chǔ)的寫讀模型也發(fā)生了大變化。原先的原始視頻存入存儲(chǔ)后基本不會(huì)被調(diào)閱,寫讀模型基本為10:1,但AI技術(shù)的出現(xiàn)徹底激活了這些數(shù)據(jù),存入的視頻可以被高性能分析服務(wù)器提取進(jìn)行人物分析、車型分析、結(jié)構(gòu)化分析,寫讀模型也變成了1:1甚至是1:N。在這樣的寫讀模型下,對(duì)存儲(chǔ)設(shè)備也提出了更高要求,存儲(chǔ)不再是單單考慮如何存的更快存的更多,而是要考慮如何與AI業(yè)務(wù)融合,最優(yōu)結(jié)合。
而當(dāng)AI技術(shù)對(duì)數(shù)據(jù)價(jià)值進(jìn)行提煉后,提煉出來(lái)的數(shù)據(jù)價(jià)值就發(fā)生了變化。例如:可能原始視頻只需要保留30天,但是經(jīng)過(guò)結(jié)構(gòu)化分析后的涉案嫌疑人圖片的重要性就不言而喻了,需要永久保存。所以當(dāng)一套存儲(chǔ)系統(tǒng)中存在這樣那樣不同重要程度的數(shù)據(jù)時(shí),完善的生命周期管理體系、如何來(lái)區(qū)分?jǐn)?shù)據(jù)的重要性,并提供有層次的保護(hù)技術(shù)就變得尤為重要。
當(dāng)上面的種種挑戰(zhàn)出現(xiàn)后,我們還將直面一個(gè)現(xiàn)實(shí)問(wèn)題:在爆炸量的數(shù)據(jù)、超高的性能要求和翻倍的成本面前,我們?nèi)绾稳プ非笮阅苋萘康淖顑?yōu)配比,找到最低TCO的方案,實(shí)現(xiàn)最優(yōu)解。
這一系列的變化,促使安防數(shù)據(jù)已經(jīng)演變成了一個(gè)新的數(shù)據(jù)湖,必須借助一系列的數(shù)據(jù)治理手段,才能推動(dòng)數(shù)據(jù)的有效利用。

圖 數(shù)據(jù)在不同存儲(chǔ)介質(zhì)之間的流轉(zhuǎn)模式
四、宇視云存儲(chǔ)的數(shù)據(jù)湖解決方案
2016年,宇視發(fā)布SMV安防機(jī)器視覺(jué)戰(zhàn)略,其中很重要的一點(diǎn)就是充分認(rèn)識(shí)AI對(duì)于安防數(shù)據(jù)的變革訴求。以視圖服務(wù)化體系模式,在宇視云存儲(chǔ)中通過(guò)構(gòu)建“視頻原始數(shù)據(jù)池”、“圖片原始數(shù)據(jù)池”、“半結(jié)構(gòu)化數(shù)據(jù)池”、“結(jié)構(gòu)化數(shù)據(jù)池”、“歸檔數(shù)據(jù)池”等多個(gè)數(shù)據(jù)池的聯(lián)動(dòng),并根據(jù)數(shù)據(jù)特點(diǎn)引入SSD、硬盤、磁帶庫(kù)等不同存儲(chǔ)介質(zhì)來(lái)適配下圖中數(shù)據(jù)訪問(wèn)模型,在統(tǒng)一的數(shù)據(jù)治理框架下,通過(guò)安防標(biāo)準(zhǔn)和TCO的統(tǒng)一考量體系,借助不同介質(zhì)特點(diǎn),控制數(shù)據(jù)的流轉(zhuǎn),達(dá)到數(shù)據(jù)生命周期管理的最佳實(shí)踐,真正構(gòu)建出高效有用的安防數(shù)據(jù)湖。

圖 數(shù)據(jù)分割對(duì)安全的輔助作用

4.1 原始數(shù)據(jù)池的治理
主數(shù)據(jù):對(duì)于原始視頻或圖片來(lái)說(shuō),數(shù)據(jù)本身即是主數(shù)據(jù);
元數(shù)據(jù):對(duì)于視頻監(jiān)控系統(tǒng)來(lái)說(shuō),視頻或圖片對(duì)時(shí)間性有天生的訴求,以時(shí)間作為元數(shù)據(jù)進(jìn)行主數(shù)據(jù)的管理,能達(dá)到便捷調(diào)取“一手?jǐn)?shù)據(jù)”的目的,如視頻回放、圖片瀏覽;
數(shù)據(jù)生命周期管理:安防原始數(shù)據(jù),嚴(yán)格按照各個(gè)部門體系要求的留存期(如相關(guān)部門要求90天)進(jìn)行生命周期管理,超過(guò)留存期則需要?jiǎng)h除老的視頻或圖片;
TCO考量:從數(shù)據(jù)使用頻率來(lái)看,依然有明顯冷熱區(qū)別,而且有非常明顯的時(shí)間相關(guān)性,這樣就可以靈活控制原始數(shù)據(jù)在帶電內(nèi)存緩存層、SSD加速層、硬盤主存儲(chǔ)空間層、磁帶庫(kù)歸檔存儲(chǔ)層之間流轉(zhuǎn),最大化TCO應(yīng)用。
數(shù)據(jù)安全控制,重點(diǎn)包括:
自定義的從源頭對(duì)圖像進(jìn)行保護(hù),從非法途徑獲取原始視頻都是馬賽克效果,視頻只能在平臺(tái)內(nèi)正常查看;
離線下載圖像專人專用,專門密鑰保護(hù);通過(guò)和身份水印結(jié)合,即便用手機(jī)等設(shè)備翻拍,也能夠追溯泄漏途徑;
不基于文件進(jìn)行存儲(chǔ)組織,自定義數(shù)據(jù)節(jié)點(diǎn)內(nèi)及節(jié)點(diǎn)間離散策略、存儲(chǔ)空間多節(jié)點(diǎn)拉通池化、數(shù)據(jù)塊級(jí)格式保護(hù),非平臺(tái)內(nèi)操作,數(shù)據(jù)無(wú)跡可尋。

圖 宇視云存儲(chǔ)架構(gòu)框圖
4.2 半結(jié)構(gòu)化數(shù)據(jù)池的建設(shè)
主數(shù)據(jù):對(duì)安防監(jiān)控系統(tǒng)來(lái)說(shuō),半結(jié)構(gòu)化數(shù)據(jù)主要是一種數(shù)據(jù)轉(zhuǎn)換的中間過(guò)程,比如對(duì)一段視頻識(shí)別出來(lái)的有相關(guān)物體存在的片段視頻文件,以及相關(guān)運(yùn)動(dòng)信息文本、車輛圖片中摳取的駕駛員信息或車牌信息及其相關(guān)區(qū)域小圖、識(shí)別算法輸出的特質(zhì)碼數(shù)據(jù)等等。
元數(shù)據(jù):根據(jù)時(shí)間,組織車牌、運(yùn)動(dòng)特征與相關(guān)文件、圖片的對(duì)應(yīng)關(guān)系,但這個(gè)關(guān)系本身也包含很多無(wú)模式的數(shù)據(jù)列,最終形成時(shí)空數(shù)據(jù)庫(kù)進(jìn)行元數(shù)據(jù)管理,元數(shù)據(jù)量級(jí)往往不是特別多,數(shù)據(jù)量一般在TB級(jí)以內(nèi),此外對(duì)于元數(shù)據(jù)本身還有一個(gè)數(shù)據(jù)清洗的過(guò)程,如基于識(shí)別算法的數(shù)據(jù)可以將識(shí)別率比較差的數(shù)據(jù)進(jìn)行排除。
數(shù)據(jù)生命周期管理:這種業(yè)務(wù)中,元數(shù)據(jù)的生命周期與部分主數(shù)據(jù)不一定一致,因?yàn)檫@里的元數(shù)據(jù)還有進(jìn)一步歷史深度分析的可能,而部分如短視頻、圖片一般超過(guò)1年就可做失效處理,當(dāng)然也有部分需要長(zhǎng)期保存的短視頻或圖片,但涉及面也不是很多,有的話直接歸檔到歸檔數(shù)據(jù)池即可,由于業(yè)務(wù)本身往往集中在1年內(nèi),超過(guò)1年的元數(shù)據(jù)可以統(tǒng)一歸檔到歸檔數(shù)據(jù)池中,用于后續(xù)可能的數(shù)據(jù)挖掘需求,如此達(dá)到更合理的成本控制目的。

圖 TCO考量速率表
TCO考量:根據(jù)訪問(wèn)速率要求,一般如上表設(shè)計(jì)
數(shù)據(jù)安全控制:通過(guò)元數(shù)據(jù)與主數(shù)據(jù)的分離存儲(chǔ),主數(shù)據(jù)存儲(chǔ)統(tǒng)一到原始數(shù)據(jù)池的存儲(chǔ)模式,利用數(shù)據(jù)打散及自定義塊分布,極大增加了數(shù)據(jù)的獨(dú)立恢復(fù)難度;
對(duì)于元數(shù)據(jù)來(lái)說(shuō),數(shù)據(jù)訪問(wèn)會(huì)進(jìn)行嚴(yán)格的平臺(tái)用戶認(rèn)證,此外特征碼本身就是一種數(shù)學(xué)運(yùn)算的中間過(guò)程記錄,必須輔以獨(dú)立的算法過(guò)程才有解析的可能,而算法本身并不會(huì)記錄,結(jié)合宇視特有的多算法聯(lián)動(dòng)框架,不同特征碼的生成并不會(huì)歸一到同一種算法。
4.3 結(jié)構(gòu)化數(shù)據(jù)池
結(jié)構(gòu)化的數(shù)據(jù)是指可以使用關(guān)系型數(shù)據(jù)庫(kù)表示和存儲(chǔ),表現(xiàn)為二維形式的數(shù)據(jù)。一般特點(diǎn)是:數(shù)據(jù)以行為單位,一行數(shù)據(jù)表示一個(gè)實(shí)體的信息,每一行數(shù)據(jù)的屬性是相同的。這個(gè)在安防視頻監(jiān)控業(yè)務(wù)中,基本都是對(duì)設(shè)備、業(yè)務(wù)、流程等的過(guò)程建模,形成的設(shè)備配置、業(yè)務(wù)關(guān)系等數(shù)據(jù),一般量級(jí)都比較小,這部分基本使用服務(wù)器或計(jì)算板的集群支持即可。
結(jié)構(gòu)化數(shù)據(jù)池會(huì)定期進(jìn)行數(shù)據(jù)備份,類似IT企業(yè)中增量、全量策略相結(jié)合的模式,可以將數(shù)據(jù)歸檔到“歸檔數(shù)據(jù)池”。
4.4 歸檔數(shù)據(jù)池
歸檔數(shù)據(jù)池構(gòu)建在磁帶庫(kù)的存儲(chǔ)介質(zhì)之上,借助結(jié)構(gòu)化數(shù)據(jù)池來(lái)保存流入歸檔數(shù)據(jù)池中不同種類數(shù)據(jù)的索引信息。歸檔數(shù)據(jù)池為歸檔業(yè)務(wù)服務(wù),當(dāng)前主要包括視頻圖片池冷數(shù)據(jù)的歸檔、非結(jié)構(gòu)化數(shù)據(jù)池中元數(shù)據(jù)歸檔、結(jié)構(gòu)化數(shù)據(jù)池的定期備份歸檔。
歸檔數(shù)據(jù)池本身也有生命周期,不同的數(shù)據(jù)種類留存期也不同。對(duì)于原始視頻池的冷數(shù)據(jù),其依然有固定的最長(zhǎng)留存期,超過(guò)即進(jìn)行最老刪除;而對(duì)于非結(jié)構(gòu)化池元數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)池的備份,則視配置空間而定,當(dāng)歸檔數(shù)據(jù)池依然有可用空間,則均不會(huì)進(jìn)行老數(shù)據(jù)的退化,直到無(wú)可用空間時(shí)才進(jìn)行最老數(shù)據(jù)的刪除。
4.5 數(shù)據(jù)池間數(shù)據(jù)的流轉(zhuǎn)
至此,我們?cè)O(shè)計(jì)了原始數(shù)據(jù)池、半結(jié)構(gòu)化數(shù)據(jù)池、結(jié)構(gòu)化數(shù)據(jù)池、歸檔數(shù)據(jù)池。通過(guò)對(duì)原始數(shù)據(jù)池的智能分析識(shí)別,構(gòu)建了多媒體的半結(jié)構(gòu)化數(shù)據(jù)池;為支持更有效的業(yè)務(wù)應(yīng)用,半結(jié)構(gòu)化數(shù)據(jù)池自身會(huì)進(jìn)一步進(jìn)行分析和清洗,進(jìn)而提升業(yè)務(wù)的靶向性,從而滿足業(yè)務(wù)數(shù)據(jù)建模的需要,構(gòu)建業(yè)務(wù)結(jié)構(gòu)化數(shù)據(jù)。此外需要強(qiáng)調(diào)的是,這幾個(gè)數(shù)據(jù)池都是邏輯上的業(yè)務(wù)區(qū)分,并不要求嚴(yán)格意義上的介質(zhì)分離建設(shè),如半結(jié)構(gòu)化形成的短視頻/圖片依然可以使用原始數(shù)據(jù)池的內(nèi)容,僅僅形成無(wú)模式數(shù)據(jù)存儲(chǔ)的元數(shù)據(jù)即可,這樣能達(dá)到整個(gè)云存儲(chǔ)系統(tǒng)中數(shù)據(jù)流轉(zhuǎn)的高效性。
歸檔數(shù)據(jù)池為整個(gè)數(shù)據(jù)湖提供了數(shù)據(jù)歸檔等長(zhǎng)期保存服務(wù),在數(shù)據(jù)生命周期管理以及TCO管理方面提供了一種權(quán)衡實(shí)現(xiàn),兼顧了業(yè)務(wù)的實(shí)時(shí)性和投入成本的最優(yōu)化。

圖 數(shù)據(jù)湖中不同數(shù)據(jù)池間的數(shù)據(jù)轉(zhuǎn)換
五、總結(jié)
宇視云存儲(chǔ)通過(guò)服務(wù)化的體系建設(shè),支撐了安防業(yè)務(wù)中多種多樣的數(shù)據(jù)承載,正是基于云端數(shù)據(jù)治理的框架,最終達(dá)到了數(shù)據(jù)湖的高效流轉(zhuǎn)。
參考文獻(xiàn)
[1]https://en.wikipedia.org/wiki/Data_lake
[2][美]Bill Inmon,吳文磊 譯,數(shù)據(jù)湖架構(gòu),人民郵電出版社,2017-04-01
[3]程廣明,李堯,劉小茵,云端數(shù)據(jù)治理定義解析,科技創(chuàng)新導(dǎo)報(bào),2017年16期