孔小怡 付杰 劉洋 徐娟
摘? 要:近年來,在信息化建設(shè)中國家自主權(quán)顯得尤為重要。利用這次氣象信息化升級改造即“天擎”系統(tǒng)部署的契機(jī),甘肅省氣象信息中心選用南大通用公司的Gbase 8a MPP產(chǎn)品建設(shè)歷史分析庫,很大程度上滿足了用戶對長時間序列數(shù)據(jù)的需求。強(qiáng)大的數(shù)據(jù)庫性能得以支撐起地面、高空、海洋、農(nóng)氣、輻射、大氣成分、服務(wù)產(chǎn)品等全集數(shù)據(jù),同時數(shù)據(jù)分布策略、列存儲模式、并行數(shù)據(jù)加載、高可用機(jī)制、標(biāo)準(zhǔn)語言和接口等核心技術(shù)將會在數(shù)據(jù)服務(wù)中充分發(fā)揮優(yōu)勢。
關(guān)鍵詞:結(jié)構(gòu)化數(shù)據(jù);Gbase 8a MPP;分布式數(shù)據(jù)庫
中圖分類號:TP39? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)20-0144-04
Application of Domestic Analytical Database in Meteorological Data Storage
KONG Xiaoyi, FU Jie, LIU Yang, XU Juan
(Gansu Meteorological Information &Technology Equipment Support Center, Lanzhou? 730020, China)
Abstract: In recent years, national autonomy has become particularly important in the construction of informatization. Taking advantage of the opportunity of the meteorological information upgrading and transformation, the deployment of the “Tianqing” system, the Gansu Provincial Meteorological Information Center has selected the Gbase 8a MPP product from Nanda General Company to build a historical analysis library, which largely meets users' needs for long time series data. The powerful database performance can support a complete set of data such as ground, high altitude, ocean, agricultural gas, radiation, atmospheric composition, and service products. At the same time, core technologies such as data distribution strategy, column storage mode, parallel data loading, high availability mechanism, standard language, and interface will fully leverage their advantages in data services.
Keywords: structured data; Gbase 8a MPP; distributed database
0? 引? 言
數(shù)據(jù)庫是信息化建設(shè)的關(guān)鍵性支撐技術(shù),隨著數(shù)據(jù)互聯(lián)理念的不斷深化,數(shù)據(jù)庫技術(shù)也不斷迭代更新,以更好適應(yīng)持續(xù)高速膨脹的數(shù)據(jù)環(huán)境和數(shù)據(jù)需求。在數(shù)據(jù)庫的發(fā)展歷史上,其先后經(jīng)歷了層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫等各個階段。隨著數(shù)據(jù)庫關(guān)鍵技術(shù)在各個方面的快速發(fā)展,關(guān)系型數(shù)據(jù)庫已經(jīng)成為目前數(shù)據(jù)庫產(chǎn)品中最為重要的一員。20世紀(jì)80年代以來,幾乎所有的數(shù)據(jù)庫廠商推出的數(shù)據(jù)庫產(chǎn)品都支持關(guān)系型數(shù)據(jù)庫,即使一些非關(guān)系數(shù)據(jù)庫產(chǎn)品也幾乎都支持關(guān)系數(shù)據(jù)庫的接口。進(jìn)入21世紀(jì)以來,云計算的發(fā)展和大數(shù)據(jù)時代到來、分布式等新技術(shù)的出現(xiàn)也對數(shù)據(jù)庫的技術(shù)提出了新的要求,NewSQL概念[1]此時被提出。NewSQL是對各種新的可擴(kuò)展、高性能數(shù)據(jù)庫的統(tǒng)稱,這類數(shù)據(jù)庫不僅具有NoSQL對海量數(shù)據(jù)的存儲管理能力,還保持了傳統(tǒng)數(shù)據(jù)庫支持ACID和SQL等特性,同時還具有很好的擴(kuò)展性能。近年隨著國際局勢的日益緊張,信息網(wǎng)絡(luò)安全尤為重要,自主品牌硬軟件產(chǎn)品的全面替代已經(jīng)是大勢所趨[2]。中國自主品牌、南大通用公司研發(fā)的GBase 8aMPP分布式集群數(shù)據(jù)庫屬于NewSQL分析型數(shù)據(jù)庫,其在針對海量氣象數(shù)據(jù)存儲、查詢和關(guān)聯(lián)分析方面都有著卓越的處理能力,開始在數(shù)據(jù)庫大市場中占據(jù)一席重要的位置。
1? 數(shù)據(jù)存儲現(xiàn)狀
氣象數(shù)據(jù)龐大而繁雜,近20年來,伴隨科技不斷發(fā)展、氣象觀測技術(shù)不斷進(jìn)步、氣象信息系統(tǒng)不斷革新、新型氣象數(shù)據(jù)不斷被研發(fā)推廣、新型預(yù)報預(yù)測模型迭代、人工加自動觀測頻次增加、行業(yè)用戶數(shù)據(jù)需求持續(xù)增長等原因,氣象數(shù)據(jù)呈現(xiàn)出井噴式發(fā)展[3]。2022年省一級氣象部門的日數(shù)據(jù)存儲量就已經(jīng)達(dá)到了700 GB以上,各類氣象數(shù)據(jù)在數(shù)據(jù)庫內(nèi)日存儲記錄數(shù)達(dá)到千萬條以上。依托于大數(shù)據(jù)理念,這些氣象數(shù)據(jù)同樣被劃分為結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化據(jù)數(shù)據(jù)。觀測站采集到的原始數(shù)據(jù)以結(jié)構(gòu)化數(shù)據(jù)為主,在入庫時會進(jìn)行要素拆封,譬如溫、壓、濕、風(fēng)等要素30余類。用戶在調(diào)取使用數(shù)據(jù)時也更加傾向于對某一地區(qū)某一要素單獨(dú)進(jìn)行檢索反演,最終在反演結(jié)果上再進(jìn)行多要素的疊加綜合分析。在很長的一段時間里,結(jié)構(gòu)化數(shù)據(jù)主要依托于小機(jī)加存儲的SQLserver數(shù)據(jù)庫系統(tǒng)進(jìn)行數(shù)據(jù)存儲和數(shù)據(jù)服務(wù),用戶通過直連數(shù)據(jù)庫的方式進(jìn)行數(shù)據(jù)檢索及使用,這種單機(jī)數(shù)據(jù)庫無論是數(shù)據(jù)存儲承載力還是用戶并聯(lián)訪問效率以及安全機(jī)制都是極其低下的,數(shù)據(jù)存儲表結(jié)構(gòu)由甘肅省信息中心同事聯(lián)合研發(fā)創(chuàng)建,合理性和擴(kuò)展性明顯不足。2015年開始,從國家局開始自上而下部署全國氣象綜合信息共享平臺(CIMISS),系統(tǒng)由四臺服務(wù)器構(gòu)成的oracle數(shù)據(jù)庫集群,其中只有兩臺服務(wù)器承載實(shí)時數(shù)據(jù)存儲。用戶通過接口訪問方式進(jìn)行數(shù)據(jù)調(diào)取,將用戶與原始數(shù)據(jù)進(jìn)行物理隔離。即便如此,依托于兩臺服務(wù)器的實(shí)時數(shù)據(jù)庫中也無法承擔(dān)長時間序列的數(shù)據(jù)存儲,為了數(shù)據(jù)庫系統(tǒng)的穩(wěn)定運(yùn)行,數(shù)據(jù)存儲時效一降再降,最終地面分鐘級數(shù)據(jù)只能保存一個月。
目前行業(yè)內(nèi)涉及的結(jié)構(gòu)化觀測資料主要包括地面資料、高空資料、海洋資料、農(nóng)氣資料、輻射資料、大氣資料及服務(wù)產(chǎn)品等。這些數(shù)據(jù)或是通過bufr消息傳輸方式或是通過文件級ftp傳輸方式傳輸,數(shù)據(jù)通過入庫解析程序被拆分為數(shù)十個具體要素信息后入庫。這里以地面小時數(shù)據(jù)為例,一條數(shù)據(jù)信息中除了記錄有溫、壓、濕、風(fēng)等常規(guī)要素外,同時還記錄了采集器參數(shù)、臺站參數(shù)、資料采集時間、各類要素極值、極值出現(xiàn)時間等近200個要素信息?,F(xiàn)階段全國有2 550余個地面自動站點(diǎn)、17 200余個區(qū)域站點(diǎn),這些站點(diǎn)不間斷向省局信息傳輸5 min加密數(shù)據(jù)。整個數(shù)據(jù)集的體量將會非常巨大,并且持續(xù)快速增長。這種情況極大地制約了用戶對數(shù)據(jù)的使用及二次開發(fā)。
作為用戶訪問最為密集的資料,地面數(shù)據(jù)日訪問量為848.27 GB,占所有資料日訪問量的48.7%,日訪問次數(shù)為27.92萬次,海量的數(shù)據(jù)被實(shí)時存儲和讀取,每日數(shù)據(jù)交互大數(shù)百萬次。在這之中,結(jié)構(gòu)化數(shù)據(jù)的使用量占所有數(shù)據(jù)的一半以上,是氣象用戶的主要關(guān)注點(diǎn)。用戶對結(jié)構(gòu)化數(shù)據(jù)進(jìn)行要素選取后綜合統(tǒng)計分析?;诮Y(jié)構(gòu)化數(shù)據(jù)特點(diǎn)和氣象業(yè)務(wù)特點(diǎn),GBase 8a數(shù)據(jù)庫在這種復(fù)雜關(guān)聯(lián)查詢、準(zhǔn)實(shí)時即離席查詢方面展現(xiàn)出了卓越的性能。如圖1所示。
氣象觀測數(shù)據(jù)正確、及時、有效是整個氣象預(yù)報預(yù)測業(yè)務(wù)有序開展、科研順利推進(jìn)的基石。對大量高質(zhì)量觀測數(shù)據(jù)抽取、分析、加工再處理是氣象工作開展的第一步。最終實(shí)現(xiàn)對海量數(shù)據(jù)進(jìn)行價值最大化提取、總結(jié)經(jīng)驗(yàn)規(guī)律、優(yōu)化算法、形成成果結(jié)論,最終貢獻(xiàn)于氣象預(yù)報、預(yù)測、預(yù)警業(yè)務(wù)。
2? 系統(tǒng)建設(shè)
針對長時間序列歷史數(shù)據(jù)的無法存放及讀取分析不能滿足需求等問題,亟需重新建設(shè)一套大規(guī)模分布式數(shù)據(jù)庫。2020年開始,我省開展建設(shè)全新的分析型數(shù)據(jù)庫分布式集群。GBase 8a MPP Cluster數(shù)據(jù)庫系統(tǒng)是一款Shared Nothing架構(gòu)的分布式并行數(shù)據(jù)庫集群,具備高性能、高可用、高擴(kuò)展、多兼容等特性[4],可以為超大規(guī)模數(shù)據(jù)管理提供高性價比的通用計算平臺,在架構(gòu)設(shè)計、資源管理、功能實(shí)現(xiàn)等方面這款數(shù)據(jù)庫產(chǎn)品都可以有效地解決大量氣象結(jié)構(gòu)化數(shù)據(jù)的長時間序列存儲、統(tǒng)計計算等問題。數(shù)據(jù)不再被分片存儲,而是集中、統(tǒng)一的進(jìn)行存儲,實(shí)現(xiàn)了各種數(shù)據(jù)之間的整合管理,增強(qiáng)了數(shù)據(jù)庫的數(shù)據(jù)分享能力。GBase 8a數(shù)據(jù)庫以更低的成本、更高的性能,較好地契合了氣象歷史數(shù)據(jù)的數(shù)據(jù)存儲需求,MPP集群支持節(jié)點(diǎn)動態(tài)擴(kuò)展,橫向擴(kuò)展無須停止服務(wù),既保證了服務(wù)的連貫性,又保證了數(shù)據(jù)處理能力。同時集群部署、負(fù)載均衡、計算分布、存儲分布[5]有效避免了單節(jié)點(diǎn)故障和性能瓶頸。如圖2所示。
目前我省建立的GBase 8a數(shù)據(jù)庫由10臺服務(wù)器和兩臺萬兆光纖交換機(jī)連接而成,組成內(nèi)外兩個獨(dú)立網(wǎng)絡(luò)。數(shù)據(jù)交互和用戶訪問相互不干涉重疊,有效提高網(wǎng)絡(luò)利用率。每臺服務(wù)器配置了22塊1.2 TB的SAS盤,以RAID50方式有效保證數(shù)據(jù)安全。
數(shù)據(jù)庫系統(tǒng)由兩個角色組成,管理集群和數(shù)據(jù)集群。1臺作為純管理節(jié)點(diǎn)和監(jiān)控節(jié)點(diǎn),2臺作為兼容管理節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn),7臺作純?yōu)閿?shù)據(jù)節(jié)點(diǎn)。9臺數(shù)據(jù)節(jié)點(diǎn)構(gòu)成的數(shù)據(jù)集群,數(shù)據(jù)節(jié)點(diǎn)之間兩兩交叉進(jìn)行主備。管理集群部署調(diào)度(GCluster)和管理(GCware)組件,數(shù)據(jù)集群部署分部署存儲(GNode)組件。GCluster負(fù)責(zé)SQL解析、優(yōu)化、分布式執(zhí)行計劃生成和執(zhí)行調(diào)度。GNode負(fù)責(zé)在數(shù)據(jù)節(jié)點(diǎn)上的實(shí)際存儲并從GCluster接收和執(zhí)行經(jīng)分解的執(zhí)行計劃,繼而將結(jié)果返回給GCluster。GCware負(fù)責(zé)給各節(jié)點(diǎn)GCluster實(shí)例見共享信息以及控制多副本數(shù)據(jù)操作時提供可操作性節(jié)點(diǎn),控制各節(jié)點(diǎn)數(shù)據(jù)一致性狀態(tài)。系統(tǒng)邏輯架構(gòu)如圖3所示。
3? 數(shù)據(jù)存取
數(shù)據(jù)經(jīng)過前期解碼處理后被存入緩沖庫,通過GBase 8a內(nèi)部的consumer消費(fèi)功能組件消費(fèi)kafka消息隊(duì)列,將數(shù)據(jù)同步至GBase分析庫,做到數(shù)據(jù)庫邏輯層獨(dú)立。數(shù)據(jù)入庫流程如圖4所示。
GBase數(shù)據(jù)庫以列存儲模式,不讀取無效列,提高了I/O效率,這也契合結(jié)構(gòu)化數(shù)據(jù)氣象要素分析習(xí)慣。同時MPP并行多節(jié)點(diǎn)計算、聯(lián)邦并行數(shù)據(jù)加載,產(chǎn)生m(線程)×n(節(jié)點(diǎn))的效果,良好支撐起氣候監(jiān)測預(yù)測、決策服務(wù)等業(yè)務(wù)系統(tǒng)對數(shù)據(jù)服務(wù)和分析的需求。
數(shù)據(jù)庫表結(jié)構(gòu)繼承了CIMISS數(shù)據(jù)庫表結(jié)構(gòu),對數(shù)據(jù)文件進(jìn)行全要素拆解,數(shù)據(jù)表包括分鐘、小時、月、旬、年、年代,等等,用戶的個性化需求在經(jīng)過審核后,通過統(tǒng)一服務(wù)器接口,選擇不同數(shù)據(jù)類別的進(jìn)行調(diào)用或下載,保證數(shù)據(jù)的安全隔離。
4? 應(yīng)用情況
目前甘肅省GBase分析庫共有300余張數(shù)據(jù)表(包括實(shí)時業(yè)務(wù)數(shù)據(jù)表及行業(yè)專題數(shù)據(jù)庫),包含了地面(分鐘、小時、再分析)、高空(各層次數(shù)據(jù))、農(nóng)氣(人工觀測、自動觀測)、大氣成分(酸雨等)、沙塵資料、輻射資料等所涉及的所有結(jié)構(gòu)化數(shù)據(jù)。在數(shù)據(jù)表建設(shè)完成后,進(jìn)行了大量數(shù)據(jù)的歷史資料導(dǎo)入工作,保證部分?jǐn)?shù)據(jù)的歷史完整性,包括農(nóng)氣資料,自2008年開始;沙塵資料,自2015年開始;地面資料,自1951年開始等。截至目前,部分?jǐn)?shù)據(jù)存儲時間序列能延伸到1951年。極大地滿足了用戶需求。現(xiàn)階段共計有122個kafka消息同步隊(duì)列實(shí)時運(yùn)行,進(jìn)行歷史分析庫實(shí)時數(shù)據(jù)同步。用戶通過接口對數(shù)據(jù)進(jìn)行訪問,因此不會因?yàn)椴⑿羞B接數(shù)過多造成數(shù)據(jù)庫壓力。
以查詢性能為例對數(shù)據(jù)庫性能進(jìn)行評測,當(dāng)采取select特定列的方式進(jìn)行檢索,避免對全部列進(jìn)行檢索,該行為既能減少傳輸數(shù)據(jù)同時還能進(jìn)一步提升性能,即便是數(shù)據(jù)量很大的地面分鐘和小時表(80億條數(shù)據(jù)),常規(guī)檢索時間也能夠保持在300 ms以內(nèi),這能很好反映出GBase 8a數(shù)據(jù)庫事務(wù)執(zhí)行的高效性。檢索用時舉例如圖5所示。
由于列存儲模式較高的數(shù)據(jù)壓縮比,在做完全量數(shù)據(jù)導(dǎo)入后數(shù)據(jù)空間使用率平均僅為5%。未來相當(dāng)長一段時間內(nèi)都不需要再進(jìn)行存儲規(guī)模擴(kuò)容。
表1能很好地反映出GBase數(shù)據(jù)庫與Oracle數(shù)據(jù)庫相比之下卓越的數(shù)據(jù)存儲承載能力。
5? 結(jié)? 論
通過Gbase 8A MPP數(shù)據(jù)庫的搭建,10臺服務(wù)器組建的集群以及龐大的磁盤存儲容量,解決了存儲瓶頸,甘肅省結(jié)構(gòu)化歷史數(shù)據(jù)存儲需求得到了極大的滿足,時間存儲序列擴(kuò)展至數(shù)十年;高性能服務(wù)器有效支撐起日常的數(shù)據(jù)交互,常規(guī)檢索和統(tǒng)計效率也得到了極大的提升,響應(yīng)能力都明顯優(yōu)于以往,能夠滿足用戶的數(shù)據(jù)使用需求;可靠性、穩(wěn)定性、安全性、可擴(kuò)展性都得以優(yōu)化。GBase8a數(shù)據(jù)庫在氣候天氣分析、歷史數(shù)據(jù)融合反演等業(yè)務(wù)中開始發(fā)揮出重要作用。
參考文獻(xiàn):
[1] 徐述,汪彥,曾海洋,等.大數(shù)據(jù)應(yīng)用下的新型分布式數(shù)據(jù)庫NewSQL [J].數(shù)字技術(shù)與應(yīng)用,2018,36(8):51-52.
[2] 馬季芳.氣象信息網(wǎng)絡(luò)安全發(fā)展?fàn)顩r研究 [J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2021(9):120-121.
[3] 沈文海,周勇,唐偉,等.淺論氣象數(shù)據(jù)發(fā)展規(guī)劃 [J].中國信息化,2020(9):100-102.
[4] 邵麒,李亞鵬,佟文朋.基于分布式系統(tǒng)設(shè)計中NewSQL數(shù)據(jù)庫技術(shù)分析 [J].電子制作,2021(24):66-67+46.
[5] 張彩云,池繼忠.分布式數(shù)據(jù)庫在氣象數(shù)據(jù)存儲中的應(yīng)用 [J].信息技術(shù)與信息化,2021(10):119-121.
作者簡介:孔小怡(1989—),女,漢族,甘肅永靖人,工程師,本科,研究方向:氣象信息技術(shù)。
收稿日期:2023-03-13