无码任你躁久久久久久久-激情亚洲一区国产精品-超碰97久久国产精品牛牛-久久se精品一区精品二区国产

首頁 > 文章中心 > 正文

空間基礎信息平臺分布式數據庫設計

前言:本站為你精心整理了空間基礎信息平臺分布式數據庫設計范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

空間基礎信息平臺分布式數據庫設計

摘要:國家級國土空間基礎信息平臺采用“1個主中心+N個分中心”的分布式架構。為實現多數據中心數據深度融合計算,本文開展了國家級國土空間基礎信息平臺分布式空間數據庫建設前期研究,提出了基于HBase的分布式空間數據庫存儲架構,開發了系統原型并進行了實驗驗證。實驗結果顯示,分布式空間數據庫HBase在地域分布的情況下,可以穩定高效地完成計算分析任務,網絡環境如果達到4.5Gbit/s(4.5千兆)以上,則不影響數據庫集群的查詢性能和計算集群的計算性能。該技術框架可有力支撐國家級國土空間基礎信息平臺的分布式建設模式。

關鍵詞:國土空間基礎平臺;分布式;數據庫;海量數據;HBase

0引言

國土空間基礎信息平臺按照“共建、共用、互聯、共享”的原則,集成整合并統一管理各級各類國土空間數據信息,為統一行使全民所有自然資源資產所有者職責、統一行使所有國土空間用途管制和生態保護修復職責,提升國土空間治理體系和治理能力現代化水平,提供基礎服務、數據服務、專題服務和業務應用服務,是國家重要的空間基礎設施[1]。國家級國土空間基礎信息平臺采用“1個主中心+N個分中心”的分布式建設模式,如圖1所示,數據物理分散、邏輯一體,通過平臺集中展現、調度。當前,主中心和部分分中心主要通過數據服務集成的方式實現數據集成和共享,該種方式可以滿足大多用戶的日常空間數據瀏覽、查詢、統計等基本需求,由于數據異構存儲及數據服務方式本身的局限性,難以實現跨數據中心的數據深度融合計算。涉及多數據中心數據的全國國土空間規劃綱要編制前期研究、執法督察、全國“三區三線”(指城鎮空間、農業空間、生態空間三種類型空間所對應的區域,以及分別對應劃定的城鎮開發邊界、耕地和永久基本田保護紅線、生態保護紅線三條控制線)劃定成果的比對分析等復雜空間計算分析,目前,仍采用數據分中心數據庫整庫物理遷移到主數據中心統一集中計算分析的方式。為維護數據的現勢性,該方式數據庫遷移成本較高,因此,開展分布式數據庫建設十分必要,通過對各數據中心數據進行統一的分布式存儲管理,實現數據可以跨數據中心進行任何形式的高效融合計算。面向國家級海量空間數據的分布式存儲、管理、計算的實際應用需求,本文提出了基于HBase分布式數據庫存儲架構。

1基于HBase的分布式存儲和管理現狀

近年來,分布式海量空間數據的存儲和管理成為研究熱點[2-3],HBase擁有高可靠性、高性能、可伸縮、實時讀寫的空間數據管理能力,成為分布式空間數據存儲和管理的主流技術之一。HBase既支持多種數據格式存儲,又具有較強的數據查詢、讀寫與擴展能力,適用于需要實時讀寫、隨機訪問超大規模數據的場景[4]。已有的研究基于HBase開展了分布式空間數據的存儲管理、計算等[5-9],相關的云企業和GIS企業也提出和研發了基于HBase的產品。華為云CloudTable提供基于HBase的分布式、可伸縮、全托管的NoSQL數據存儲服務,集成OpenTSDB和GeoMesa并提供時序數據庫和時空數據庫功能,提供了毫秒級的隨機讀寫能力,適用于海量結構化數據、半結構化數據、時序數據和時空位置數據的存儲和查詢應用,已廣泛應用于物聯網、車聯網、金融、智慧城市、氣象等海量數據存儲和在線查詢的場景[10]。阿里云推出的HBaseGanos是支持空間、時空、柵格、影像一體化管理的時空大數據引擎系統,系統集成GeoMesa和GeoServer,提供海量時空數據查詢、分析、共享功能,已廣泛應用于互聯網出行、實時GIS、IoT等海量時空大數據存儲、查詢、分析與數據挖掘[11]。SuperMap發布SDX+引擎,該引擎主要支持UDBX、HBase、PostGIS、HDFS、MongoDB、Elasticsearch等存儲數據庫,其中,HBase數據庫引擎支持多種數據格式和坐標,提供海量數據高并發、高效查詢功能,具有高性能、可彈性伸縮及分布式特性,支持PB級大數據存儲,同時滿足千萬級QPS并發,是分布式空間數據存儲和管理的首選[12]。本文針對國家級國土空間基礎信息平臺“1個主中心+N個分中心”的分布式架構,提出基于HBase+GeoMesa的分布式數據庫存儲架構。HBase作為分布式數據庫管理系統,負責數據庫管理,GeoMesa作為空間數據庫引擎,實現空間數據解析和空間索引。本文開發了系統原型,實現了ArcSDE數據庫遷移和分布式數據庫權限管理,并對關鍵技術進行驗證。結果表明,利用該技術路線可實現跨數據中心的數據高效融合計算。

