牛千+唐亞明+王佳運

摘要:根據地質災害數據數據量大,更新速度快,種類多樣等特點,提出MongoDB分布式存儲策略。探討了基于MongoDB的分布式地質災害數據存儲策略。為解決地質災害相關數據存取的性能、管理等問題提供了一個思路。
關鍵詞:地質災害;MongoDB;shards;mongos;GridFS
隨著全球定位系統設備、Smart Phone等新技術的應用,以及各種傳感器、高清晰度圖像和視頻的大量應用,數據正呈現指數級增長,為數據使用者開辟新的數據存儲、分析方法和模式顯得尤為重要。地質災害數據也不例外。MongoDB以其模式自由、面向集合存儲、高效的數據存儲、支持復制和故障恢復和自動分片等技術特點,為地質災害數據的存儲、分析提供了—個新的思路。
1 MongoDB特性與結構
1.1MongoDB特性
(1)模式自由。MongoDB可以對數據進行動態查詢并提供完全的數據索引,從而便于對內嵌對象及數組進行查詢。
(2)面向集合的數據存儲。便于對象類型數據及內嵌對象與數組的存儲。
(3)數據存儲效率高。MongoDB支持二進制數據及大型非結構化對象(例如照片和視頻)的存儲。
(4)MongoDB使用主一從、主一主模式的數據復制機制,便于故障的恢復與熱備。
(5)MongoDB通過自動分片技術實現動態數據添加,使數據庫具有很好的伸縮性,為水平數據庫集群提供了很大的便利“。
1.2 MongoDB結構
MongoDB是由數據庫(database)、集合(collection)、文檔對象(document)三個層次組成這有別于傳統關系數據庫的數據庫(database)、表(table)、記錄(record)三層結構。MongoDB從模式自由出發,其集合對應于關系型數據庫的表,但集合中沒有行、列和關系的概念。MongoDB以鍵值對(key-value)集合的形式對數據進行存儲,鍵是字符串,值可以取數組和文檔對象類型。
2 MongoDB分布式存儲策略
2.1地質災害數據組織
(1)數據內容
本系統地質災害數據主要包括遙感影像數據、空間矢量數據等以及其他非結構化數據。
(2)數據組織與管理
地質災害數據從形態種類上可分為文件型數據、空間數據、柵格數據、屙陛數據等。
①文件型數據的組織管理
系統采用文件庫的方式對這些文檔進行管理,并將數據存放到GridFS中。
②矢量數據的組織管理
系統采用專題分層和空間分幅的方式來組織管理矢量數據。
③柵格數據的組織管理
同一分辨率的柵格數據被組織在一個層內,對不同分辨率的柵格數據:分辨率越小,越靠近頂層。柵格數據進行切圖緩存預處理。
④屬性數據的組織管理
地質災害數據所涉及的屬性數據包括原始搜集資料、遙感解譯數據、無人機航測數據、工程地質測繪數據、地球物理勘探數據、工程地質勘探數據、原位測試與室內試驗數據、綜合研究與分析成果等多專題的地質信息數據,以非結構化數據模式進行組織管理。
⑤數據分布、傳輸與備份
A、數據分布方式:數據采用集中式與分布式兼容的管理模式。
B、數據傳輸與通訊:C/S系統的客戶端與數據庫服務器的數據傳輸在局域網內通過TIP/IP傳輸;Web服務器與數據庫服務器的數據傳輸同上;瀏覽器與Web服務器的數據傳輸在廣域網上以Http協議進行傳輸。
2.2 MongoDB分布式部署
MongoDB服務器部署可以根據需求選擇不同的方式。Config server、mongos、mongod可以作為單獨的服務器進行部署。MongoDB分布式部署架構如圖l所示。
mongos部署在Server2、4、6(mongod)上。mongos與mongod之間的通信在本地完成,大大降低了通信成本。mongos部署在三臺服務器上,避免了mongos出現單點故障,并且方便了管理員對系統進行管理。Config serveI(配置服務器)部署在serverl、3上,避免了Config server(配置服務器)出現單點故障。將MongoDB作為一個相對獨立的系統,與應用的耦合度盡量降到最低,部署“客戶端服務器”在單獨的服務器上,更換數據庫時能有效減少工作量。
結束語:存儲在MongoDB中的地質災害相關數據文件,不用考慮文件名是否符合操作系統規范以及一個文件夾下的文件是否過多。另外,MongoDB還具有方便保存和讀取文件屬性的特性,例如判斷文件類型、大小、像素等等;方便實現大量的文件上傳及管理。通過以上方式,為解決海量地質災害相關數據的存儲、管理等問題提供了—個思路。endprint