李宏志,李莧蘭
(1.滁州學(xué)院信息學(xué)院,安徽 滁州 239000;2.福建師范大學(xué)光電與信息工程學(xué)院,福州 350000)
高精度的遙感數(shù)據(jù)作為一種大容量的信息載體,在國(guó)土勘測(cè)和軍事安全方面有著重要的作用。隨著我國(guó)的航天遙感技術(shù)的發(fā)展,遙感數(shù)據(jù)的數(shù)量和質(zhì)量都在逐步的提高,單個(gè)的遙感文件可達(dá)到數(shù)百M(fèi)B,甚至達(dá)到數(shù)GB的大小,如何高效且安全地存儲(chǔ)和管理這些遙感數(shù)據(jù)已成為當(dāng)前空間信息科學(xué)領(lǐng)域的重要研究方向。
由于MongoDB集群在存儲(chǔ)和管理遙感數(shù)據(jù)方面具有一定的優(yōu)勢(shì)[1-3],使得基于MongoDB集群在遙感數(shù)據(jù)存儲(chǔ)方面的研究成為熱點(diǎn)。文獻(xiàn)[4-6]詳細(xì)介紹了使用MongoDBGridFS分布式文件系統(tǒng)存儲(chǔ)和管理影像圖片文件的方法;田帥[7]提出了一種基于 MongoDB和HDFS的大規(guī)模遙感數(shù)據(jù)存儲(chǔ)方案,該方案將遙感元數(shù)據(jù)和遙感影像文件分開(kāi)存儲(chǔ)和管理,由MongoDB存儲(chǔ)非結(jié)構(gòu)化的元數(shù)據(jù),HDFS分布式文件系統(tǒng)負(fù)責(zé)存儲(chǔ)大規(guī)模的影像文件。這種存儲(chǔ)方案需要維護(hù)元數(shù)據(jù)和影像文件的對(duì)應(yīng)關(guān)系,同時(shí)涉及到的技術(shù)較復(fù)雜,不便于維護(hù);賴積保等[8]提出了基于云計(jì)算的遙感影像存儲(chǔ)模型RSC-DOM,該模型采用改進(jìn)的遙感數(shù)據(jù)直接存儲(chǔ)方式,實(shí)現(xiàn)了對(duì)遙感數(shù)據(jù)的分布式管理,但應(yīng)用場(chǎng)景要求數(shù)據(jù)是均勻分布的,因此具有一定的局限性;秦強(qiáng)等[9]提出了基于MongoDB的遙感數(shù)據(jù)存儲(chǔ)方案,通過(guò)NoSQL技術(shù)實(shí)現(xiàn)了非結(jié)構(gòu)化的遙感元數(shù)據(jù)的存儲(chǔ);梁海等[10]提出了通過(guò)MongoDB的分片技術(shù)提高數(shù)據(jù)庫(kù)的讀寫(xiě)性能和效率。本文在上述研究成果基礎(chǔ)上提出了基于高速緩存和MongoDB數(shù)據(jù)庫(kù)的存儲(chǔ)模型,底層存儲(chǔ)模塊采用MongoDB及其分布式文件系統(tǒng)GridFS。在底層存儲(chǔ)之上新建一層基于內(nèi)存型存儲(chǔ)器的緩存層用于快速存儲(chǔ)遙感元數(shù)據(jù),結(jié)合一致性哈希算法,提高遙感數(shù)據(jù)在分布式集群中分布的均勻性,減少各存儲(chǔ)節(jié)點(diǎn)之間的數(shù)據(jù)遷移次數(shù),提高系統(tǒng)的訪問(wèn)效率。
MongoDB存儲(chǔ)的內(nèi)容是結(jié)構(gòu)松散的類似于JSON結(jié)構(gòu)的BSON格式數(shù)據(jù),支持MapReduce功能,以保證其可以對(duì)數(shù)據(jù)進(jìn)行復(fù)雜的關(guān)系和分析;除此之外,MongoDB支持對(duì)于地理信息的索引及檢索操作。
GridFS是構(gòu)建于MongoDB之上的分布式文件系統(tǒng),利用MongoDB的分布式存儲(chǔ)機(jī)制實(shí)現(xiàn)遙感影像文件的存儲(chǔ);GridFS默認(rèn)使用 fs.files和 fs.chunks集合來(lái)存儲(chǔ)文件的元數(shù)據(jù)和文件塊。MongoDBGridFS支持對(duì)存儲(chǔ)的大文件自動(dòng)分片,分布式文件存儲(chǔ)架構(gòu)如圖1所示。
圖1 GridFS的文件存儲(chǔ)分片架構(gòu)
MongoDB的存儲(chǔ)架構(gòu)主要由三個(gè)部分組成:分片存儲(chǔ)服務(wù)器、集群路由服務(wù)器以及配置服務(wù)器。其中存儲(chǔ)服務(wù)器負(fù)責(zé)集群數(shù)據(jù)和文件的存儲(chǔ),路由服務(wù)器負(fù)責(zé)請(qǐng)求的尋址和定位,而配置服務(wù)器保存集群服務(wù)器所有的配置信息。
MongoDB采用數(shù)據(jù)塊的概念作為基本的存儲(chǔ)單元,當(dāng)單個(gè)數(shù)據(jù)塊的大小達(dá)到某個(gè)閾值之后,系統(tǒng)會(huì)進(jìn)行數(shù)據(jù)塊分裂,各分片服務(wù)器通過(guò)數(shù)據(jù)塊存儲(chǔ)應(yīng)用數(shù)據(jù),當(dāng)系統(tǒng)中各分片中的存儲(chǔ)塊的數(shù)量出現(xiàn)失衡時(shí),會(huì)啟動(dòng)再平衡算法,在各分片之間進(jìn)行數(shù)據(jù)遷移,具體過(guò)程如圖2所示。
圖2 MongoDB數(shù)據(jù)存儲(chǔ)機(jī)制
MongoDB分片機(jī)制能夠根據(jù)文件的大小將數(shù)據(jù)劃分到不同的分片服務(wù)器上,數(shù)據(jù)分片一般應(yīng)在數(shù)據(jù)庫(kù)建立早期進(jìn)行,避免由于分片操作造成過(guò)多的系統(tǒng)開(kāi)銷。要進(jìn)行數(shù)據(jù)分片必須要選擇集合中一個(gè)或多個(gè)索引作為數(shù)據(jù)分片的基準(zhǔn),稱之為片鍵。片鍵的選擇關(guān)乎到集群的性能。MongoDB根據(jù)片鍵進(jìn)行數(shù)據(jù)分塊主要包括以下幾個(gè)步驟:
(1)開(kāi)啟集合的數(shù)據(jù)分片。
(2)創(chuàng)建集合字段索引。
(3)選定索引字段作為片鍵。
(4)系統(tǒng)會(huì)依據(jù)集合選定的片鍵對(duì)文檔數(shù)據(jù)進(jìn)行分塊,使文檔數(shù)據(jù)按照片鍵分布在不同的數(shù)據(jù)塊中。
(5)各分片按照數(shù)據(jù)塊(chunk)的數(shù)量調(diào)整分片之間的數(shù)據(jù)分布。
MongoDB數(shù)據(jù)庫(kù)能夠兼容多種數(shù)據(jù)格式的遙感元數(shù)據(jù),對(duì)于遙感影像文件的管理也較為方便,遙感數(shù)據(jù)滿足如下模型:
其中,Object Data指的是遙感元數(shù)據(jù)及其對(duì)象,Object Image表示遙感影像數(shù)據(jù),Object Vector代表矢量數(shù)據(jù)對(duì)象。
通常對(duì)于遙感數(shù)據(jù)的訪問(wèn)和操作主要集中于遙感元數(shù)據(jù),因此可以使用內(nèi)存型緩存來(lái)加速這部分?jǐn)?shù)據(jù)的訪問(wèn)過(guò)程。本文研究的遙感元數(shù)據(jù)見(jiàn)表1。
表1 遙感元數(shù)據(jù)示例
根據(jù)對(duì)MongoDB分片機(jī)制的研究可知,當(dāng)數(shù)據(jù)量過(guò)大時(shí),各數(shù)據(jù)分片之間存在數(shù)據(jù)遷移操作,這會(huì)使系統(tǒng)開(kāi)銷較大,影響系統(tǒng)的穩(wěn)定性。因此可以通過(guò)一致性哈希算法建立應(yīng)用數(shù)據(jù)與分片節(jié)點(diǎn)之間的映射關(guān)系,減少系統(tǒng)級(jí)的數(shù)據(jù)平衡操作的執(zhí)行次數(shù)。
在設(shè)計(jì)存儲(chǔ)系統(tǒng)時(shí),除了考慮遙感數(shù)據(jù)的存儲(chǔ)和管理之外,還需要保證與其他系統(tǒng)平臺(tái)兼容,要求系統(tǒng)具備接受和處理來(lái)自其他平臺(tái)的數(shù)據(jù)并且能夠?yàn)槠渌膽?yīng)用平臺(tái)提供數(shù)據(jù)服務(wù)的能力。為了保證整個(gè)平臺(tái)的可靠性和擴(kuò)展性,系統(tǒng)采用層次化設(shè)計(jì),可分為交互層、服務(wù)層、數(shù)據(jù)緩存層和數(shù)據(jù)存儲(chǔ)層,系統(tǒng)分層結(jié)構(gòu)如圖3所示。
圖3 基于MongoDB的存儲(chǔ)系統(tǒng)的多層架構(gòu)模
(1)交互層位于整個(gè)系統(tǒng)的最前端,負(fù)責(zé)與其他系統(tǒng)或用戶進(jìn)行交互。交互層提供了PULL和PUSH的兩種集成方式,支持多種傳輸協(xié)議和數(shù)據(jù)格式,一方面用戶可以通過(guò)PUSH方式定義的通用接口向系統(tǒng)提交遙感數(shù)據(jù),另一方面用戶可以通過(guò)PULL方式獲取系統(tǒng)中的遙感數(shù)據(jù),便于與其他系統(tǒng)集成。同時(shí),交互層負(fù)責(zé)為客戶端提供遙感元數(shù)據(jù)的格式規(guī)范,影像文件以及高程文件的上傳接口。
(2)服務(wù)層為整個(gè)系統(tǒng)架構(gòu)的核心層,主要包括消息隊(duì)列模塊、任務(wù)調(diào)度模塊、數(shù)據(jù)庫(kù)操作服務(wù)以及元數(shù)據(jù)解析模塊。系統(tǒng)消息隊(duì)列負(fù)責(zé)接收用戶的上傳的數(shù)據(jù),由服務(wù)程序?qū)崿F(xiàn)隊(duì)列數(shù)據(jù)的存儲(chǔ),這樣能夠減少數(shù)據(jù)庫(kù)系統(tǒng)的瞬時(shí)壓力,以提高系統(tǒng)的并發(fā)能力。任務(wù)調(diào)度模塊負(fù)責(zé)調(diào)度和管理系統(tǒng)中的各種任務(wù)進(jìn)程的執(zhí)行,任務(wù)調(diào)度模塊包含了任務(wù)執(zhí)行隊(duì)列、調(diào)度器以及觸發(fā)器等核心模塊[11]。任務(wù)調(diào)度模塊與消息隊(duì)列配合共同完成請(qǐng)求的分發(fā)和系統(tǒng)的負(fù)載均衡。
(3)緩存層用于緩存遙感元數(shù)據(jù),使用內(nèi)存型緩存,如Memcache、Redis緩存服務(wù)器;通過(guò)高速緩存使常用數(shù)據(jù)常駐內(nèi)存,提高數(shù)據(jù)的訪問(wèn)效率。通過(guò)緩存層訪問(wèn)遙感數(shù)據(jù)的基本步驟:
S1:查詢根據(jù)給定的鍵值查詢緩存層是否包含數(shù)據(jù)。
S2:如果包含了所要的數(shù)據(jù),直接從緩存層返回?cái)?shù)據(jù)或影像文件信息。
S3:如果未命中緩存信息,則進(jìn)入數(shù)據(jù)存儲(chǔ)層的對(duì)應(yīng)數(shù)據(jù)庫(kù)獲取數(shù)據(jù)信息。
S4:系統(tǒng)將獲取的信息返回給上層客戶端,并回寫(xiě)至緩存中。
(4)數(shù)據(jù)存儲(chǔ)層用于整個(gè)系統(tǒng)的數(shù)據(jù)存儲(chǔ)和備份,采用MongoDB及GridFS集群實(shí)現(xiàn)。其中MongoDB負(fù)責(zé)存儲(chǔ)和管理遙感元數(shù)據(jù),GridFS集群負(fù)責(zé)存儲(chǔ)和管理遙感影像文件。
架構(gòu)模型通過(guò)引入哈希一致性算法,建立數(shù)據(jù)與分片節(jié)點(diǎn)之間的映射關(guān)系,均衡各分片之間的數(shù)據(jù)數(shù)量,減少分片之間的數(shù)據(jù)遷移次數(shù)。
使用哈希一致性算法分配存儲(chǔ)節(jié)點(diǎn)的過(guò)程如下:
初始化分片節(jié)點(diǎn)的ip地址序列->shards_queue;
while(shards_queue){
node_ip=shards_queue.pop();
node_key=node_id mod(232);//計(jì)算對(duì)應(yīng)節(jié)點(diǎn)的key
node_map.push(<node_ip,node_key>);
}
data_key=hash(data.item);//計(jì)算待存數(shù)據(jù)散列值
select_ip=selectNode(data_key,node_map);//選擇存儲(chǔ)的分片IP節(jié)點(diǎn)
return select_ip;
高效的數(shù)據(jù)模型能夠很好滿足應(yīng)用程序的需求,設(shè)計(jì)文檔數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵在于考慮是使用嵌入式數(shù)據(jù)模型還是使用規(guī)范化的數(shù)據(jù)模型。如圖4所示,Location和TerrainInfo屬性字段作為子文檔嵌入到父級(jí)文檔中,這種嵌入式結(jié)構(gòu)是指與給定文檔相關(guān)聯(lián)的文檔以子文檔的形式存放于給定文檔內(nèi)部;規(guī)范化數(shù)據(jù)模型指各文檔之間通過(guò)使用、引用來(lái)表達(dá)對(duì)象之間的關(guān)系,如圖5所示,該結(jié)構(gòu)類似于關(guān)系型數(shù)據(jù)庫(kù)的外鍵關(guān)聯(lián)方式[12]。
圖4 嵌入式數(shù)據(jù)模型
圖5 規(guī)范化數(shù)據(jù)模型
存儲(chǔ)模型的設(shè)計(jì)需要權(quán)衡存儲(chǔ)空間的利用率和系統(tǒng)的查詢性能。遙感元數(shù)據(jù)包含一對(duì)多、多對(duì)多的實(shí)體關(guān)系,考慮到遙感元數(shù)據(jù)的特點(diǎn),屬于讀占優(yōu)類型的數(shù)據(jù),數(shù)據(jù)一旦寫(xiě)入,修改可能性較小,因此選擇內(nèi)嵌式數(shù)據(jù)模型。另外選擇內(nèi)嵌式數(shù)據(jù)模型便于對(duì)遙感數(shù)據(jù)進(jìn)行大規(guī)模的聚合和分析操作,提高系統(tǒng)對(duì)遙感數(shù)據(jù)的分析性能。
集合片鍵決定了數(shù)據(jù)在集群分片中的分布情況,影響系統(tǒng)的存儲(chǔ)性能,因此片鍵的選擇對(duì)于存儲(chǔ)系統(tǒng)的設(shè)計(jì)至關(guān)重要。良好設(shè)計(jì)的片鍵應(yīng)具備升序片鍵和隨機(jī)片鍵的優(yōu)點(diǎn)。既要具備良好的數(shù)據(jù)局部性,也不至于由于數(shù)據(jù)分布過(guò)于局部出現(xiàn)數(shù)據(jù)熱點(diǎn)造成系統(tǒng)的讀寫(xiě)瓶頸,要達(dá)到這種效果可以采用復(fù)合片鍵[13]。本文在分析遙感元數(shù)據(jù)的基礎(chǔ)上,提出了“升序鍵+搜索鍵”的片鍵設(shè)計(jì)方案。
升序鍵一般選擇文檔中的自增_id或時(shí)間戳,在遙感數(shù)據(jù)文檔中符合升序片鍵的字段有自增_id和文檔記錄時(shí)間ObserveTime。字段_id的自增特性會(huì)導(dǎo)致某個(gè)節(jié)點(diǎn)成為數(shù)據(jù)熱點(diǎn)造成數(shù)據(jù)過(guò)于集中,觀測(cè)時(shí)間字段ObserveTime既具有升序的特點(diǎn)又不至于使分片數(shù)據(jù)過(guò)于集中[14];而應(yīng)用程序?qū)?shù)據(jù)的訪問(wèn)主要是集中在系統(tǒng)新數(shù)據(jù)的訪問(wèn),按照文檔時(shí)間進(jìn)行數(shù)據(jù)分片能夠使新數(shù)據(jù)盡可能的保存于內(nèi)存中,提高數(shù)據(jù)的訪問(wèn)效率[15]。
搜索鍵的選擇是根據(jù)應(yīng)用需求設(shè)計(jì)的,為了保證查詢數(shù)據(jù)的隔離,搜索鍵采用常用的搜索字段[16]。對(duì)于本文中的遙感數(shù)據(jù)而言,較為頻繁使用的查詢字段是經(jīng)緯度,因此選擇經(jīng)緯度作為分片搜索鍵能夠讓經(jīng)緯度較近的數(shù)據(jù)分布集中,減少在查詢時(shí)訪問(wèn)分片的次數(shù)。
本文選擇“記錄時(shí)間+經(jīng)度+緯度”作為復(fù)合片鍵,記錄時(shí)間片鍵能夠使文檔數(shù)據(jù)均勻分布在各分片上。選擇經(jīng)緯度作為搜索片鍵能夠提高系統(tǒng)的查詢性能和聚合分析能力,如圖6所示。
圖6 基于分片標(biāo)簽的復(fù)合片鍵選擇策略
為驗(yàn)證本文提出的基于MongoDB的多層分布式存儲(chǔ)系統(tǒng)的性能,基于上文提出的數(shù)據(jù)格式和文件類型進(jìn)行一系列測(cè)試實(shí)驗(yàn)。首先針對(duì)不同片鍵選擇策略下的數(shù)據(jù)分布和查詢性能的測(cè)試;然后驗(yàn)證在引入內(nèi)存型緩存的情況下,對(duì)系統(tǒng)查詢性能的提升。
根據(jù)上文提出的遙感元數(shù)據(jù)模型,基于既有遙感數(shù)據(jù)信息庫(kù)模擬出20萬(wàn)條遙感數(shù)據(jù)記錄,占用存儲(chǔ)空間約2.3 GB。模擬數(shù)據(jù)的選取范圍:
(1)數(shù)據(jù)的觀測(cè)時(shí)間從2017年1月到2017年8月份。
(2)遙感數(shù)據(jù)的觀測(cè)方式從“ht-yc-fengyun-01”和“ht-yc-fengyun-02”中隨機(jī)選取。
(3)觀測(cè)經(jīng)度數(shù)據(jù)在[115.6,119]區(qū)間內(nèi)產(chǎn)生隨機(jī)數(shù),緯度數(shù)據(jù)在[28.2,35.7]區(qū)間內(nèi)產(chǎn)生隨機(jī)數(shù)。
對(duì)于選取的遙感數(shù)據(jù)模型中的其他字段,采用模擬填充方式生成字段內(nèi)容。
測(cè)試環(huán)境采用八臺(tái)微型計(jì)算機(jī)搭建成分布式的存儲(chǔ)平臺(tái),存儲(chǔ)節(jié)點(diǎn)基本配置:內(nèi)存1 GB,硬盤(pán)大小120 GB,CPU Intel/英特爾 i5 7500,操作系統(tǒng) CentOS 6.3。其中6個(gè)節(jié)點(diǎn)作為數(shù)據(jù)存儲(chǔ)的分片節(jié)點(diǎn),選取1個(gè)節(jié)點(diǎn)作為運(yùn)行配置服務(wù)器,1個(gè)節(jié)點(diǎn)作為路由服務(wù)器。測(cè)試環(huán)境的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖7所示。
圖7 測(cè)試環(huán)境拓?fù)浣Y(jié)構(gòu)圖
本節(jié)針對(duì)2.3節(jié)提出的{記錄時(shí)間,經(jīng)度,緯度}復(fù)合片鍵方案,通過(guò)模擬數(shù)據(jù)驗(yàn)證該方案對(duì)數(shù)據(jù)分布的均衡性和查詢性能的提升。測(cè)試數(shù)據(jù)采用上文中提到的20萬(wàn)條模擬數(shù)據(jù),通過(guò)對(duì)比多組片鍵組合方案,驗(yàn)證該復(fù)合片鍵方案的性能優(yōu)勢(shì)。片鍵策略的實(shí)驗(yàn)分組見(jiàn)表2。
表2 片鍵策略的實(shí)驗(yàn)分組
將模擬生成的20萬(wàn)條數(shù)據(jù)按照表2的片鍵策略存入圖5所示的存儲(chǔ)平臺(tái)中,文檔分布結(jié)果見(jiàn)表3。
表3 文檔數(shù)量分布測(cè)試結(jié)果
對(duì)于表3中得到的測(cè)試數(shù)據(jù),采用統(tǒng)計(jì)學(xué)中的標(biāo)準(zhǔn)差衡量數(shù)據(jù)分布是否均衡,計(jì)算結(jié)果見(jiàn)表4。
通過(guò)表4的標(biāo)準(zhǔn)差統(tǒng)計(jì)數(shù)據(jù),{ObserveTime,Longitude,Latitude}片鍵方案文檔數(shù)據(jù)在集群中分布的比較均衡,說(shuō)明{ObserveTime,Longitude,Latitude}片鍵選擇方案能夠優(yōu)化數(shù)據(jù)在集群中的分布。
表4 文檔數(shù)量分布標(biāo)準(zhǔn)差
圖8為基于測(cè)試數(shù)據(jù)的查詢性能統(tǒng)計(jì)情況,從中可以看出,總體上復(fù)合片鍵的查詢性能優(yōu)于單片方案,對(duì)于復(fù)合片鍵值{ItemId,ItemName}的查詢性能較差的原因,主要是由于該方案下數(shù)據(jù)分布的均衡性較差。復(fù)合片鍵{Longitude,Latitude}和{ObserveTime,Longitude,Latitude}的查詢性能明顯好于其他方案;其中{ObserveTime,Longitude,Latitude}方案不僅平均查詢時(shí)間較短,且查詢性能的穩(wěn)定性表現(xiàn)較好,后期數(shù)據(jù)量增大后性能波動(dòng)較小,能較快實(shí)現(xiàn)收斂。
設(shè)置兩組對(duì)比實(shí)驗(yàn):一組是不使用緩存的分布式架構(gòu)設(shè)計(jì)(架構(gòu)一),另一種是在原來(lái)2.1節(jié)提出的增加了內(nèi)存型緩存的分布式存儲(chǔ)架構(gòu)(架構(gòu)二),通過(guò)計(jì)算文檔記錄平均查詢時(shí)間來(lái)衡量?jī)煞N架構(gòu)不同的性能表現(xiàn),見(jiàn)表5。
圖8 查詢性能統(tǒng)計(jì)分析結(jié)果圖
表5 兩種不同架構(gòu)模型的平均文檔查詢時(shí)間
圖9為兩種架構(gòu)模型的文檔查詢的平均耗時(shí)對(duì)比圖。由圖9可知,在數(shù)據(jù)量較少時(shí),兩種架構(gòu)模型的平均查詢耗時(shí)差距不大,隨著數(shù)據(jù)量的增大,架構(gòu)二(緩存模型)的性能優(yōu)勢(shì)逐漸凸顯出來(lái),平均查詢時(shí)間明顯低于架構(gòu)一,且平均查詢耗時(shí)也趨于穩(wěn)定;因此可以看出緩存模型能夠較好地改善遙感數(shù)據(jù)的查詢性能。
圖9 兩種架構(gòu)模型的平均耗時(shí)對(duì)比
本文基于非關(guān)系型數(shù)據(jù)庫(kù)MongoDB,提出了一種海量遙感數(shù)據(jù)的分布式存儲(chǔ)方案,通過(guò)引入內(nèi)存型緩存提高遙感數(shù)據(jù)的查詢和存儲(chǔ)效率,使用一種針對(duì)遙感數(shù)據(jù)特點(diǎn)的分片數(shù)據(jù)方案;并通過(guò)實(shí)驗(yàn)驗(yàn)證了該存儲(chǔ)方案對(duì)海量遙感數(shù)據(jù)的存儲(chǔ)具有一定的優(yōu)越性。該方案具有一般性意義,能夠運(yùn)用到其他場(chǎng)景中;下一步工作將進(jìn)一步對(duì)這種存儲(chǔ)方案進(jìn)行優(yōu)化,以提高其整體性能。
參考文獻(xiàn):
[1]孫敬杰,曾李陽(yáng),張堯.基于MongoDB的Web空間數(shù)據(jù)存儲(chǔ)與管理研究[J].測(cè)繪,2017,40(2):72-74,89.
[2]祁蘭.基于MongoDB的數(shù)據(jù)存儲(chǔ)與查詢優(yōu)化技術(shù)研究[D].南京:南京郵電大學(xué),2016.
[3]高銳.基于MongoDB的黑河流域時(shí)空數(shù)據(jù)云存儲(chǔ)關(guān)鍵技術(shù)研究[D].蘭州:蘭州大學(xué),2016.
[4]徐旭東,郭瑞,文瑞潔.分布式下MongoDB對(duì)激光點(diǎn)云的存儲(chǔ)和處理研究[J].計(jì)算機(jī)應(yīng)用與軟件,2017,34(2):71-73,168.
[5]潘永華,閉應(yīng)洲,符云琴.基于MongoDB的醫(yī)學(xué)圖像管理技術(shù)研究[J].廣西師范學(xué)院學(xué)報(bào):自然科學(xué)版,2017,34(2):54-59.
[6]王震,余洋,張志強(qiáng),等.基于MongoDB的遙感影像存取方案的探討與實(shí)現(xiàn)[J].測(cè)繪地理信息,2017,42(3):39-43.
[7]田帥.一種基于MongoDB和HDFS的大規(guī)模遙感數(shù)據(jù)存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].杭州:浙江大學(xué),2013.
[8]賴積保,羅曉麗,余濤,等.一種支持云計(jì)算的遙感影像數(shù)據(jù)組織模型研究[J].計(jì)算機(jī)科學(xué),2013,40(7):80-83,115.
[9]秦強(qiáng),王晏民,黃明.基于MongoDB的海量遙感影像大數(shù)據(jù)存儲(chǔ)[J].北京建筑大學(xué)學(xué)報(bào),2015,31(1):62-66.
[10]梁海.MongoDB數(shù)據(jù)庫(kù)中Sharding技術(shù)應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(7):60-62,67.
[11]馮東煜,朱立谷,肖子達(dá),等.一種MongoDB集群數(shù)據(jù)布局優(yōu)化方法研究[J].計(jì)算機(jī)工程與應(yīng)用,2017,53(17):77-84.
[12]雷德龍,郭殿升,陳崇成,等.基于 MongoDB的矢量空間數(shù)據(jù)云存儲(chǔ)與處理系統(tǒng)[J].地球信息科學(xué)學(xué)報(bào),2014,16(4):507-516.
[13]江穎,鄔群勇,唐曙光,等.基于MongoDB的閩西客家文化數(shù)據(jù)存儲(chǔ)設(shè)計(jì)與分析[J].測(cè)繪工程,2016,25(3):56-60.
[14]張路路.基于MongoDB的大數(shù)據(jù)存儲(chǔ)方法研究與應(yīng)用[D].成都:成都理工大學(xué),2015.
[15]邱儒瓊,鄭麗娜,李兵.基于MongoDB的電子地圖瓦片數(shù)據(jù)存儲(chǔ)和服務(wù)研究[J].地理空間信息,2014,12(6):155-157,6.
[16]張堯,甘泉,劉建川.基于MongoDB的地理信息共享數(shù)據(jù)存儲(chǔ)模型研究[J].測(cè)繪,2014,37(4):147-150,172.