2總體設計

2.1數據庫存儲策略設計

2.1.1數據中心數據庫設計考慮到數據中心之間的數據共享需求,本文按照“誰生產、誰負責”的原則,將各個數據中心數據庫設計為聯合的數據庫集群,這有利于提升基于跨數據中心的空間大數據分析計算性能。聯合的數據庫集群設計前提是在國家級數據中心之間建立千兆甚至萬兆級光纖網絡,為分布式數據庫提供數據傳輸支撐。2.1.2數據存儲現勢數據是指當前或近幾年經常訪問的空間數據,歷史數據是指訪問頻次較低、年代久遠的數據。現勢數據和歷史數據分開存儲在不同的數據庫集群中,有利于將優勢的計算機資源(硬盤I/O、內存和CPU)分配給訪問頻次高、性能要求高的現勢數據。為提供更高效的數據服務,相比歷史數據,現勢數據存儲較多的副本。2.1.3計算機資源共用空間大數據的查詢和計算等任務的性能瓶頸主要存在空間查詢方面,純粹的計算需求相對較少,但在很多場景下,仍然需要借助并行計算框架提高任務并行度。因此,本文采取數據庫集群與計算集群共用計算機資源的設計策略,這樣既可以滿足任務并行計算需求和分布式數據庫查詢需求,又不會造成CPU等計算資源爭用沖突。

2.2數據庫邏輯架構設計

分布式數據庫邏輯架構設計如圖2所示,包括HDFS、HBase、ZooKeeper和數據客戶端四個組成部分。HDFS負責存儲數據實體文件;HBase負責分布式數據庫管理;ZooKeeper作為分布式協調組件,協助HBase做分布式管理;數據客戶端通過ZooKeeper連接HBase。2.2.1HBase客戶端接口HBase客戶端接口包括NativeJavaAPI、HBaseShell、Thrift、REST、Pig、Hive等。本設計方案采用GeoMesa作為空間數據庫引擎,GeoMesa是基于NativeJavaAPI封裝的HBase客戶端,能夠實現對HBase空間數據的訪問。2.2.2ZooKeeperApacheZooKeeper是HBase集群的一個關鍵組件,主要作用是保證HBase集群只有一個HMaster節點,存儲HBase數據庫模式和數據庫表的元數據,實時監控RegionServer的上線和下線信息,并實時通知給HMaster存儲所有的Region尋址入口。2.2.3HBaseHBase服務端包括1個主服務器HMaster和多個Region服務器RegionServer。主服務器HMaster負責管理和維護HBase表的分區信息,維護Region服務器列表,分配Region,實現負載均衡。Region服務器RegionServer負責存儲和維護分配的Region,處理客戶端的讀寫請求。2.2.4HDFSHDFS包括NameNode、DataNode和SecondaryNameNode。NameNode主要用于協調集群中的數據存儲,管理HDFS的名稱空間和數據塊映射的信息,配置文件副本策略和處理客戶端的請求。DataNode用于存放具體數據塊的節點,主要負責數據讀寫,定期向NameNode發送心跳。SecondaryNameNode輔助NameNode收集文件系統運行的狀態信息,分擔工作量。

2.3關鍵技術

2.3.1空間數據索引空間數據索引是空間數據庫性能的關鍵。空間數據索引主要包括網格索引、四叉樹索引、R樹索引、Z索引等模型。本文采用Z索引技術通過GeoMesa構建空間數據庫。Z索引以一條二維或三維空間填充曲線的點值作為關鍵字,表達經度、緯度和時間,并將數據記錄存儲在Key-Value數據庫。二維Z索引的二階曲線如3所示。對于二階曲線,16個網格單元的地理編碼可以用4個比特(xyxy)表達。以左上角的網格單元為例,x值是00,y值是11,Geohash值就是0101。在HBase數據庫中,GeoMesa空間數據的Key-Value存儲結構如圖4所示。在圖4中,Z3(x,y,t)利用8個字節存儲空間數據索引,即Z索引;VALUE是存儲空間數據實體數據的部分。2.3.2負載均衡HBase通過Region數量實現負載均衡。HBase提供全局計劃、隨機分配計劃和批量啟動分配計劃三種負載均衡技術。全局計劃是最常見的負載均衡,貫穿于整個集群的平衡運行期,以特定時間間隔執行負載均衡。隨機分配計劃適用于為新加入的RegionServer隨機分配Region。批量啟動分配計劃應用于集群啟動時,決定將Region分配到哪臺機器。2.3.3讀寫分離通過以下兩種方法提高數據庫查詢響應性能。(1)通過設置hbase.ipc.server.callqueue.read.ratio參數,為數據庫讀取設置較多的響應線程,優先處理讀請求。(2)通過合理設置Key,使得Hbase把當前讀取和寫入的數據分配到不同的region,實現讀寫分離。

