徐擁軍,何文春,劉 振,王 琦,倪學(xué)磊
(國家氣象信息中心,北京 100081)
?
海量氣象站點(diǎn)數(shù)據(jù)分布式存儲測試及其應(yīng)用
徐擁軍,何文春,劉 振,王 琦,倪學(xué)磊
(國家氣象信息中心,北京 100081)
站點(diǎn)數(shù)據(jù)是氣象觀測數(shù)據(jù)的主要組成部分,每日檢索量大,且時(shí)效要求高。為了更好地管理與服務(wù)氣象資料,國家氣象信息中心從2013年開始致力于新存儲技術(shù)在氣象領(lǐng)域的探索。為了更好地兼容目前的存儲與服務(wù)方式,選擇了分布式關(guān)系型數(shù)據(jù)庫作為技術(shù)方案,并開展了一系列仿真氣象業(yè)務(wù)場景的測試。測試結(jié)果表明,分布式數(shù)據(jù)庫無論在數(shù)據(jù)插入還是在檢索方面都具有較好的性能,同時(shí)具有較好的可靠性、靈活性和擴(kuò)展性。根據(jù)測試結(jié)論,搭建了分布式存儲試驗(yàn)系統(tǒng),導(dǎo)入了CIMISS地面、高空等建站以來的歷史數(shù)據(jù),并接入了站點(diǎn)數(shù)據(jù)的實(shí)時(shí)流程。實(shí)現(xiàn)了海量站點(diǎn)資料的完全在線,同時(shí)也滿足了氣象業(yè)務(wù)對資料高時(shí)效性的需求。
氣象站點(diǎn)數(shù)據(jù);分布式存儲;自動站;性能測試
氣象部門是一個以數(shù)據(jù)信息為核心的領(lǐng)域,2000年之前,其核心業(yè)務(wù)問題主要是通信和計(jì)算(NWP),近十幾年來,核心業(yè)務(wù)問題逐漸轉(zhuǎn)向數(shù)據(jù)信息存儲、應(yīng)用和服務(wù)[1]。隨著氣象事業(yè)的快速發(fā)展,氣象探測設(shè)備不斷增加,觀測臺站上傳的數(shù)據(jù)正在急劇增加,存儲總量呈現(xiàn)幾何式增長。目前氣象數(shù)據(jù)每年增量達(dá)到PB量級,已具備大數(shù)據(jù)的特征。隨著公眾對氣象服務(wù)需求的日益增長,要求天氣預(yù)報(bào)向精細(xì)化、全時(shí)空和集合預(yù)報(bào)的方向發(fā)展,氣象服務(wù)多元化并從傳統(tǒng)氣象向“公共氣象、安全氣象、資源氣象”拓展[2]。隨著氣象服務(wù)方式的改變,對氣象資料服務(wù)的時(shí)效越來越高,氣象發(fā)展面臨著更大的挑戰(zhàn)。
面對海量氣象數(shù)據(jù),傳統(tǒng)的數(shù)據(jù)存儲管理方式越來越不適應(yīng)氣象數(shù)據(jù)服務(wù)的需求,急需引進(jìn)新技術(shù)解決面臨的困境。由于大數(shù)據(jù)特征,氣象數(shù)據(jù)存儲管理系統(tǒng)必須具備以下三個特征:①高可用性。具備數(shù)據(jù)冗余存儲,保證氣象資料存儲安全和業(yè)務(wù)運(yùn)行連續(xù)性。②高性能??焖偃霂齑鎯εc檢索服務(wù)。③高可擴(kuò)展性。滿足快速氣象數(shù)據(jù)增長時(shí),具備橫向大規(guī)模擴(kuò)展性。
氣象資料種類很多,在存儲上分為結(jié)構(gòu)化與非結(jié)構(gòu)化兩種方式,結(jié)構(gòu)化資料包含地面、高空、海洋、水文、氣象輻射、農(nóng)業(yè)氣象等氣象站點(diǎn)資料,非結(jié)構(gòu)化資料包含雷達(dá)、衛(wèi)星、數(shù)值預(yù)報(bào)等產(chǎn)品資料。在整個氣象數(shù)據(jù)中結(jié)構(gòu)化資料占據(jù)很重要一部分,地面自動站資料占據(jù)結(jié)構(gòu)化數(shù)據(jù)的90%以上。結(jié)構(gòu)化資料是氣象預(yù)報(bào)、預(yù)警服務(wù)重點(diǎn)之一,目前采用的傳統(tǒng)關(guān)系型數(shù)據(jù)庫技術(shù)已經(jīng)不能滿足海量氣象結(jié)構(gòu)化資料存儲和服務(wù)時(shí)效的需求。大數(shù)據(jù)技術(shù)的快速發(fā)展,為解決結(jié)構(gòu)化資料服務(wù)時(shí)效提供了多種解決方案,本文以地面自動站資料為測試數(shù)據(jù)源,重點(diǎn)介紹分布式關(guān)系型數(shù)據(jù)庫在氣象領(lǐng)域的探索試驗(yàn)工作,主要包含分布式存儲性能測試以及在業(yè)務(wù)中的應(yīng)用。
1951—2005年,地面站(2 000多個)主要為人工觀測,以小時(shí)為單位收集數(shù)據(jù),年數(shù)據(jù)增量為GB量級;2005年以后,地面氣象觀測自動站的建設(shè),使得觀測要素、觀測頻次得到極大提高[3],年數(shù)據(jù)增量在2011年達(dá)到TB量級。截至2014年6月,氣象業(yè)務(wù)數(shù)據(jù)經(jīng)多年的積累,現(xiàn)有數(shù)據(jù)規(guī)模約為12TB(單份數(shù)據(jù)),其中,2012年7月—2014年7月的數(shù)據(jù)量為3.5TB(不含索引數(shù)據(jù)),表現(xiàn)出一個大幅增長的趨勢。由于觀測自動化,觀測臺站建設(shè)變得越來越容易,2005年6月以來,自動站臺站數(shù)每年都有相應(yīng)的增長,增長趨勢見圖1,統(tǒng)計(jì)數(shù)據(jù)來源于每年6月國家氣象信息中心接收自動站的上報(bào)量。
圖1 自動站站點(diǎn)數(shù)增長趨勢Fig.1 The growth trend of automatic meteorological station number
目前,在地面氣象資料數(shù)據(jù)庫中,小時(shí)資料表和分鐘資料表的數(shù)據(jù)量最大,自動站全要素表小時(shí)資料5萬站1 h一條記錄。地面自動站分鐘降水?dāng)?shù)據(jù)表中,約有1.8萬左右的雨量觀測站1 min采集一次信息,其余區(qū)域觀測站為5 min采集一次。其它多要素分鐘資料為5萬站5 min 1條記錄??傮w來看,當(dāng)前數(shù)據(jù)庫的每日數(shù)據(jù)增加總量為350~450萬條記錄,每日的數(shù)據(jù)增長規(guī)模已達(dá)4~5 GB。
在不遠(yuǎn)的將來,隨著業(yè)務(wù)拓展的需要,所有分鐘資料數(shù)據(jù)表將是5萬個觀測站每分鐘采集一次信息,其中,地面自動站分鐘降水?dāng)?shù)據(jù)表字節(jié)數(shù)為400、地面分鐘氣壓、溫度、濕度、風(fēng)速、地溫常用要素?cái)?shù)據(jù)表字節(jié)數(shù)為400、地面分鐘其它要素?cái)?shù)據(jù)表字節(jié)數(shù)600,3個表字節(jié)總數(shù)為1.4 KB。若以每日增量5萬×60×24=72 00萬記錄計(jì)算,其每日數(shù)據(jù)規(guī)模增量約為100.8 GB左右。所有小時(shí)資料表將是5萬個觀測站每小時(shí)采集一次信息,其中,中國地面逐小時(shí)探測資料數(shù)據(jù)表字節(jié)數(shù)為1.2 KB、地面逐小時(shí)探測原始資料數(shù)據(jù)表字節(jié)數(shù)為4 KB,兩表字節(jié)總數(shù)為5.2 KB。若以每日增量5萬×24=120萬記錄計(jì)算,其每日數(shù)據(jù)規(guī)模增量約為6.2 GB左右。因此,未來數(shù)據(jù)庫每日數(shù)據(jù)增長總規(guī)模將達(dá)到約107 GB左右。
隨著新增觀測臺站數(shù)量的增加以及觀測頻次提高,數(shù)據(jù)將大幅增長,這給檢索的時(shí)效要求帶來嚴(yán)重的壓力。如何提高大數(shù)據(jù)規(guī)模下的查詢性能,尤其是在多用戶并發(fā)訪問時(shí)滿足查詢要求,將是一個非常大的難題。
分布式數(shù)據(jù)庫系統(tǒng)是物理上分散而邏輯上集中的數(shù)據(jù)庫系統(tǒng),其使用計(jì)算機(jī)網(wǎng)絡(luò)將地理位置分散的多個邏輯單位連接起來,共同組成一個統(tǒng)一的數(shù)據(jù)庫系統(tǒng),是在集中式數(shù)據(jù)庫基礎(chǔ)上發(fā)展起來的,除了提供集中式數(shù)據(jù)庫的功能外,還提供數(shù)據(jù)跟蹤、分布式查詢處理、分布式事務(wù)管理、復(fù)制數(shù)據(jù)管理、安全性管理等功能,系統(tǒng)主要有如下特點(diǎn):數(shù)據(jù)具有物理分布性;分散在各個節(jié)點(diǎn)的數(shù)據(jù),邏輯上卻構(gòu)成一個整體,有一個分布式數(shù)據(jù)庫管理系統(tǒng)進(jìn)行管理;各個節(jié)點(diǎn)的數(shù)據(jù)由本地的數(shù)據(jù)庫系統(tǒng)分別管理。同時(shí)具有以下優(yōu)點(diǎn):良好的可靠性和可用性、較大的靈活性和可伸縮性、經(jīng)濟(jì)性、數(shù)據(jù)分布透明性和良好的節(jié)點(diǎn)自治性等[4]。基于氣象數(shù)據(jù)存儲服務(wù)的需求,在分布式數(shù)據(jù)庫系統(tǒng)中進(jìn)行了以下幾個方面的功能測試。
3.1 高性能
傳統(tǒng)關(guān)系數(shù)據(jù)庫能勉強(qiáng)應(yīng)付上萬次SQL查詢請求,但難以滿足數(shù)據(jù)庫高并發(fā)讀寫的需求。自動站資料在未來5 a,每分鐘需要進(jìn)行6萬站次數(shù)據(jù)的入庫操作,同時(shí)具有400~600個用戶的并發(fā)數(shù)據(jù)檢索服務(wù)。傳統(tǒng)關(guān)系型數(shù)據(jù)庫在此情況下,即使升級硬件,硬盤I/0也將面臨極大的瓶頸。
3.1.1 入庫性能測試 主要驗(yàn)證分布式關(guān)系型數(shù)據(jù)庫進(jìn)行自動站資料入庫能力。具體方法如下:①導(dǎo)入上億數(shù)據(jù)記錄,積壓一批自動站原始報(bào)文資料(比如1 d);②利用自動站解碼程序,將自動站原始觀測報(bào)文解析為數(shù)據(jù)庫插入SQL語句,通過數(shù)據(jù)庫提供的接口進(jìn)行數(shù)據(jù)入庫操作;③截取入庫過程中的一段時(shí)間,查詢?nèi)霂煊涗洈?shù),計(jì)算平均每分鐘入庫量。
3.1.2 高并發(fā)檢索性能 主要驗(yàn)證在實(shí)時(shí)數(shù)據(jù)入庫(目前每5 min 5萬記錄入庫)的同時(shí),不同并發(fā)用戶隨機(jī)檢索測試用例,并將檢索數(shù)據(jù)返回內(nèi)存的響應(yīng)時(shí)間。測試方法如下:①編寫模擬氣象資料檢索業(yè)務(wù)的并發(fā)檢索程序;②在模擬并發(fā)用戶的背景服務(wù)器上運(yùn)行不同并發(fā)數(shù)的檢索業(yè)務(wù)程序;③在模擬客戶端服務(wù)器上運(yùn)行1個氣象業(yè)務(wù)檢索應(yīng)用,并記錄檢索用例的響應(yīng)時(shí)間;④統(tǒng)計(jì)分析各個用例的時(shí)間,統(tǒng)計(jì)量為檢索用例的平均時(shí)間、最大最小時(shí)間以及檢索時(shí)間標(biāo)準(zhǔn)差。為了降低異常數(shù)據(jù)對整體性能的影響,在統(tǒng)計(jì)平均時(shí)間采用去除最大值和最小值后的平均值。平均時(shí)間可有效評估數(shù)據(jù)庫用例檢索的整體性能,最大、最小時(shí)間以及檢索時(shí)間標(biāo)準(zhǔn)差可評估用例檢索波動性,有助于了解整體數(shù)據(jù)庫檢索穩(wěn)定性。
3.2 高可靠性與可用性
由于分布式數(shù)據(jù)庫采用相對廉價(jià)的機(jī)器進(jìn)行整體系統(tǒng)搭架,各個節(jié)點(diǎn)的可靠性不高,為了保障整個系統(tǒng)的可靠性,分布式數(shù)據(jù)庫采用多副本冗余策略。通過該項(xiàng)測試驗(yàn)證在單個節(jié)點(diǎn)故障場景中,整個系統(tǒng)是否能正常運(yùn)行,節(jié)點(diǎn)故障前后數(shù)據(jù)是否完整。測試方法如下:①檢索若干條SQL語句,并將結(jié)果存儲;②拔除某個節(jié)點(diǎn)的網(wǎng)絡(luò),使之脫離整個數(shù)據(jù)庫集群;③驗(yàn)證節(jié)點(diǎn)故障后,資料入庫、檢索是否正常運(yùn)行。執(zhí)行節(jié)點(diǎn)故障前的SQL語句,驗(yàn)證數(shù)據(jù)結(jié)果是否一致。
3.3 靈活性與可擴(kuò)展性
在傳統(tǒng)集中式數(shù)據(jù)庫系統(tǒng)中,系統(tǒng)設(shè)計(jì)時(shí)需要對未來業(yè)務(wù)發(fā)展給出正確的評估,以及充分考慮系統(tǒng)的存儲和處理能力,在業(yè)務(wù)運(yùn)行初期,容易造成資源浪費(fèi),后期雖然留有余地但仍不能適應(yīng)變化的需要。升級系統(tǒng)不但會影響應(yīng)用的正常運(yùn)行,而且當(dāng)升級涉及不兼容的硬件或系統(tǒng)軟件有修改時(shí),應(yīng)用軟件也必須進(jìn)行相應(yīng)的修改,代價(jià)十分昂貴。分布式數(shù)據(jù)庫系統(tǒng)增加節(jié)點(diǎn)不但容易而且不會影響現(xiàn)有系統(tǒng)結(jié)構(gòu)和系統(tǒng)的正常運(yùn)行,擴(kuò)展節(jié)點(diǎn)后性能將得到提升。通過該項(xiàng)測試,驗(yàn)證分布式數(shù)據(jù)庫增加節(jié)點(diǎn)過程中是否影響現(xiàn)有業(yè)務(wù)運(yùn)行,節(jié)點(diǎn)增加后性能提升曲線。測試方法如下:①在一定數(shù)據(jù)量的數(shù)據(jù)庫中,進(jìn)行測試用例檢索;②增加N個數(shù)據(jù)庫節(jié)點(diǎn);③驗(yàn)證增加節(jié)點(diǎn)對現(xiàn)有氣象數(shù)據(jù)入庫/查詢檢索的影響;④記錄節(jié)點(diǎn)增加后,在數(shù)據(jù)均衡期間數(shù)據(jù)檢索的效率;⑤記錄數(shù)據(jù)完成均衡的時(shí)間,數(shù)據(jù)均衡后,氣象數(shù)據(jù)檢索的效率。
4.1 測試環(huán)境
為了驗(yàn)證分布式數(shù)據(jù)庫系統(tǒng)管理海量結(jié)構(gòu)化氣象數(shù)據(jù)可能性與適應(yīng)性,利用20臺PC服務(wù)器、2臺萬兆交換機(jī)(由于測試服務(wù)器網(wǎng)卡限制,測試使用千兆網(wǎng)口),仿真業(yè)務(wù)環(huán)境搭建了氣象數(shù)據(jù)分布式存儲測試平臺。服務(wù)器配置如下表1,網(wǎng)絡(luò)布局如圖2。
表1 測試服務(wù)器性能參數(shù)
圖2 測試環(huán)境網(wǎng)絡(luò)布局Fig.2 The network of test system
4.2 測試數(shù)據(jù)
采用2個數(shù)據(jù)副本保障節(jié)點(diǎn)故障時(shí)數(shù)據(jù)的可用性。在各項(xiàng)性能測試之前,導(dǎo)入單份550GB(單表5.5億的記錄),整個集群存儲1.65TB歷史數(shù)據(jù),后續(xù)測試均在該數(shù)據(jù)基礎(chǔ)上開展。
實(shí)時(shí)數(shù)據(jù)完全模擬現(xiàn)有業(yè)務(wù),接收各省上傳的自動站信息,利用入庫程序?qū)崟r(shí)處理并存儲在數(shù)據(jù)庫中,然后提供檢索服務(wù)。針對氣象業(yè)務(wù)特征以及用戶檢索習(xí)慣,選定了7個常用典型用例,涉及到實(shí)時(shí)數(shù)據(jù)檢索、單站長時(shí)間序列檢索以及統(tǒng)計(jì)檢索3個方面,詳見表2。
4.3 測試結(jié)果分析
傳統(tǒng)數(shù)據(jù)庫采用目前常用的關(guān)系數(shù)據(jù)庫Oracle,服務(wù)器為IBM 740,其它與分布式測試環(huán)境相同。整個測試過程仿真氣象業(yè)務(wù)場景,既有站點(diǎn)數(shù)據(jù)的入庫又有測試用戶的檢索。檢索結(jié)果為超過200個檢索樣本的平均值。
4.3.1 資料入庫性能 驗(yàn)證單位時(shí)間內(nèi),通過入庫程序解析自動站要素信息并存儲在數(shù)據(jù)庫的記錄數(shù)。測試時(shí)分布式采用9個數(shù)據(jù)庫存儲節(jié)點(diǎn),1臺入庫服務(wù)器。與傳統(tǒng)數(shù)據(jù)庫的對比結(jié)果見表3。
表2 氣象結(jié)構(gòu)化數(shù)據(jù)檢索用例說明
4.3.2 高可靠性與可用性 驗(yàn)證在數(shù)據(jù)庫某個節(jié)點(diǎn)發(fā)生故障時(shí)對業(yè)務(wù)無影響。在9個存儲節(jié)點(diǎn)環(huán)境中,拔出任一節(jié)點(diǎn)的網(wǎng)線使之脫離數(shù)據(jù)庫集群,模擬節(jié)點(diǎn)故障。通過測試,節(jié)點(diǎn)拔出前后,實(shí)時(shí)數(shù)據(jù)入庫未出現(xiàn)中斷,檢索應(yīng)用服務(wù)也能正常運(yùn)行。并且節(jié)點(diǎn)拔出前后,相同檢索SQL語句檢索的結(jié)果完全一致,數(shù)據(jù)無丟失。
表3 入庫性能對比
4.3.3 高并發(fā)檢索性能 驗(yàn)證測試用例在不同并發(fā)背景環(huán)境中檢索性能是否符合業(yè)務(wù)需求。在進(jìn)行高并發(fā)檢索測試之前,為了真實(shí)有效地了解對數(shù)據(jù)庫施壓量,需要對每臺背景服務(wù)器最大加壓數(shù)進(jìn)行測試。通過對單臺背景服務(wù)器分別進(jìn)行40、60、80、100個模擬用戶同時(shí)檢索,以及對背景服務(wù)器各項(xiàng)性能指標(biāo)的監(jiān)視,得到系統(tǒng)資源使用情況,最后確認(rèn)單臺背景服務(wù)器并發(fā)數(shù)不超過80,詳見表4。
表4 背景服務(wù)器不同并發(fā)資源使用參數(shù)
利用分布式環(huán)境中9個存儲節(jié)點(diǎn),9個背景服務(wù)器,1個模擬客戶端服務(wù)器以及1個入庫服務(wù)器,得到該環(huán)境中7個測試用例的檢索性能,結(jié)果如表5,其中數(shù)據(jù)均為多次檢索的平均值,單位為ms。
表5 不同并發(fā)背景測試用例檢索結(jié)果
利用相同的方法,在相同數(shù)據(jù)量(5.5億記錄)的環(huán)境中,測試了7個用例在傳統(tǒng)數(shù)據(jù)庫中加壓50個模擬用戶并發(fā)時(shí)的檢索時(shí)效,其中分布式數(shù)據(jù)庫7個用例的平均檢索性能是傳統(tǒng)數(shù)據(jù)庫的9.5倍,對比結(jié)果如圖3所示。為了圖形具有較好的顯示效果,縱坐標(biāo)采用基為10的對數(shù)刻度。
圖3 測試用例檢索時(shí)間對比(單位:ms)Fig.3 The comparison of retrieval time about test case ( unit: ms )
為了驗(yàn)證分布式數(shù)據(jù)庫檢索結(jié)果離散情況,對檢索結(jié)果數(shù)據(jù)分布情況進(jìn)行了離散分析。選取50個模擬用戶并發(fā)S1~S4用例的檢索數(shù)據(jù),檢索分布情況見圖4。
通過與傳統(tǒng)數(shù)據(jù)的離散系統(tǒng)比較,可看出分布式數(shù)據(jù)庫離散系數(shù)不高,檢索結(jié)果相對集中,對比情況見表6,其中平均值單位ms。從分布圖可以看出,大部分樣本都集中在均值附近,具有較好的穩(wěn)定性。
4.3.4 可擴(kuò)展性 分布開展6、9、12個數(shù)據(jù)庫節(jié)點(diǎn),在數(shù)據(jù)量基本相同的環(huán)境中進(jìn)行高并發(fā)的檢索性能測試,得到節(jié)點(diǎn)擴(kuò)展對應(yīng)用的影響。測試結(jié)果表明,增加節(jié)點(diǎn),現(xiàn)有業(yè)務(wù)無需調(diào)整也不會中斷,可連續(xù)提供服務(wù)。節(jié)點(diǎn)增加后,原有集群中的數(shù)據(jù)會自動向新增節(jié)點(diǎn)均衡,在數(shù)據(jù)均衡過程中,業(yè)務(wù)檢索性能略有下降,隨著數(shù)據(jù)均衡的結(jié)束,整體檢索性能得到很大的提升。
測試1.65TB自動站數(shù)據(jù)從9節(jié)點(diǎn)增加到12節(jié)點(diǎn)后,整個數(shù)據(jù)均衡時(shí)間共耗費(fèi)7個多小時(shí),在節(jié)點(diǎn)增加以及數(shù)據(jù)均衡過程期間,業(yè)務(wù)連續(xù)正常運(yùn)行。均衡期間,由于需要進(jìn)行數(shù)據(jù)遷移,對數(shù)據(jù)庫節(jié)點(diǎn)資源有一定的消耗,故而檢索效率有一定的下降。選取200并發(fā)的性能測試數(shù)據(jù),說明數(shù)據(jù)均衡對性能的影響見圖5。
圖4 用例檢索結(jié)果分布圖(a:S1;b:S2,c:S3;d:S4)Fig.4 Retrieval results distribution of test case(a:S1;b:S2,c:S3;d:S4)
用例分布式數(shù)據(jù)庫樣本數(shù)平均值標(biāo)準(zhǔn)差離散系數(shù)傳統(tǒng)數(shù)據(jù)庫樣本數(shù)平均值標(biāo)準(zhǔn)差離散系數(shù)S1225486118630387383497801093S26071243767230541845372337305069S36075306426594050183677004458897068S4440712640390572098204439024047
圖5 數(shù)據(jù)均衡對檢索性能的影響(單位:ms)Fig.5 The influence of data migration on the retrieval performance (unit: ms)
在1.65TB數(shù)據(jù)量的環(huán)境中,隨著數(shù)據(jù)庫節(jié)點(diǎn)數(shù)的增加,測試用例檢索的性能逐步提升。選取各個節(jié)點(diǎn)300個模擬用戶并發(fā)背景時(shí),S1~S6用例檢索結(jié)果以及隨節(jié)點(diǎn)數(shù)的變化趨勢(圖略),節(jié)點(diǎn)擴(kuò)展檢索性能提升率見表7,其中提升率等于6節(jié)點(diǎn)檢索時(shí)間除以12節(jié)點(diǎn)檢索時(shí)間。
表7 節(jié)點(diǎn)增加1倍(6-12)檢索性能提升率
4.4 測試結(jié)論
測試結(jié)果表明分布式數(shù)據(jù)庫在數(shù)據(jù)插入與檢索方面都具有較好的性能,由于share-nothing以及多副本技術(shù)使得其具有較好的可靠性,其靈活性和擴(kuò)展性使得分布式具有強(qiáng)大的生命力。測試結(jié)論如下:
①相同資料的單位時(shí)間入庫性能,分布式數(shù)據(jù)庫系統(tǒng)是傳統(tǒng)數(shù)據(jù)庫的2.5倍。相同并發(fā)背景時(shí),分布式數(shù)據(jù)庫系統(tǒng)各個用例的平均檢索性能優(yōu)于傳統(tǒng)數(shù)據(jù)庫9.5倍。數(shù)據(jù)檢索結(jié)果相對集中,波動性低,具有較好的穩(wěn)定性。
②分布式數(shù)據(jù)庫系統(tǒng)不受單點(diǎn)故障的影響,可用廉價(jià)的服務(wù)器搭建具有高性能的數(shù)據(jù)存儲管理系統(tǒng)。
③分布式數(shù)據(jù)庫系統(tǒng)具有很好的靈活性和擴(kuò)展性,可方便、快速地進(jìn)行節(jié)點(diǎn)水平擴(kuò)展以提高業(yè)務(wù)檢索性能,對未來業(yè)務(wù)具有較好的適應(yīng)性。性能與節(jié)點(diǎn)數(shù)呈現(xiàn)準(zhǔn)線性關(guān)系,可有效預(yù)測未來業(yè)務(wù)硬件投入成本。
④硬件價(jià)格低廉,可大大節(jié)約成本,且具有較好的性能。本次測試中數(shù)據(jù)庫存儲硬件總價(jià)為25萬,而傳統(tǒng)數(shù)據(jù)庫硬件價(jià)格高達(dá)200萬。
根據(jù)測試結(jié)論,選定國產(chǎn)分布式關(guān)系型數(shù)據(jù)庫—虛谷數(shù)據(jù)庫作為數(shù)據(jù)存儲管理軟件,搭架具有16臺服務(wù)器,最大數(shù)據(jù)容量320TB規(guī)模的國家級氣象站點(diǎn)數(shù)據(jù)分布式存儲集群系統(tǒng)。遵循CIMISS站點(diǎn)數(shù)據(jù)存儲標(biāo)準(zhǔn)[5],接入地面、高空、海洋、農(nóng)氣、輻射、大氣成分等7大類99種氣象資料實(shí)時(shí)數(shù)據(jù),詳見表8,導(dǎo)入自動站以及中國高空歷史資料,實(shí)現(xiàn)部分氣象資料建站以來數(shù)據(jù)的在線存儲。截至2016年1月1日,集群共存儲站點(diǎn)資料32TB,每日數(shù)據(jù)以10GB增長。
表8 存儲資料分類
分布式存儲系統(tǒng)通過與MUSIC系統(tǒng)對接,提供數(shù)據(jù)服務(wù)。MUSIC(氣象數(shù)據(jù)統(tǒng)一訪問接口)系統(tǒng)是國家氣象信息中心聯(lián)合省級氣象信息中心自主研發(fā)的系統(tǒng),支持多語言(CC++、C#、JAVA、PHP、FORTRAN等)、多服務(wù)方式(REST、SDK客戶端、腳本)、多操作系統(tǒng)(WINDOWS、Linux、AIX),極大滿足了氣象業(yè)務(wù)系統(tǒng)與科研人員使用CIMISS數(shù)據(jù)資源的需求。
虛谷分布式氣象數(shù)據(jù)存儲系統(tǒng)自從2014年12月上線開始試運(yùn)行,未出現(xiàn)一次系統(tǒng)異常,運(yùn)行穩(wěn)定、高效。目前已為多個業(yè)務(wù)系統(tǒng)提供數(shù)據(jù)服務(wù)支撐,比如天氣預(yù)報(bào)業(yè)務(wù)系統(tǒng)(MICAPS)、氣候監(jiān)測預(yù)測業(yè)務(wù)平臺(CIPAS2.0)、氣象業(yè)務(wù)綜合信息服務(wù)門戶(氣象業(yè)務(wù)內(nèi)網(wǎng))、中國氣象局對外氣象數(shù)據(jù)服務(wù)門戶(中國氣象數(shù)據(jù)網(wǎng))等,服務(wù)方式見圖6。數(shù)據(jù)服務(wù)水平較傳統(tǒng)數(shù)據(jù)庫具有較高的提升,響應(yīng)時(shí)間在1 s內(nèi),性能完全滿足業(yè)務(wù)需求。
分布式數(shù)據(jù)庫在入庫性能與檢索性能方面都高于傳統(tǒng)數(shù)據(jù)庫,并且可利用性價(jià)比高的PC服務(wù)器,搭架具有高可靠性、靈活性和擴(kuò)展性好的分布式集群系統(tǒng),提高服務(wù)能力,節(jié)約建設(shè)成本。其使用方式與傳統(tǒng)數(shù)據(jù)庫的使用基本相同,對于數(shù)據(jù)的接入與服務(wù)非常便捷,利于現(xiàn)有系統(tǒng)對接。國家級氣象站點(diǎn)分布式存儲試驗(yàn)系統(tǒng)的建立,實(shí)現(xiàn)了地面數(shù)據(jù)全部在線服務(wù)功能,提高了數(shù)據(jù)服務(wù)能力,提升了業(yè)務(wù)系統(tǒng)對數(shù)據(jù)高效獲取的需求。
圖6 分布式數(shù)據(jù)庫服務(wù)方式Fig.6 Framework of distributed database service
[1] 沈文海.氣象信息化進(jìn)程中云計(jì)算的意義[J].中國信息化,2015(3):80-88.
[2] 秦大河,孫鴻烈,孫樞,等.中國氣象事業(yè)發(fā)展戰(zhàn)略研究[M].北京:氣象出版社,2004.
[3] 沈文海.對氣象信息化的理解和再認(rèn)識[J].氣象科技進(jìn)展,2013(5).
[4] 徐俊剛,邵佩英.分布式數(shù)據(jù)庫系統(tǒng)及其應(yīng)用[M].北京:科學(xué)出版社,2012.
[5] 熊安元,趙芳,王穎,等.全國綜合氣象信息共享系統(tǒng)的設(shè)與實(shí)現(xiàn)[J].應(yīng)用氣象學(xué)報(bào),2015,26(4):500-512.
Testing and application of distributed storage on massive data observed from meteorological station
XU Yongjun,HE Wenchun,LIU Zhen,WANG Qi,NI Xuelei
(National Meteorological Information Center, Beijing 100081, China)
The station observation data is the main component of the meteorological observation data, which has high access and high timeliness needs. In order to manage and serve meteorological data better, the National Meteorological Information Center began to focus on new storage technology in the field of Meteorology from 2013. In order to be compatible with the current storage and service mode, the distributed relational database is selected as a technical scheme, and a series of simulation weather business scenarios testing were carried out. The results show that the distributed database has better performance in terms of data loader and retrieval, and has good reliability, flexibility and scalability. According to the results, the distributed storage system was built, and the historical data of the CIMISS were introduced, and the real-time process flow of the station data was accessed. This system have completed the goal of the stations information online, at the same time, it also meets the requirement of the meteorological data service for the high efficiency.
data of meteorological stations; distributed storage; automatic meteorological station; performance testing
1003-6598(2016)05-0061-08
2016-02-26
徐擁軍(1986—),男(土家族),碩士,工程師,主要從事數(shù)據(jù)管理與應(yīng)用支撐工作,E-Mail:xuyj@cma.gov.cn。
中國氣象局預(yù)報(bào)預(yù)測核心業(yè)務(wù)發(fā)展專項(xiàng)面上項(xiàng)目“分布式存儲在統(tǒng)一氣象數(shù)據(jù)環(huán)境中應(yīng)用和推廣”(CMAHX20160705)。
TP311.52
B