王 意
(1.山東省國土測繪院,山東 濟南 250013)
時空大數(shù)據(jù)是基于統(tǒng)一時空基準(zhǔn),活動于時空中與位置直接或間接關(guān)聯(lián)的大數(shù)據(jù)[1],是支撐宏觀經(jīng)濟決策的戰(zhàn)略級資源[2]。時空大數(shù)據(jù)存儲性能的優(yōu)劣直接影響其計算效率和服務(wù)性能[3]。目前混合存儲是時空大數(shù)據(jù)管理中一種較好的選擇[4-5]。本文在分析當(dāng)前主流存儲管理系統(tǒng)和硬件的基礎(chǔ)上,按照數(shù)據(jù)類型和結(jié)構(gòu)對存儲對象進行了劃分;結(jié)合時空混合索引方法,建立了時空大數(shù)據(jù)存儲模型;分析了時空大數(shù)據(jù)存儲影響因素,并進行定量化表達;提出了基于混合存儲技術(shù)的時空大數(shù)據(jù)存儲策略,建立了高效可靠的時空大數(shù)據(jù)放置與遷移方法,以期更好地服務(wù)于時空大數(shù)據(jù)存儲和業(yè)務(wù)化應(yīng)用。
20 世紀(jì)90 年代關(guān)系型數(shù)據(jù)庫成為空間數(shù)據(jù)存儲管理系統(tǒng)的主流應(yīng)用模式。由于時空大數(shù)據(jù)非結(jié)構(gòu)化的數(shù)據(jù)讀寫場景,分布式文件系統(tǒng)和分布式非關(guān)系型數(shù)據(jù)庫技術(shù)應(yīng)運而生(表1)。
表1 混合存儲中常見的存儲管理模式
傳統(tǒng)的機械硬盤(HDD)面對大數(shù)據(jù)時代的挑戰(zhàn)已顯得力不從心,新型存儲介質(zhì)具有體積小、能耗低、帶寬高、時延低、抗震性強、可靠性高等特點。其中,閃存的發(fā)展最迅速,已達到了實用化水平,固態(tài)盤(SSD)是閃存最主要的形式。
1)不同管理系統(tǒng)間的數(shù)據(jù)關(guān)聯(lián)問題。時空大數(shù)據(jù)在訪問特性和時效要求上差異較大[6-8]。混合存儲需滿足不同管理模式下數(shù)據(jù)的動態(tài)關(guān)聯(lián)需求,將通用的混合存儲技術(shù)與空間信息技術(shù)(空間大數(shù)據(jù)組織方法、空間分布式索引等)深度融合,形成集中統(tǒng)一的數(shù)據(jù)訪問接口。
2)數(shù)據(jù)存儲策略缺少對時空大數(shù)據(jù)的動態(tài)感知和彈性調(diào)度能力。時空大數(shù)據(jù)的存儲策略應(yīng)具備動態(tài)感知和彈性調(diào)度數(shù)據(jù)的能力,可根據(jù)應(yīng)用的歷史訪問記錄、存儲設(shè)備特征等因素實時調(diào)整數(shù)據(jù)存儲路徑;通過一個有效的遷移算法為不同數(shù)據(jù)動態(tài)選擇存放介質(zhì),使整個存儲系統(tǒng)達到存儲效率和經(jīng)濟性的最佳平衡,從而最大程度地提升整個存儲系統(tǒng)的性能。
在混合存儲架構(gòu)中的數(shù)據(jù)層構(gòu)建面向時空大數(shù)據(jù)的關(guān)系型數(shù)據(jù)庫集群、NoSQL 數(shù)據(jù)庫集群、分布式文件系統(tǒng)集群的存儲框架,實現(xiàn)不同管理模式下的數(shù)據(jù)動態(tài)關(guān)聯(lián);以SSD、HDD作為二級存儲,根據(jù)I/O特性和數(shù)據(jù)價值,將不同類別的數(shù)據(jù)分配到SSD或HDD上;設(shè)計數(shù)據(jù)遷移算法,實現(xiàn)數(shù)據(jù)在不同介質(zhì)間的移動。
構(gòu)建結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)3 種存儲模型,并建立元數(shù)據(jù)及其索引,將具有相同編碼的數(shù)據(jù)進行關(guān)聯(lián)。
1)將一個結(jié)構(gòu)化的數(shù)據(jù)庫或子數(shù)據(jù)庫切分為若干具有固定大小的組塊,并對數(shù)據(jù)塊建立兩層索引。存儲模型包括數(shù)據(jù)塊集合、第一層索引和第二層索引3 個部分,其中數(shù)據(jù)塊中包含空間幾何信息、空間數(shù)據(jù)信息和其他屬性信息(圖1)。通過統(tǒng)一的空間編碼方法和哈希編碼方法使每條數(shù)據(jù)具有唯一編碼。
圖1 結(jié)構(gòu)化數(shù)據(jù)存儲模型
2)半結(jié)構(gòu)化數(shù)據(jù)通過面向數(shù)據(jù)片的方式管理和查詢數(shù)據(jù),建立空間編碼(索引)。半結(jié)構(gòu)化數(shù)據(jù)存儲模型包括數(shù)據(jù)分片集合和空間編碼兩大部分,其中數(shù)據(jù)分片中包含數(shù)據(jù)、編碼深度和編碼(圖2)。數(shù)據(jù)分片無需進行二次檢索,通過統(tǒng)一的空間編碼和解碼即可快速查詢和獲取瓦片。
圖2 半結(jié)構(gòu)化數(shù)據(jù)存儲模型
3)非結(jié)構(gòu)化數(shù)據(jù)不能直接存儲矢量數(shù)據(jù),需轉(zhuǎn)換為能保存的空間信息和屬性信息。非結(jié)構(gòu)化數(shù)據(jù)存儲模型包括文件集合和關(guān)聯(lián)編碼兩大部分,其中文件集合記錄文件信息,并通過統(tǒng)一的關(guān)聯(lián)編碼方法使其具有唯一編碼(圖3)。關(guān)聯(lián)編碼屬于第一級索引,對于常規(guī)索引檢索的n個結(jié)果,可采用分布式并行的方法進行并行讀取,并可通過aci 對文件進行命名,與其他具有相同編碼的數(shù)據(jù)進行關(guān)聯(lián)。
圖3 非結(jié)構(gòu)化數(shù)據(jù)存儲模型
影響因素主要包括:①空間分辨率,反映數(shù)據(jù)的空間詳細程度,值越高,識別物體的能力越強;②時間分辨率,表示重復(fù)探測同一目標(biāo)時,相鄰兩次探測的時間間隔;③光譜分辨率,反映成像的波段范圍,劃分越細、波段越多,值越高;④存儲時間,數(shù)據(jù)存放較長時間后,其被訪問頻率將降低,數(shù)據(jù)價值也將降低;⑤數(shù)據(jù)熱度是反映數(shù)據(jù)價值的直觀指標(biāo),利用價值高的數(shù)據(jù)會被反復(fù)讀取加以利用;⑥隨機度,使SSD 服務(wù)絕大多數(shù)的隨機I/O 訪問,HDD 服務(wù)剩余的I/O訪問,匹配度越高的數(shù)據(jù),越能體現(xiàn)或挖掘其數(shù)據(jù)價值;⑦數(shù)據(jù)大小,數(shù)據(jù)量越小,越有利于存儲資源的利用,數(shù)據(jù)大小與價值成反比。
2.4.1 數(shù)據(jù)靜態(tài)放置策略
本文選擇時空大數(shù)據(jù)的空間分辨率、時間分辨率、光譜分辨率作為評價指標(biāo),不隨數(shù)據(jù)應(yīng)用而改變。根據(jù)主觀經(jīng)驗設(shè)置權(quán)重Q,滿足條件的數(shù)據(jù)優(yōu)先使用性能更高的SSD作為存儲介質(zhì)。假設(shè)某應(yīng)用可調(diào)用n個數(shù)據(jù),單個數(shù)據(jù)價值的計算公式為:
式中,Qs、Qt、Qf分別為空間分辨率、時間分辨率、光譜分辨率的權(quán)重,由人為確定;Jsi、Jti、Jfi分別表示數(shù)據(jù)i的3 個指標(biāo)是否滿足應(yīng)用需求,若滿足,值為1,不滿足,值為0。
選擇該應(yīng)用價值最大的數(shù)據(jù)優(yōu)先放置在SSD 上,計算公式為:
2.4.2 數(shù)據(jù)遷移函數(shù)
數(shù)據(jù)每次被訪問的時間集為{t1,t2,…,tn},距離當(dāng)前時刻t的時長為t-t1,t-t2,…,t-tn,用C1,C2,…,Cn表示。設(shè)數(shù)據(jù)訪問熱度為q,隨機度為r,初始值均為0,訪問一次數(shù)據(jù),q加1,判斷該訪問的起始位置是否對應(yīng)該數(shù)據(jù)上次訪問的結(jié)束位置,若相同且與上次訪問類型相同、時間間隔也在給定的閾值內(nèi),則r不變;否則r加1。在存儲時間C1,C2,…,Cn內(nèi)的訪問熱度為q1,q2,…,qn,隨機度為r1,r2,…,rn,計算公式為:。由此可知,數(shù)據(jù)價值與q、r成正比,與C、數(shù)據(jù)大小成反比。
單個數(shù)據(jù)價值和所有數(shù)據(jù)總價值的計算公式為:
所有數(shù)據(jù)的總價值應(yīng)盡可能的大,根據(jù)數(shù)據(jù)價值變化,系統(tǒng)I/O 動態(tài)地在SSD、HDD 之間進行數(shù)據(jù)遷移,以保證價值較高的數(shù)據(jù)優(yōu)先使用SSD存儲。設(shè)數(shù)據(jù)大小為si,應(yīng)保證集合中SSD上所有數(shù)據(jù)大小的總和不能超過SSD的總空間大?。–APACITYSSD),即
設(shè)置模型的起止時間和SSD的空間總量,計算得到使數(shù)據(jù)總價值最大的存儲方案,進而調(diào)整數(shù)據(jù)存儲位置。
為驗證本文提出的時空大數(shù)據(jù)存儲策略,以山東省地理信息時空大數(shù)據(jù)中心為依托,分別測試數(shù)據(jù)存儲和加載效率。實驗設(shè)備配置見表2。
表2 實驗設(shè)備配置
本文選取兩組數(shù)據(jù):①山東省省級基礎(chǔ)測繪“十二五”地形要素數(shù)據(jù),共5 977 個MDB、51.7 GB,“十三五”數(shù)字正射影像6 578幅、2.73 TB;②1.6億條矢量要素數(shù)據(jù)、120 TB 影像數(shù)據(jù)和500 GB 地形數(shù)據(jù)(DEM數(shù)據(jù)),數(shù)據(jù)具有明顯的時空大數(shù)據(jù)特征。
兩組數(shù)據(jù)采用相同配置的終端,分別存入部署混合存儲策略的數(shù)據(jù)庫(實驗庫)和原始庫,初始存放位置均為HDD。數(shù)據(jù)入庫時間對比見表3,可以看出,第一組實驗庫的數(shù)據(jù)入庫時間比原始庫約減少10%,入庫效率小幅提升,這是由于數(shù)據(jù)量較少時,存在較固定的數(shù)據(jù)傳輸和備份時間消耗,因此優(yōu)勢不明顯;第二組實驗庫的數(shù)據(jù)入庫時間縮短近一半,而矢量要素數(shù)據(jù)和地形數(shù)據(jù)入庫時間縮短為原時長的1/8,說明本文設(shè)計的混合存儲策略綜合考慮了數(shù)據(jù)特征、混合存儲管理系統(tǒng)、混合存儲設(shè)備3 個要素,提高了數(shù)據(jù)放置的合理性,減少了系統(tǒng)開銷,大幅提高了入庫效率。
表3 數(shù)據(jù)入庫時間對比
本文對實驗數(shù)據(jù)進行加載瀏覽,分別測試了不同數(shù)據(jù)存儲策略下10 萬、100 萬、500 萬條數(shù)據(jù)的初始加載時間和多次打開數(shù)據(jù)庫后的加載時間,結(jié)果見表4,可以看出,混合存儲管理端初次加載時長有所減少,并隨數(shù)量的增加,加載時長減少越多(30%),說明混合存儲策略數(shù)據(jù)加載時效率顯著提升;普通終端多次打開數(shù)據(jù)庫后的加載時間沒有明顯變化,而混合存儲管理端在多次打開數(shù)據(jù)庫后,加載時間約為初次加載時間的50%,說明通過數(shù)據(jù)遷移,將隨機訪問和熱點訪問的數(shù)據(jù)遷移到SSD上,有效減少了整個系統(tǒng)的訪問延遲。
表4 數(shù)據(jù)加載時間對比
本文分析了混合存儲技術(shù)在時空大數(shù)據(jù)存儲中的應(yīng)用現(xiàn)狀,提出了面向混合存儲的時空大數(shù)據(jù)存儲組織模型和數(shù)據(jù)存儲策略;并基于山東省地理信息時空大數(shù)據(jù)中心開展性能實驗,對比了普通終端和混合存儲策略終端的時空大數(shù)據(jù)存儲和加載效率。結(jié)果表明,在存儲數(shù)據(jù)量較少的傳統(tǒng)測繪數(shù)據(jù)成果時,混合存儲策略效率提升不明顯;但隨著數(shù)據(jù)量和數(shù)據(jù)種類的增加,混合存儲策略的效率顯著提升;在多次數(shù)據(jù)讀取后,數(shù)據(jù)的動態(tài)遷移可有效提升數(shù)據(jù)訪問性能。