劉陽娜
摘要:云計算、物聯網、空間數據采集技術快速發展背景下,使空間數據被賦予明顯的大數據特點,這就要求在數據存儲與管理等方面逐漸完善。實踐研究發現,以NoSQL數據庫為依據,引入空間大數據分布式存儲策略,對提高數據存儲與管理水平有積極作用。本次研究將對基于NoSQL數據庫的空間數據存儲技術做簡單介紹,分析NoSQL數據庫的空間大數據分布式存儲策略的應用以及該策略運用下取得的效果。
關鍵詞:NoSQL數據庫;空間大數據;分布式存儲策略;應用
中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9416(2018)02-0077-01
空間數據存儲與管理是影響數據使用質量的關鍵所在。近年來在云計算技術、物聯網技術發展下,空間數據使用模式上出現較多變化,數據規模逐漸增大,導致數據的存儲、處理均面臨極大難題。若此時仍依托于以往關系型數據庫存儲模式,很難達到存儲與管理目的。在此背景下考慮引入分布式存儲策略,提高數據存儲管理能力。本次研究將對NoSQL數據庫下空間大數據分布式存儲策略的具體應用進行分析。
1 基于NoSQL數據庫的空間數據存儲技術基本介紹
1.1 空間數據存儲技術實施基本要求
近年來,在地理空間信息收集方面有多樣手段,其在一定程度上導致數據頻繁更新、數據規模增大,若仍選擇傳統單一存儲方式,很難達到存儲與處理要求。對此,要求正確認識大數據具體特征,選擇相應的空間數據存儲技術,技術選擇中有具體的要求,包括:(1)擴展存儲能力,如千萬級別二維表依托于以往關系數據庫難以存儲,且無法橫向擴展存儲能力,因此數據存儲技術運用下,應從存儲能力擴展方面著手,滿足基本存儲要求的同時,使數據一致性與完整性得到保證;(2)適應各類存儲對象,如圖片、音頻與視頻類型數據等,均要求數據存儲技術的應用與之適應;(3)滿足多用戶并發訪問要求,如互聯網、云服務訪問,關系型數據庫很難實現多用戶訪問,是空間數據存儲技術應用下需解決的問題[1]。
1.2 基于NoSQL數據庫空間數據存儲模式應用現狀
NoSQL數據庫技術作為非關系型數據庫,在互聯網領域中近年來不斷推廣應用,若單純由數據存儲方面出發,該類型數據庫適應性較強。值得注意的是,GIS領域、互聯網領域本身有明顯差異,所以應用NoSQL數據庫技術有一定的不足之處,表現為:(1)數據操作問題,數據庫運行中要求在數據修改上嚴格控制,一旦因修改操作不合理,便會涉及數據遷移情況;(2)查詢問題,空間數據查詢中需以圖層屬性信息為依據,進行數據提取,數據庫需滿足多種功能要求,包括統計、排序以及查詢等,而NoSQL數據庫很難達到這些要求;(3)索引問題,索引技術的運用不應局限于簡單的算法方面,更應向方法策略上提升,這樣才可使數據檢索效率提高。
2 基于NoSQL數據庫的空間大數據分布式存儲策略應用研究
2.1 分布式存儲與管理系統應用分析
針對NoSQL數據庫運用下的局限性,本次研究中引入空間大數據分布式存儲策略。從空間大數據存儲管理系統看,在保證滿足流式、柵格、矢量數據存儲、管理要求的基礎上,能夠實現快速提取分布式數據的目的,包括空間關聯分析、展示專題圖,支持系統運行。具體剖析該系統的構成,主要體現在:(1)內存數據庫,數據操作層主要選擇I/O處理模式,處理速度明顯提升;(2)空間數據庫,系統融入傳統空間數據庫優勢,既有分布存儲管理能力,且將GIS優勢引入;(3)存儲系統,“大數據倉庫”由分布式存儲系統承擔,滿足數據提取要求的同時,具備持久化存儲特征,且系統有高可用性、擴展性以及低成本特點[2]。
2.2 空間大數據分布式存儲關鍵技術應用該研究
分布式存儲策略運用下,其實施效果很大程度受其中所采用的關鍵技術影響。以MongoDB數據庫為例,作為以文檔為基礎的NoSQL數據庫類型,有明顯的技術優勢。如數據庫中采用的Sharding集群、Replica Set集群,若以實際地理范圍為依據搭建集群,能夠保證數據存儲實現。同時,快速提取技術在也極為重要,特別數據組織結構不同將影響提取數據的效率,所以需在空間索引策略上優化,如結合集群方案與索引策略,即以元數據為基礎形成多級圖幅索引,是快速提取技術應用的具體體現。另外,需注意數據合理調度、接口訪問設計等相關技術,如在數據調度方面,主要將空間數據劃分為高頻率訪問、低頻率訪問數據,兩種數據分別以熱點數據、“冷”數據歸檔形式存儲,而在接口訪問設計上,取OGDC接口,其中的各驅動程序如DM、MySQL、Oracle等,使數據并行存取更加便利[3]。
3 基于NoSQL數據庫的空間大數據分布式存儲策略實踐效果
為驗證空間大數據分布式存儲技術的應用效果,本次研究中取原型系統包括NoSQL數據庫、關系型數據庫以及內存數據庫如MongoDB、PostgreSQL等,研究實踐目的在于將MongoDB中上層數據結構、底層存儲問題解決,達到快速提取與存儲數據的目的。具體操作:(1)原型系統結構,如數據庫層,借助MongoDB做Sharding集群構建,再如中間件層,MongoDB各對象均需做包裝,使BSON對象內涵蓋屬性信息、空間信息等。另外,應注意數據訪問接口層的設計;(2)試驗操作,在MongoDB中導入數據后做空間所引構建,在分布式存儲策略上,主要選擇相應的存儲節點,并搭建Sharding集群,然后引入以元數據為基礎的空間索引策略,并應用內存數據完成shape要素入庫處理[4]。試驗結果發現,所有數據在并發入庫、空間索引構建耗時明顯減少,并發環境下海量數據入庫效率有顯著提高。
4 結語
空間大數據分布式存儲策略的應用是當前解決大數據存儲、處理與運用的主要難題。實際引入該策略中,應正確認識傳統數據庫單一存儲模式存在的不足,采取優化的策略,即以NoSQL數據庫為基礎,采取分布式存儲策略,對提高數據提取、存儲與處理能力有積極意義。
參考文獻
[1]李紹俊,楊海軍,黃耀歡,等.基于NoSQL數據庫的空間大數據分布式存儲策略[J].武漢大學學報(信息科學版),2017,42(02):163-169.
[2]侯志通.條帶狀公路運營管理空間大數據降維組織及混合存儲關鍵技術研究[D].浙江大學,2015.
[3]朱建生,汪健雄,張軍鋒.基于NoSQL數據庫的大數據查詢技術的研究與應用[J].中國鐵道科學,2014,35(01):135-141.
[4]陳崇成,林劍峰,吳小竹,巫建偉,連惠群.基于NoSQL的海量空間數據云存儲與服務方法[J].地球信息科學學報,2013,15(02):166-174.