韋廣昊,韓春花,田先德,楊錦坤,苗慶生
國(guó)家海洋信息中心 天津 300171
海洋大數(shù)據(jù)管理前端銜接數(shù)據(jù)感知、采集與傳輸,擔(dān)負(fù)著海洋大數(shù)據(jù)有機(jī)整合、統(tǒng)籌管理、挖掘分析和共享服務(wù),其后端延伸支撐各類海洋信息應(yīng)用服務(wù)的高效穩(wěn)定運(yùn)行[1],是海洋數(shù)據(jù)應(yīng)用的核心基礎(chǔ)。近年來(lái),隨著我國(guó)海洋觀測(cè)調(diào)查對(duì)象多樣化、觀測(cè)方式多源化、觀測(cè)儀器高精度、高分辨率和自動(dòng)化,以及站點(diǎn)布設(shè)密度加大,使得海洋數(shù)據(jù)呈現(xiàn)出爆棚式增長(zhǎng),傳統(tǒng)海洋數(shù)據(jù)管理方式的缺陷日益凸顯。另一方面,國(guó)家提出了將數(shù)據(jù)資產(chǎn)作為生產(chǎn)要素納入市場(chǎng)經(jīng)濟(jì)流通的戰(zhàn)略。管好用好多源異構(gòu)海量海洋數(shù)據(jù),充分釋放海洋數(shù)據(jù)紅利,作為數(shù)據(jù)載體和驅(qū)動(dòng)力量,海洋大數(shù)據(jù)平臺(tái)框架和存儲(chǔ)策略等內(nèi)容的設(shè)計(jì),是影響整體運(yùn)行效果好壞的關(guān)鍵因素。因此,本文在分類分層海洋大數(shù)據(jù)資源規(guī)劃研究基礎(chǔ)上,圍繞大數(shù)據(jù)平臺(tái)框架、數(shù)據(jù)計(jì)算存儲(chǔ)架構(gòu)和策略等技術(shù)發(fā)展現(xiàn)狀,結(jié)合海洋綜合數(shù)據(jù)庫(kù)關(guān)鍵技術(shù)攻關(guān)與應(yīng)用實(shí)踐結(jié)果,簡(jiǎn)要介紹了海洋大數(shù)據(jù)平臺(tái)搭建、存儲(chǔ)管理的設(shè)計(jì)思路和模型建立,以及數(shù)據(jù)庫(kù)實(shí)體構(gòu)建與管理方案等內(nèi)容。
大數(shù)據(jù)存儲(chǔ)管理與數(shù)據(jù)的自身特征及采集應(yīng)用特性等息息相關(guān),是大數(shù)據(jù)平臺(tái)不可分割的有機(jī)整體且環(huán)環(huán)相扣。近年來(lái),隨著大數(shù)據(jù)技術(shù)的不斷發(fā)展,大數(shù)據(jù)生態(tài)已經(jīng)趨于成熟,相繼推出了許多生態(tài)環(huán)境以應(yīng)對(duì)各異的數(shù)據(jù)應(yīng)用需求。中國(guó)信息通信院發(fā)布的《大數(shù)據(jù)白皮書 (2016年)》提出,大數(shù)據(jù)架構(gòu)可以劃分為信息交互通信、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)計(jì)算分析、資料管理和安全隱私等層次。
圖1 大數(shù)據(jù)關(guān)鍵技術(shù)組成
大數(shù)據(jù)存儲(chǔ)架構(gòu)主要包括分布式文件系統(tǒng)、分布式數(shù)據(jù)庫(kù)和大規(guī)模并行數(shù)據(jù)庫(kù)數(shù)據(jù)。分布式文件系統(tǒng)典型代表HDFS(Hadoop Distributed File System)是高度容錯(cuò)、高吞吐量的存儲(chǔ)系統(tǒng),適合大規(guī)模數(shù)據(jù)集上的應(yīng)用,缺點(diǎn)是不支持隨機(jī)修改,查詢效率低,對(duì)小文件支持不友好。分布式數(shù)據(jù)庫(kù)典型代表HBASE(Hadoop Database)是一個(gè)分布式面向列的數(shù)據(jù)庫(kù),構(gòu)建于HDFS之上,能夠支持海量結(jié)構(gòu)化數(shù)據(jù)的高讀寫場(chǎng)景。大規(guī)模并行數(shù)據(jù)庫(kù) (Massively Parallel Processing Database,MPPDB)具備強(qiáng)大的并行數(shù)據(jù)計(jì)算能力和海量數(shù)據(jù)存儲(chǔ)能力,能夠很好地支持多層嵌套等復(fù)雜SQL查詢,對(duì)TPS級(jí)結(jié)構(gòu)化數(shù)據(jù)進(jìn)行計(jì)算分析,能在很短時(shí)間內(nèi)能得出結(jié)果。與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)相比,MPPDB在數(shù)據(jù)處理方面,具有采用分布式架構(gòu)、處理數(shù)據(jù)量大、更大的I/O能力、擴(kuò)展能力好、采用列式存儲(chǔ)、節(jié)約存儲(chǔ)空間等優(yōu)勢(shì)[2]。
為解決大規(guī)模大數(shù)據(jù)計(jì)算的實(shí)際需要,大數(shù)據(jù)計(jì)算架構(gòu)也在不斷發(fā)展,主要包括批處理架構(gòu)、流處理架構(gòu)和批流混合架構(gòu)等[3]。
批處理 (Batching Processing)操作大容量靜態(tài)數(shù)據(jù)集,這些數(shù)據(jù)通常符合有界、持久、大量等特征。批處理操作定期讀入大批量數(shù)據(jù),然后完成相應(yīng)業(yè)務(wù)處理并進(jìn)行歸檔,要求在計(jì)算進(jìn)行過(guò)程中數(shù)據(jù)維持自己的狀態(tài)。例如在計(jì)算總值和平均值時(shí),必須將數(shù)據(jù)作為一個(gè)整體進(jìn)行處理,而不能視作多條記錄的集合。批處理嚴(yán)重依賴持久存儲(chǔ),每個(gè)任務(wù)需要多次執(zhí)行讀取和寫入操作,因此速度相對(duì)較慢,計(jì)算有可能需要幾小時(shí)、幾天甚至是幾周的時(shí)間。但磁盤空間通常是服務(wù)器上豐富的資源,因此,能夠處理大規(guī)模數(shù)據(jù)集。Hadoop就是一種專用于批處理的處理架構(gòu),MapReduce是Hadoop的原生批處理引擎,而Spark是基于MapReduce的優(yōu)化,是一種基于內(nèi)存的批處理計(jì)算引擎。
流處理 (Streaming Processing)可用于處理源源不斷的消息的流數(shù)據(jù)處理,并將處理之后的結(jié)果保存到持久化介質(zhì)中,也可以作為一個(gè)通用的分布式架構(gòu)使用,從而解決批處理延遲大、響應(yīng)緩慢、運(yùn)維復(fù)雜等問(wèn)題[4]。Storm是一種流式處理架構(gòu)的典型代表,其具備分布式、運(yùn)維簡(jiǎn)單、高度容錯(cuò)、無(wú)數(shù)據(jù)丟失和多語(yǔ)言支持等優(yōu)點(diǎn)。近年來(lái),Storm陸續(xù)添加了序列化的架構(gòu)、事務(wù)性拓?fù)渲С趾偷讓酉C(jī)制等重大新特性,并且集成了越來(lái)越多的組件庫(kù),提升了與現(xiàn)有系統(tǒng)的協(xié)作能力。另外,Spark的流處理能力則是由Spark Streaming組件提供,該組件引入了微批次 (Micro-Batch)技術(shù),即把一小段時(shí)間內(nèi)的接入數(shù)據(jù)作為一個(gè)批次來(lái)處理。
隨著大數(shù)據(jù)應(yīng)用的進(jìn)一步發(fā)展,單純的批處理與單純的流處理架構(gòu)無(wú)法完全滿足數(shù)據(jù)處理分析需求,由此,也就產(chǎn)生了批處理和流處理結(jié)合的混合處理架構(gòu)。批流混合處理架構(gòu)主要有Lambda、Kappa、Flink和Spark架構(gòu)等[5]。
海洋數(shù)據(jù)具有多源異構(gòu)多模態(tài)的特點(diǎn),導(dǎo)致海洋數(shù)據(jù)存儲(chǔ)和應(yīng)用情況比較復(fù)雜,且許多業(yè)務(wù)場(chǎng)景需要海量結(jié)構(gòu)化數(shù)據(jù)計(jì)算和文件分析同時(shí)進(jìn)行。結(jié)合海洋數(shù)據(jù)的匯集更新、存儲(chǔ)管理、處理加工、共享服務(wù)等業(yè)務(wù)實(shí)際需求,并從平臺(tái)技術(shù)的成熟度、適用性和易用性等方面考慮,在云計(jì)算解決方案基礎(chǔ)上,設(shè)計(jì)構(gòu)建了MPP+Hadoop混搭的海洋大數(shù)據(jù)平臺(tái)。綜合利用傳統(tǒng)數(shù)據(jù)庫(kù)集群和大規(guī)模并行處理MPP集群,為結(jié)構(gòu)化海量數(shù)據(jù)提供了一個(gè)可擴(kuò)展、高效、穩(wěn)定的存儲(chǔ)計(jì)算環(huán)境。同時(shí),利用Hadoop2.0分布式文件系統(tǒng) (HDFS),實(shí)現(xiàn)非結(jié)構(gòu)化和半結(jié)構(gòu)化文件的高效存儲(chǔ),基于Spark內(nèi)存迭代式計(jì)算引擎來(lái)滿足海洋大數(shù)據(jù)分析應(yīng)用需求。海洋大數(shù)據(jù)平臺(tái)架構(gòu)如圖2所示。
圖2 海洋大數(shù)據(jù)平臺(tái)架構(gòu)
海洋大數(shù)據(jù)平臺(tái)主要由海洋數(shù)據(jù)采集更新、存儲(chǔ)管理、處理分析、數(shù)據(jù)服務(wù)層和系統(tǒng)管理等層次組成。數(shù)據(jù)源層主要針對(duì)全球立體觀測(cè)、專項(xiàng)調(diào)查、極地大洋科考、海洋綜合管理、海洋衛(wèi)星遙感調(diào)查、國(guó)際交換合作、互聯(lián)網(wǎng)獲取和用戶行為等數(shù)據(jù)源,開展數(shù)據(jù)的采集、解譯、清洗,并根據(jù)數(shù)據(jù)特性進(jìn)行分類組織和加載。海洋大數(shù)據(jù)存儲(chǔ)管理層主要由事務(wù)型數(shù)據(jù)庫(kù)系統(tǒng)、MPP數(shù)據(jù)庫(kù)系統(tǒng)和Hadoop分布式文件系統(tǒng) (HDFS)組成。事務(wù)型數(shù)據(jù)庫(kù)主要存放空間矢量數(shù)據(jù)、原始數(shù)據(jù)、基礎(chǔ)數(shù)據(jù)、元數(shù)據(jù)和系統(tǒng)數(shù)據(jù)等;MPP數(shù)據(jù)庫(kù)主要存儲(chǔ)結(jié)構(gòu)化的要素?cái)?shù)據(jù)和網(wǎng)格數(shù)據(jù)等;HDFS主要存放非結(jié)構(gòu)化/半結(jié)構(gòu)化的文檔、圖像、影像、音視頻文件、歸檔日志等。依托事務(wù)處理引擎、時(shí)間序列引擎、空間數(shù)據(jù)引擎和MPP計(jì)算引擎,以及不確定性分析、質(zhì)量評(píng)估、融合訂正、匯總統(tǒng)計(jì)等功能組件,實(shí)現(xiàn)各類結(jié)構(gòu)化業(yè)務(wù)數(shù)據(jù)的查詢檢索、處理評(píng)估和調(diào)度更新;同時(shí),依托基于內(nèi)存的迭代式計(jì)算引擎,結(jié)合大數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等算法模型,實(shí)現(xiàn)海量數(shù)據(jù)的智能分析。提供用戶角色授權(quán)管理和統(tǒng)一認(rèn)證,對(duì)操作和方法運(yùn)行進(jìn)行日志記錄;依托消息隊(duì)列對(duì)提交的任務(wù)進(jìn)行任務(wù)調(diào)度;對(duì)CPU/GPU等硬件計(jì)算資源負(fù)載進(jìn)行負(fù)載管理;提供數(shù)據(jù)安全防護(hù)和備份功能。統(tǒng)一服務(wù)平臺(tái)主要包括基于SQL的多引擎數(shù)據(jù)調(diào)度交換功能和數(shù)據(jù)訪問(wèn)接口功能。海洋大數(shù)據(jù)平臺(tái)在多源數(shù)據(jù)采集、分類存儲(chǔ)和處理分析后,面向決策支撐、公益服務(wù)和開放創(chuàng)新等方面,提供統(tǒng)一的數(shù)據(jù)資源、地圖資源、模型方法和成果產(chǎn)品等海洋大數(shù)據(jù)應(yīng)用服用。
在海洋數(shù)據(jù)爆棚式增長(zhǎng)的今天,單一架構(gòu)的存儲(chǔ)處理系統(tǒng)已經(jīng)無(wú)法滿足海洋業(yè)務(wù)需要。本節(jié)將結(jié)合實(shí)際海洋數(shù)據(jù)及業(yè)務(wù)需求,討論關(guān)于海洋大數(shù)據(jù)資源池架構(gòu)組成、數(shù)據(jù)流轉(zhuǎn),以及不同類型數(shù)據(jù)存儲(chǔ)方式等內(nèi)容。目前市場(chǎng)主流數(shù)據(jù)庫(kù)技術(shù)包括傳統(tǒng)的用于事務(wù)處理的OldSQL、適用于數(shù)據(jù)分析應(yīng)用的NewSQL和適用于互聯(lián)網(wǎng)應(yīng)用的NoSQL。其中,OldSQL應(yīng)用的典型代表為事務(wù)型數(shù)據(jù)庫(kù)Oracle;NewSQL應(yīng)用的典型代表為大規(guī)模分布式并行數(shù)據(jù)庫(kù) (MPP);NoSQL應(yīng)用的典型代表為Hadoop HDFS[6]。傳統(tǒng)海洋數(shù)據(jù)庫(kù)一般采用 “一種架構(gòu)支持多類應(yīng)用”的模式,如 “十二五”期間大洋數(shù)據(jù)管理與共享平臺(tái)就采用了Oracle數(shù)據(jù)庫(kù)開展建設(shè)。隨著海洋數(shù)據(jù)類型和數(shù)據(jù)量的快速增長(zhǎng),采用單一架構(gòu)建設(shè)的模式已經(jīng)無(wú)法滿足海量的結(jié)構(gòu)化和非結(jié)構(gòu)化海洋數(shù)據(jù)的存儲(chǔ)管理、復(fù)雜分析、關(guān)聯(lián)查詢、實(shí)時(shí)性處理和控制建設(shè)成本等多方面的要求。為解決這種突出的矛盾,基于大數(shù)據(jù)技術(shù)設(shè)計(jì)規(guī)劃了 “OldSQL+NewSQL+NoSQL”的混搭架構(gòu),采用 “多種架構(gòu)支持多類應(yīng)用”的綜合模式來(lái)構(gòu)建海洋資源池,如圖3所示。
圖3 海洋大數(shù)據(jù)存儲(chǔ)架構(gòu)
在海洋大數(shù)據(jù)平臺(tái)中,事務(wù)型數(shù)據(jù)庫(kù)以數(shù)據(jù)庫(kù)表為管理對(duì)象,通過(guò)事務(wù)、時(shí)序和空間等引擎,采用高可用解決方案構(gòu)建原始數(shù)據(jù)庫(kù)、基礎(chǔ)數(shù)據(jù)庫(kù)、空間矢量數(shù)據(jù)庫(kù)和系統(tǒng)日志庫(kù)等,存儲(chǔ)管理海洋環(huán)境、海洋地理和海洋專題等領(lǐng)域海洋數(shù)據(jù)和信息產(chǎn)品,記錄數(shù)據(jù)庫(kù)操作信息。
原始數(shù)據(jù)庫(kù)采用數(shù)據(jù)文件存儲(chǔ)、數(shù)據(jù)庫(kù)文件目錄管理和元數(shù)據(jù)導(dǎo)航等方式,對(duì)經(jīng)過(guò)整理、歸檔的各類原始海洋數(shù)據(jù)進(jìn)行存儲(chǔ)和管理。原始數(shù)據(jù)庫(kù)首先按照海洋業(yè)務(wù)化觀測(cè)、海洋調(diào)查、國(guó)際合作與交換和購(gòu)置等不同來(lái)源渠道進(jìn)行劃分,其次按照海洋水文、海洋氣象、海洋化學(xué)、海洋生物、海洋底質(zhì)、地形地貌、基礎(chǔ)地理和遙感等學(xué)科/領(lǐng)域建立元數(shù)據(jù)庫(kù),以及元數(shù)據(jù)記錄與數(shù)據(jù)文件實(shí)體的對(duì)應(yīng)關(guān)系,實(shí)現(xiàn)基于元數(shù)據(jù)庫(kù)的海洋原始數(shù)據(jù)管理。
基礎(chǔ)數(shù)據(jù)庫(kù)主要存儲(chǔ)經(jīng)標(biāo)準(zhǔn)處理后的海洋環(huán)境數(shù)據(jù)。首先按照海洋業(yè)務(wù)化觀測(cè)、海洋專項(xiàng)調(diào)查、極地大洋科考和國(guó)際合作與交換等業(yè)務(wù)領(lǐng)域進(jìn)行劃分。在此基礎(chǔ)上,海洋業(yè)務(wù)化觀測(cè)按照海洋站、浮標(biāo)、雷達(dá)、志愿船和斷面等平臺(tái)類型建設(shè)數(shù)據(jù)庫(kù),最終以分鐘、整點(diǎn)、正點(diǎn)和月報(bào)等格式構(gòu)建對(duì)應(yīng)數(shù)據(jù)庫(kù)表和字段。海洋專項(xiàng)調(diào)查主要按照學(xué)科建設(shè)數(shù)據(jù)庫(kù),海洋水文根據(jù)調(diào)查儀器類型建設(shè)相關(guān)數(shù)據(jù)庫(kù)表,海洋氣象按照高空、海面結(jié)合走航/大面觀測(cè)方式建設(shè)數(shù)據(jù)庫(kù)表,海洋化學(xué)按照水環(huán)境、大氣化學(xué)和放射性物質(zhì)等調(diào)度任務(wù)建設(shè)數(shù)據(jù)庫(kù)表,海洋生物按照海洋植物類、動(dòng)物類和生產(chǎn)力建設(shè)數(shù)據(jù)庫(kù)表,海洋底質(zhì)根據(jù)底質(zhì)數(shù)據(jù)類型建設(shè)數(shù)據(jù)庫(kù)表,海洋地球物理按照重力、磁力和海底地震等建設(shè)數(shù)據(jù)庫(kù)表,地形地貌建設(shè)多波束和單波束水深數(shù)據(jù)庫(kù),海洋物理按照聲學(xué)和光學(xué)建設(shè)庫(kù)表。極地大洋科考海洋水文氣象等環(huán)境數(shù)據(jù)庫(kù)參照海洋專項(xiàng)調(diào)查相應(yīng)庫(kù)表建設(shè),根據(jù)大洋礦產(chǎn)類型建設(shè)大洋礦產(chǎn)數(shù)據(jù)庫(kù)表,按照極地冰川、極地天文等建設(shè)極地?cái)?shù)據(jù)庫(kù)表。國(guó)際合作與交換主要按照國(guó)際組織和計(jì)劃建立數(shù)據(jù)庫(kù)表。
空間矢量庫(kù)主要包括系列比例尺海洋基礎(chǔ)地理數(shù)據(jù)庫(kù)、沿岸及海島的高分辨率衛(wèi)星遙感影像數(shù)據(jù)庫(kù)、海洋水色衛(wèi)星遙感資料數(shù)據(jù)庫(kù)、海洋動(dòng)力衛(wèi)星資料數(shù)據(jù)庫(kù)、海圖資料數(shù)據(jù)庫(kù)和全球DEM數(shù)據(jù)庫(kù)等??臻g矢量庫(kù)的建立首先需要對(duì)數(shù)據(jù)的信息編碼進(jìn)行總體規(guī)劃設(shè)計(jì),對(duì)各類數(shù)據(jù)建立統(tǒng)一信息分類編碼體系;使用統(tǒng)一的數(shù)據(jù)目錄,結(jié)合元數(shù)據(jù)庫(kù),構(gòu)造海洋空間信息數(shù)據(jù)庫(kù)的信息資源目錄體系。其次,依托空間數(shù)據(jù)引擎,如ArcSDE等,采用統(tǒng)一的空間坐標(biāo)參考,開展空間數(shù)據(jù)建模、組織和管理。在此基礎(chǔ)上,對(duì)元數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)進(jìn)行統(tǒng)一存儲(chǔ)與管理。在建設(shè)中,矢量與影像數(shù)據(jù)等空間數(shù)據(jù)利用ESRI的Geodatabase數(shù)據(jù)模型,以空間數(shù)據(jù)庫(kù)結(jié)合事務(wù)型數(shù)據(jù)庫(kù)表進(jìn)行存儲(chǔ)管理。
元數(shù)據(jù)庫(kù)主要根據(jù)海洋元數(shù)據(jù)標(biāo)準(zhǔn),對(duì)不同介質(zhì)、不同種類數(shù)據(jù)進(jìn)行元數(shù)據(jù)要素信息提取、分級(jí)分層、歸納和提煉,并采用主鍵索引方式,設(shè)計(jì)構(gòu)建元數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)和關(guān)系圖,實(shí)現(xiàn)元數(shù)據(jù)的分級(jí)和交叉關(guān)聯(lián)。元數(shù)據(jù)庫(kù)主要包括基本信息、質(zhì)量信息、內(nèi)容描述信息、空間數(shù)據(jù)描述信息、空間參照信息、服務(wù)信息和參考信息等內(nèi)容。
系統(tǒng)日志庫(kù)主要依托消息隊(duì)列系統(tǒng),面向上層分析監(jiān)控系統(tǒng)提供數(shù)據(jù)庫(kù)操作記錄的消費(fèi),以及向系統(tǒng)日志庫(kù)的更新存儲(chǔ),并定期將形成的日志文件更新到HDFS中。
分析型MPP數(shù)據(jù)庫(kù)采用并行數(shù)據(jù)庫(kù)集群構(gòu)建,結(jié)合共享內(nèi)存技術(shù)、多種索引功能和多級(jí)別索引機(jī)制等[7],為超大規(guī)模結(jié)構(gòu)化數(shù)據(jù)提供了高性能、高可用、高擴(kuò)展性和高容錯(cuò)性的通用存儲(chǔ)計(jì)算環(huán)境??傮w上,MPP數(shù)據(jù)庫(kù)可劃分為海洋環(huán)境整合數(shù)據(jù)庫(kù)和海洋專題整合數(shù)據(jù)庫(kù)。
海洋環(huán)境整合庫(kù)主要面向不同應(yīng)用需求分別搭建要素層和網(wǎng)格層等數(shù)據(jù)倉(cāng)庫(kù),抽取基礎(chǔ)數(shù)據(jù)并逐層開展調(diào)度整合。要素層數(shù)據(jù)庫(kù)按照一致的庫(kù)表結(jié)構(gòu),從國(guó)內(nèi)來(lái)源、國(guó)際來(lái)源和全源3個(gè)維度,按照要素構(gòu)建具體數(shù)據(jù)庫(kù)表。其中,國(guó)內(nèi)來(lái)源整合數(shù)據(jù)庫(kù)主要從基礎(chǔ)數(shù)據(jù)庫(kù)中抽取海洋環(huán)境觀測(cè)、海洋專項(xiàng)調(diào)查、大洋和極地科考等我國(guó)自主獲取數(shù)據(jù);國(guó)際來(lái)源整合數(shù)據(jù)庫(kù)從國(guó)際合作交換基礎(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù)抽取整合得到;全源數(shù)據(jù)庫(kù)是從國(guó)內(nèi)和國(guó)際層數(shù)據(jù)抽取整合形成。網(wǎng)格層數(shù)據(jù)庫(kù)是在要素?cái)?shù)據(jù)庫(kù)層的基礎(chǔ)上,進(jìn)一步按照不同空間分辨率 (累年、歷年、累年逐月、歷年逐月等)和空間分辨率 (0.5°、1°、2°、5°等)進(jìn)行建設(shè)。
海洋專題整合庫(kù)主要是在最大限度保持代碼的各行業(yè)一致性前提下,進(jìn)行主數(shù)據(jù)、元數(shù)據(jù)和值域字典等核心庫(kù)表的選取和規(guī)范化改造,并按照資料類型、內(nèi)容等屬性,對(duì)不同業(yè)務(wù)領(lǐng)域中的重復(fù)數(shù)據(jù)進(jìn)行排重整合。各專題數(shù)據(jù)庫(kù)中的環(huán)境數(shù)據(jù)抽取進(jìn)入海洋環(huán)境綜合數(shù)據(jù)庫(kù),其他專題信息按照業(yè)務(wù)領(lǐng)域整合形成各專題整合數(shù)據(jù)庫(kù),主要包括海洋基礎(chǔ)地理與遙感、海洋經(jīng)濟(jì)、海域海島、海洋生態(tài)保護(hù)、海洋權(quán)益、海洋預(yù)報(bào)減災(zāi)等。
傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)因?yàn)槭聞?wù)一致性、讀寫實(shí)時(shí)性等諸多限制,無(wú)法滿足用戶對(duì)數(shù)據(jù)庫(kù)高并發(fā)讀寫、高可擴(kuò)展性、高可用性的需求,以及對(duì)海量文件的高效率存儲(chǔ)和訪問(wèn)需求。因此,除了采用二維數(shù)據(jù)結(jié)構(gòu),基于文件系統(tǒng)存儲(chǔ)非結(jié)構(gòu)化和半結(jié)構(gòu)化海洋數(shù)據(jù)文件也尤為必要。分布式文件系統(tǒng)典型代表是HDFS,具有靈活的數(shù)據(jù)模型,沒(méi)有嚴(yán)格的數(shù)據(jù)存儲(chǔ)格式,不用事先建立數(shù)據(jù)存儲(chǔ)字段,可以隨時(shí)定義存儲(chǔ)字段,數(shù)據(jù)之間沒(méi)有關(guān)聯(lián),具有高橫向擴(kuò)展性及高并發(fā)讀寫性能[8],允許用戶將數(shù)據(jù)組織成文件和文件夾的方式,并提供對(duì)應(yīng)接口,使應(yīng)用程序能直接訪問(wèn)基于HDFS的數(shù)據(jù)流。
作為海洋非結(jié)構(gòu)化/半結(jié)構(gòu)化大數(shù)據(jù)存儲(chǔ)的一項(xiàng)核心組件,分布式文件系統(tǒng)主要用于對(duì)海洋相關(guān)文檔、音視頻、圖形、圖像等文件進(jìn)行統(tǒng)一存儲(chǔ)與管理。海洋地理信息產(chǎn)品按照產(chǎn)品內(nèi)容、比例尺、數(shù)據(jù)來(lái)源,組織存儲(chǔ)矢量地形圖、柵格地形圖、矢量海圖、柵格海圖和DEM產(chǎn)品等內(nèi)容。從產(chǎn)品類型來(lái)分,海洋遙感按照遙感方式類型存儲(chǔ)管理影像、專題要素圖形和專題數(shù)據(jù)集產(chǎn)品等衛(wèi)星遙感和航空遙感等內(nèi)容。海洋專題分布式存儲(chǔ)主要包括海洋經(jīng)濟(jì)專題成果、海洋政策法規(guī)專題成果、海洋權(quán)益專題成果、海域使用和管理專題成果、海島管理專題成果、海洋生態(tài)預(yù)警監(jiān)測(cè)專題成果、海洋預(yù)報(bào)減災(zāi)和環(huán)境保障專題成果。從領(lǐng)域方面來(lái)分,主要包括基礎(chǔ)專項(xiàng)調(diào)查非結(jié)構(gòu)化文件系統(tǒng) (海洋環(huán)境專題調(diào)查報(bào)告文件、大洋專項(xiàng)調(diào)查視像文件等),海洋綜合管理非結(jié)構(gòu)化文件系統(tǒng),海洋測(cè)繪非結(jié)構(gòu)化文件 (遙感影像、海圖文件等),海洋生態(tài)保護(hù)非結(jié)構(gòu)化文件 (科考報(bào)告、照片文件等),海洋經(jīng)濟(jì)統(tǒng)計(jì)非結(jié)構(gòu)化文件 (海洋經(jīng)濟(jì)統(tǒng)計(jì)年鑒等),海洋災(zāi)害非結(jié)構(gòu)化文件 (海洋災(zāi)害公報(bào)、年鑒等),海島管理非結(jié)構(gòu)化文件 (海島數(shù)字正射影像數(shù)據(jù)文件等)。
傳統(tǒng)海洋數(shù)據(jù)庫(kù)管理海量數(shù)據(jù)讀取分析速度慢是多年來(lái)困擾海洋數(shù)據(jù)管理的關(guān)鍵問(wèn)題。在海洋綜合數(shù)據(jù)庫(kù)中采用了列存儲(chǔ)技術(shù),即將數(shù)據(jù)庫(kù)二維表中的數(shù)據(jù)按列方式進(jìn)行存儲(chǔ),不讀取無(wú)效列數(shù)據(jù),降低I/O開銷,從而大幅提高數(shù)據(jù)查詢性能。為進(jìn)一步提高I/O效率,對(duì)每列數(shù)據(jù)再細(xì)分為數(shù)據(jù)包,無(wú)論單表有多大,數(shù)據(jù)庫(kù)只需要操作相關(guān)的數(shù)據(jù)包,從而性能不會(huì)隨著數(shù)據(jù)量的增加而下降,極大的提升了數(shù)據(jù)吞吐量。列存儲(chǔ)技術(shù)的使用,使得數(shù)據(jù)庫(kù)中單表與其關(guān)聯(lián)表的千億級(jí)記錄全量數(shù)據(jù)查詢耗時(shí)僅3 s。此前基于關(guān)系數(shù)據(jù)庫(kù),億級(jí)記錄查詢需要數(shù)個(gè)小時(shí),甚至?xí)r常會(huì)發(fā)生進(jìn)程崩潰的情形。同時(shí),數(shù)據(jù)壓縮比可以達(dá)到20倍以上,數(shù)據(jù)占有空間降低到關(guān)系數(shù)據(jù)庫(kù)的1/10,極大節(jié)省了存儲(chǔ)設(shè)備的開銷。另外,針對(duì)各類海洋數(shù)據(jù)不同的更新時(shí)效和應(yīng)用頻度,數(shù)據(jù)庫(kù)表結(jié)構(gòu)復(fù)雜度,以及要素間的關(guān)聯(lián)度強(qiáng)弱,開展數(shù)據(jù)庫(kù)設(shè)計(jì)[9]。即面向結(jié)構(gòu)較為復(fù)雜的庫(kù)表,選取HASH分布 (指定節(jié)點(diǎn))或隨機(jī)分布 (隨機(jī)節(jié)點(diǎn))方式;面向結(jié)構(gòu)比較簡(jiǎn)單的庫(kù)表,采用復(fù)制表方式,進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),在保證高效查詢的前提下,減少了因數(shù)據(jù)寫入和跨節(jié)點(diǎn)讀取帶來(lái)的消耗。例如,一個(gè)包含時(shí)間、溫度、鹽度和氣壓的數(shù)據(jù),時(shí)間與其它要素之間強(qiáng)關(guān)聯(lián),溫度與鹽度要素通常一并采集和使用,因此,形成了時(shí)間、溫度和鹽度列組,以及時(shí)間和氣壓列組 (圖4)。
圖4 海洋綜合數(shù)據(jù)庫(kù)列存儲(chǔ)技術(shù)
通過(guò)構(gòu)建的時(shí)空索引庫(kù)的方式,可以顯著提高海洋數(shù)據(jù)的檢索與服務(wù)效率,尤其針對(duì)數(shù)據(jù)分布密、空間范圍大、時(shí)間跨度長(zhǎng)的數(shù)據(jù)檢索,可以成倍提高效率[10]。同時(shí),建立了面向時(shí)空對(duì)象查詢的時(shí)空索引庫(kù)后,可滿足基于地理位置的點(diǎn)查詢、區(qū)域查詢、選擇查詢、最近鄰查詢和連接查詢等多重查詢需求。構(gòu)建海洋環(huán)境時(shí)空索引庫(kù)的關(guān)鍵是如何建立海洋環(huán)境數(shù)據(jù)的時(shí)空索引。時(shí)間索引的構(gòu)建比較簡(jiǎn)單,可以通過(guò)將時(shí)間類型值映射成整型值,并依據(jù)整型運(yùn)算來(lái)得到一個(gè)縮小的時(shí)間查找范圍,再在縮小的時(shí)間范圍內(nèi),根據(jù)具體的查詢條件按時(shí)間類型進(jìn)行檢索,以達(dá)到提高檢索效率的目的。空間索引的構(gòu)建則比較復(fù)雜,目前主要結(jié)合應(yīng)用熱度,采用四叉樹網(wǎng)格索引的方式,對(duì)全球范圍進(jìn)行劃分和編碼,建立5°、 1°、 1/4°、 1/8°4層索引, 保證網(wǎng)格數(shù)據(jù)高效查詢檢索。
國(guó)家海洋信息中心基于自身職責(zé),長(zhǎng)期致力于海洋大數(shù)據(jù)資源管理與服務(wù)工作,在國(guó)內(nèi)業(yè)務(wù)化觀測(cè)、國(guó)家重大海洋專項(xiàng) (如908專項(xiàng)、海島海岸帶專項(xiàng)、全球變化和海氣相互作用專項(xiàng)等)、大洋科考等海洋核心業(yè)務(wù)領(lǐng)域承擔(dān)著國(guó)家海洋資料管理機(jī)構(gòu)的角色。本文提出的海洋大數(shù)據(jù)平臺(tái)架構(gòu)、海洋大數(shù)據(jù)資源池架構(gòu)和海洋大數(shù)據(jù)資源存儲(chǔ)策略等,已經(jīng)在國(guó)家海洋大數(shù)據(jù)資源管理工作中得到良好應(yīng)用。大數(shù)據(jù)技術(shù)日新月異,海洋數(shù)據(jù)管理這項(xiàng)基礎(chǔ)性工作正面臨著難得的機(jī)遇和挑戰(zhàn)。海洋大數(shù)據(jù)管理技術(shù)還需在新的時(shí)代背景下與時(shí)俱進(jìn),不斷更新,為國(guó)家海洋數(shù)據(jù)資源價(jià)值發(fā)揮保駕護(hù)航。