3系統部署

按照“1個主中心+N個分中心”的設計要求,數據庫物理部署設計分為1個主中心和N個國家級分中心。數據庫物理部署設計如圖5所示。主中心部署HDFS集群和HBase集群,其中集群主節點1部署HDFS的NameNode、HBase的HMaster、ZooKeeper集群節點ZooKeeper1,以及HDFS的DataNode和HBase的RegionServer。N個分中心主要部署HDFS的DataNode和HBase的RegionServer。需要強調的是,1個分中心需要設立主節點2,部署ZooKeeper2和HDFS的SecondaryNameNode。另外1個分中心需要在1個節點上部署ZooKeeper3(圖5已省略)。主中心和各個國家級分中心都可以通過ZooKeeper集群找到分布式數據庫地址,將各自的數據存儲到分布式數據庫。每個數據保留多個副本,副本可存儲在本中心的節點,也可存儲在其他中心的節點。ZooKeeper集群的3個節點分別部署在主中心和2個分中心的服務器,HDFS的NameNode和SecondaryNameNode也部署在主中心和1個分中心的服務器,集群存儲每個數據的多個副本。這樣的多項設計策略可最大限度地保障數據庫集群的魯棒性,在1個中心失聯或多個數據庫集群節點宕機的情況下,仍然能保證數據庫集群的正常運行和服務。根據現勢數據和歷史數據分開存儲的存儲策略,分布式數據庫集群分為現勢數據數據庫集群和歷史數據數據庫集群,2個集群均采用圖5的物理部署設計。其中,歷史數據數據庫集群分配的集群節點較少,現勢數據數據庫集群分配的集群節點較多,歷史數據數據庫集群節點同時作為現勢數據數據庫集群節點,這樣可以最大限度地利用集群資源。為了避免集群互相干擾,歷史數據數據庫集群可采用Docker容器部署。

4實驗測試

本文為驗證基于HBase的分布式數據庫存儲架構的可行性,利用不同可用區的華為云服務器建立分布式存儲環境,進行矢量數據的分布式空間運算應用案例測試。

4.1測試環境

測試環境基于華為云搭建,由1個主節點、2個分節點組成,HBase版本為2.0。主節點和分節點均配置8核、16GB內存、500G硬盤,網絡為4.5千兆網。

4.2測試結果分析

該測試采用永久基本農田數據和土地利用數據,相關測試數據通過GeoMesaAPI、GeoToolsAPI實現從OracleArcSDE到Hbase的遷移。永久基本農田數據和土地利用數據均為面狀數據,永久基本農田數據約包括1200萬條記錄,土地利用數據約包括1030萬條記錄。為驗證地域對空間運算的影響,該實驗分別利用華為云相同可用區和不同可用區模擬1個數據中心部署分布式數據庫和多中心部署分布式數據庫的情形,并在兩種條件下執行基本農田數據和土地利用數據的求交分析,記錄分析計算的完成耗時。實驗結果顯示,兩個圖層的相交結果約為1460萬條記錄。相同可用區求交耗時51分鐘,不同可用區耗時52分鐘,差異幾乎可以忽略。該結果表明,基于HBase的分布式數據庫集群節點在地域分布條件下,可以準確高效地完成分析計算任務,網絡環境如果達到4.5Gbit/s(4.5千兆)以上,則不影響數據庫集群的查詢性能和計算集群的計算性能。考慮未來分布式國土空間基礎信息平臺運行的高效穩定,本文建議各中心采用萬兆網相連。

5結束語

面向國家級海量空間數據分布式存儲、管理、計算的實際應用需求,本文提出基于HBase+GeoMesa的分布式數據庫存儲架構,并通過系統原型進行了實驗,結果驗證了本文提出的技術框架可行性。該技術路線可以解決國家級國土空間基礎信息平臺“1個主中心+N個分中心”數據跨中心難以深度融合計算的問題,實現統一的海量空間數據的高效存儲、計算、管理,為全國各級國土空間基礎信息平臺分布式存儲和計算設提供技術實現途徑。未來研究考慮進一步優化空間數據庫索引,采用更高效的空間索引提升查詢性能,并將分布式數據庫與并行計算框架Spark進行對接,進一步提升空間分析計算的效率。

作者:李治君 周俊杰 范延平 鄧頌平 單位: 自然資源部國土空間大數據工程技術創新中心 自然資源部信息中心

主站蜘蛛池模板: 九龙县| 磴口县| 岫岩| 岳普湖县| 南涧| 樟树市| 洪湖市| 潢川县| 察隅县| 华宁县| 醴陵市| 句容市| 梁山县| 新干县| 江都市| 曲麻莱县| 日土县| 海林市| 上栗县| 河北区| 九江县| 象山县| 深水埗区| 吉安市| 汪清县| 温州市| 汾西县| 聂荣县| 舞钢市| 平邑县| 云浮市| 双柏县| 建水县| 诸暨市| 龙游县| 南昌县| 慈溪市| 同江市| 镶黄旗| 兴安县| 九龙坡区|