999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Cassandra的實時氣象數(shù)據(jù)分布式存儲系統(tǒng)

2017-08-02 01:41:14邢麗平楊代才
陜西氣象 2017年4期
關(guān)鍵詞:數(shù)據(jù)庫用戶

楊 芳,金 琪,邢麗平,楊代才

(湖北省氣象信息與技術(shù)保障中心,武漢 430074)

基于Cassandra的實時氣象數(shù)據(jù)分布式存儲系統(tǒng)

楊 芳,金 琪,邢麗平,楊代才

(湖北省氣象信息與技術(shù)保障中心,武漢 430074)

介紹了Cassandra關(guān)鍵技術(shù)、實時氣象數(shù)據(jù)存儲模型。湖北省運(yùn)行MICAPS4采用基于Cassandra的分布式數(shù)據(jù)存儲環(huán)境。對分布式存儲系統(tǒng)高可用性、讀取性能的測試結(jié)果表明,系統(tǒng)提高了MICAPS客戶端對實時氣象數(shù)據(jù)的檢索效率,并極大減輕了各級臺站的維護(hù)壓力。

MICAPS4;氣象數(shù)據(jù);分布式;存儲;Cassandra

隨著氣象觀測資料種類的增加、觀測頻次的增多,在氣象數(shù)據(jù)存儲技術(shù)領(lǐng)域,基于目錄樹結(jié)構(gòu)的文件系統(tǒng)難以承受文件數(shù)量的急劇增長,在管理大量的結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)方面,也不能較好地滿足業(yè)務(wù)人員對數(shù)據(jù)進(jìn)行按序訪問的需求。中國氣象局推出的MICAPS(meteorological information comprehensive analysis processing system)4.0版本, 充分發(fā)揮了觀測資料的作用, 滿足了不斷發(fā)展的預(yù)報業(yè)務(wù)和氣象服務(wù)需求。湖北作為全國氣象部門首家省級試點單位,2016年將MICAPS4.0投入測試運(yùn)行。其后臺數(shù)據(jù)環(huán)境引入非結(jié)構(gòu)數(shù)據(jù)庫Cassandra;采用多維索引數(shù)據(jù)模型的實時氣象數(shù)據(jù)存儲系統(tǒng),在保證MICAPS客戶端快速調(diào)用(毫秒級別)實時氣象數(shù)據(jù)的同時,可為全省各級氣象部門預(yù)報業(yè)務(wù)系統(tǒng)提供基于氣象衛(wèi)星、天氣雷達(dá)和數(shù)值預(yù)報、站點實況等數(shù)據(jù)支撐,實現(xiàn)數(shù)據(jù)在省級單點更新,極大減輕臺站的維護(hù)壓力;可靈活地添加節(jié)點來實現(xiàn)存儲系統(tǒng)擴(kuò)充,而不給系統(tǒng)帶來較大的性能抖動;與Spark結(jié)合,利用Spark來實現(xiàn)復(fù)雜數(shù)據(jù)分析與處理功能,如處理集合預(yù)報資料等。

1 Cassandra關(guān)鍵技術(shù)點

1.1 系統(tǒng)架構(gòu)

ApacheCassandra是一套開源分布式NoSQL數(shù)據(jù)庫系統(tǒng),基于一致性哈希算法的P2P環(huán)形結(jié)構(gòu)。這種結(jié)構(gòu)各節(jié)點功能完全相同,可靈活添加節(jié)點來完成系統(tǒng)的擴(kuò)充或刪除節(jié)點,且無需大規(guī)模轉(zhuǎn)移數(shù)據(jù),同時徹底避免系統(tǒng)因單點故障導(dǎo)致的不穩(wěn)定性;每個節(jié)點通過Gossip機(jī)制進(jìn)行消息同步;每個數(shù)據(jù)項都會被復(fù)制到N個節(jié)點(N是通過參數(shù)配置的副本因子),系統(tǒng)利用數(shù)據(jù)的復(fù)制機(jī)將存儲在各節(jié)點上的數(shù)據(jù)復(fù)制到其他節(jié)點上,實現(xiàn)了數(shù)據(jù)的高度可獲得性與安全性[1]。

1.2 數(shù)據(jù)模型

Cassandra使用寬列存儲模型,每行數(shù)據(jù)記錄是以Key-Value形式進(jìn)行存儲,其中Key為唯一標(biāo)識。每個Key-Value其中的Value也稱為Column[2-3],作為一個三元組,包含有Column Name、Column Value與timestamp;每個CF由一個Key 及其對應(yīng)的若干個Column標(biāo)識組成。一個keyspace包含若干個CF,類似關(guān)系型數(shù)據(jù)庫中一個database可有多個table。圖1為一個Column型數(shù)據(jù)模型。

1.3 CAP理論

NoSQL典型遵循由Eric Brewer 提出的CAP理論[4-5],依據(jù)此理論,在一個大規(guī)模的分布式數(shù)據(jù)系統(tǒng)中,有三個需求是彼此循環(huán)依賴的,一致性(consistency)、可用性(availability)、分區(qū)耐受性(partition tolerance)。一致性為對所有數(shù)據(jù)庫客戶端使用同樣查詢都可得到相同的數(shù)據(jù);可用性即所有數(shù)據(jù)庫客戶端都可讀寫數(shù)據(jù);分區(qū)耐受性是指數(shù)據(jù)庫分散到多個服務(wù)器上,即使發(fā)生網(wǎng)絡(luò)故障,仍可提供服務(wù)。CAP理論可簡單描述為,一個分布式系統(tǒng)不能同時滿足以上三個特性,最多只能同時滿足兩個。Cassandra主要支持可用性和分區(qū)耐受性。在Cassandra中,數(shù)據(jù)具備最終一致性,集群整體的完全可用性。

圖1 基于Key-Value的數(shù)據(jù)模型

1.4 存儲機(jī)制

Cassandra依賴本地的文件系統(tǒng)通過內(nèi)存與磁盤的雙重存儲機(jī)制來保證數(shù)據(jù)的持久性[5-6]。Cassandra有三個重要的數(shù)據(jù)結(jié)構(gòu),記錄于內(nèi)存的Memtable,保存在磁盤中的Commit Log和SSTable。Memtable記錄最近的修改,而SSTable記錄著數(shù)據(jù)庫所承載的絕大部分?jǐn)?shù)據(jù)。通常情況下,一個Cassandra表會對應(yīng)著一個Memtable和多個SSTable。Cassandra接收到客戶端發(fā)送來的數(shù)據(jù),首先將寫操作記錄到位于磁盤的CommitLog中;上述操作成功后,更新位于內(nèi)存中的Memtable數(shù)據(jù)結(jié)構(gòu)。持續(xù)的寫入數(shù)據(jù),使得Memtable逐漸增長,當(dāng)其數(shù)據(jù)量到達(dá)某個閾值時,Cassandra的數(shù)據(jù)遷移被觸發(fā),一方面將Memtable刷寫到本地磁盤上成為永久的SSTable,另一方面將CommitLog中的寫入記錄移除。對于讀操作,客戶端先查詢Memtable中的數(shù)據(jù),若無法獲取所需信息,則檢索本地磁盤。Cassandra會定期執(zhí)行壓緊compact操作,將同一條數(shù)據(jù)不同的版本進(jìn)行合并,過時數(shù)據(jù)也會在此過程中被刪除;分層數(shù)據(jù)壓縮,有效減少數(shù)據(jù)體積及磁盤I/O。

2 實時氣象數(shù)據(jù)存儲模型

預(yù)報員在分析天氣形勢時,需通過MICAPS4客戶端獲取實時地面、高空觀探測數(shù)據(jù)以及氣象衛(wèi)星、天氣雷達(dá)、模式數(shù)據(jù)等;以這些數(shù)據(jù)為主所構(gòu)成的“氣象大數(shù)據(jù)”,都可歸屬于非結(jié)構(gòu)化數(shù)據(jù),具有多維、維度有序或無序等特點。基于Key-Value分布式數(shù)據(jù)庫Cassandra在存儲海量小文件、多維數(shù)據(jù)索引等方面有明顯的優(yōu)勢[7-8];故采用Cassandra作為存儲實時氣象數(shù)據(jù)的解決方案。

2.1 系統(tǒng)設(shè)置

針對實時氣象數(shù)據(jù)存儲系統(tǒng),用戶對該系統(tǒng)讀取的性能需求遠(yuǎn)遠(yuǎn)高于寫入數(shù)據(jù)。通過對副本數(shù)進(jìn)行合理設(shè)置,可分散讀取壓力。對于5節(jié)點集群,將副本數(shù)設(shè)置為3;Row分區(qū)模式:采用自動分區(qū)方式,使不同的Row Key均勻分布在各節(jié)點上,有利于數(shù)據(jù)讀取壓力的分散。

2.2 Cassandra表設(shè)計

作為典型的非結(jié)構(gòu)化數(shù)據(jù),氣象數(shù)據(jù)可以由多維索引來確定一個唯一的數(shù)據(jù)。業(yè)務(wù)用戶常見的操作包括“最新數(shù)據(jù)”“左右翻頁”“上下翻頁”等。

2.2.1 數(shù)據(jù)表 根據(jù)不同數(shù)據(jù)類型建立相應(yīng)數(shù)據(jù)表,用于存儲數(shù)據(jù)內(nèi)容,包括:ECMWF_HR(高分辨率數(shù)值預(yù)報產(chǎn)品)、SATELLITE(衛(wèi)星資料)、UPPER_AIR(高空站點資料)、SINGLERADAR(雷達(dá)資料)等。以“T639”為例說明數(shù)據(jù)表結(jié)構(gòu)(表1)。

建表語句:CREATE TABLE "T639" ( "dataPath" text, column1 text, value blob, PRIMARY KEY ("dataPath", column1) ) ;

2.2.2 層次表 用于存儲所有模式或?qū)崨r的層次信息,表名為level;用戶在客戶端進(jìn)行上下翻頁操作,從level表中獲取當(dāng)前層次的上一層或下一層信息;利用層次表與數(shù)據(jù)表,可檢索到不同層次的數(shù)據(jù)(表2)。

建表語句:CREATE TABLE level ("dataPath" text,column1 int,value int,PRIMARY KEY ("dataPath", column1)) ;

2.2.3 最新時刻表 用于存儲各類數(shù)據(jù)的最新時刻信息,表名為latestdatatime。利用最新時刻表,用戶能通過客戶端快速查找到最新數(shù)據(jù)文件名。用戶根據(jù)完整索引(文件路徑與最新數(shù)據(jù)文件名),例:T639/WIND/500/17030108.000,即可在“數(shù)據(jù)表”中獲取到對應(yīng)數(shù)據(jù)(表3)。

建表語句:CREATE TABLE latestdatatime ( "dataPath" text,column1 text, value text,PRIMARY KEY ("dataPath", column1)) ;

表1 Cassandra數(shù)據(jù)表結(jié)構(gòu)

表2 Cassandra層次表結(jié)構(gòu)

表3 Cassandra最新時刻表結(jié)構(gòu)

3 存儲系統(tǒng)性能測試

3.1 測試環(huán)境

選用5臺相同配置的服務(wù)器用來搭建分布式存儲系統(tǒng)。服務(wù)器操作系統(tǒng)為Red Hat Enterprise Linux Server release 7.1,處理器參數(shù)為Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10 GHz,主頻為2.1 GHz;內(nèi)存大小為256 GB;6塊4 TB SATA硬盤;服務(wù)器間通過萬兆光纖連接。Cassandra數(shù)據(jù)庫版本為2.2.5。

3.2 高可用性測試

由5個節(jié)點所組成分布式存儲系統(tǒng),其結(jié)構(gòu)上具有如下特點。

(1)服務(wù)器雙網(wǎng)卡綁定,即將兩個物理網(wǎng)卡虛擬成一個邏輯網(wǎng)卡;提升服務(wù)器之間的傳輸帶寬,實現(xiàn)網(wǎng)卡冗余。

(2)用于集群內(nèi)部數(shù)據(jù)交換的兩臺萬兆光纖交換機(jī),采取級聯(lián)方式,可互為備份。

(3)6塊SATA硬盤,其中2塊做RAID1,安裝操作系統(tǒng)及軟件;另外4塊4 TB用作兩個RAID0,用于存儲數(shù)據(jù)。

(4)服務(wù)器集群為環(huán)形結(jié)構(gòu),沒有master節(jié)點,各節(jié)點功能完全一樣。

按照表4中內(nèi)容,對系統(tǒng)的基礎(chǔ)設(shè)施層(包括網(wǎng)絡(luò)設(shè)備、存儲設(shè)備等)、軟件層(數(shù)據(jù)庫)進(jìn)行測試,來驗證系統(tǒng)的高可用性;從表中結(jié)論可知,系統(tǒng)中用于內(nèi)部數(shù)據(jù)交換的光纖或網(wǎng)卡、交換機(jī)及任一Cassandra服務(wù)器故障,均不影響MICAPS4客戶端調(diào)取數(shù)據(jù)。

表4 Cassandra集群系統(tǒng)高可用性測試

3.3 讀取性能測試

通過讀取數(shù)據(jù)的腳本文件(可獲取數(shù)據(jù)字節(jié)數(shù)信息,表5中ECMWF_HR/TMP/100目錄下數(shù)據(jù)字節(jié)數(shù)為132 642字節(jié),SATELLITE/FY2E/L1/IR3/EQUAL下數(shù)據(jù)字節(jié)數(shù)為554 944字節(jié),T639/WIND/100下數(shù)據(jù)字節(jié)數(shù)為1 449 052字節(jié)),模擬單用戶及50用戶、100用戶客戶端對同一類型數(shù)據(jù)進(jìn)行讀取,共分3組,即對三種不同類型的數(shù)據(jù)進(jìn)行測試,測試性能見表5,注意測試結(jié)果包含網(wǎng)絡(luò)傳輸時間。

表5 三種不同類型的數(shù)據(jù)在不同壓力下傳輸時間測試 ms

從數(shù)據(jù)讀取的測試結(jié)果可以看出:(1)50用戶并發(fā)和100用戶并發(fā)客戶端同時對同一類型數(shù)據(jù)進(jìn)行讀取的時間與單用戶讀取時間相當(dāng)。以T639/WIND/100為例,50用戶并發(fā)和100用戶并發(fā)與單用戶讀取相關(guān)數(shù)據(jù)所花費(fèi)的平均時間均在20 ms左右。(2)在100用戶并發(fā)情況下,從數(shù)據(jù)庫中調(diào)取數(shù)據(jù)所消耗的時間均以ms量級為單位(包含網(wǎng)絡(luò)傳輸時間),時間遠(yuǎn)遠(yuǎn)小于在samba服務(wù)器上讀取數(shù)據(jù)的時間。(3)數(shù)據(jù)讀取時間和單個數(shù)據(jù)的字節(jié)數(shù)近似成正比,即單個數(shù)據(jù)文件字節(jié)數(shù)越大,讀取數(shù)據(jù)所花費(fèi)的時間則越長。

4 結(jié)語

利用Cassandra分布式數(shù)據(jù)庫搭建的存儲環(huán)境,提高了實時氣象數(shù)據(jù)存儲效率與檢索速度,通過統(tǒng)一的數(shù)據(jù)平臺,實現(xiàn)了市縣兩級運(yùn)維人員對該系統(tǒng)“零”維護(hù)。通過在實際業(yè)務(wù)環(huán)境中進(jìn)行測試,驗證了該分布式數(shù)據(jù)環(huán)境的高可用性;以毫秒級為單位的數(shù)據(jù)讀取時間,能很好地滿足業(yè)務(wù)對數(shù)據(jù)時效性的需求。

[1] 王意潔,孫偉東,周松,等.云計算環(huán)境下的分布存儲關(guān)鍵技術(shù)[J].軟件學(xué)報,2012,23(4):971-975.

[2] 申德榮,于戈,王習(xí)特,等.支持大數(shù)據(jù)管理的NoSQL系統(tǒng)研究綜述[J].軟件學(xué)報,2013,24(8):1789-1792.

[3] 秦苻珂.Cassandra應(yīng)用研究[J].電腦知識與技術(shù),2016,12(9):14-16.

[4] 孟小峰,慈祥.大數(shù)據(jù)管理:概念、技術(shù)與挑戰(zhàn)[J].計算機(jī)研究與發(fā)展,2013,50(1):154-157.

[5] Eben Hewitt.Cassandra:The Definitive Guide[M].北京:人民郵電出版社,2011.

[6] 覃雄派,王會舉,李芙蓉,等.數(shù)據(jù)管理技術(shù)的新格局[J].軟件學(xué)報,2013,24(2):179-185.

[7] 王若曈,黃向東,張博等.海量氣象數(shù)據(jù)實時解析與存儲系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)工程與科學(xué),2015,37(11):2045-2054.

[8] 鐘雨,黃向東,劉丹,等.大規(guī)模裝備檢測數(shù)據(jù)的NoSQL存儲方案[J].計算機(jī)集成制造系統(tǒng),2013(12):3008-3016.

1006-4354(2017)04-0026-05

2016-11-29

楊芳(1982—),女,湖北洪湖人,學(xué)士,高工,從事氣象信息通信研究。

湖北省氣象局科技發(fā)展基金重點項目(2015Z02)

P409

B

楊芳,金琪,邢麗平,等.基于Cassandra的實時氣象數(shù)據(jù)分布式存儲系統(tǒng)[J].陜西氣象,2017(4):26-30.

猜你喜歡
數(shù)據(jù)庫用戶
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 亚洲中文字幕无码mv| 国产91透明丝袜美腿在线| 国产资源免费观看| 亚洲精品成人福利在线电影| 亚洲欧美成人在线视频| 色爽网免费视频| 久久综合色视频| 天天操天天噜| 国产99在线观看| 日本人妻一区二区三区不卡影院| 亚洲国产欧美国产综合久久| 日韩美女福利视频| 国产av剧情无码精品色午夜| 欧美另类精品一区二区三区| 精品国产免费观看一区| 岛国精品一区免费视频在线观看| 国产精品网址在线观看你懂的| 国产视频一区二区在线观看| 国产一区二区三区在线无码| 亚洲国产成人在线| 国产精品亚洲五月天高清| 91精品情国产情侣高潮对白蜜| 天天综合天天综合| 欧美亚洲网| 亚洲第一网站男人都懂| 国产精品va免费视频| 日韩AV无码一区| 国产综合网站| 在线播放91| 曰韩免费无码AV一区二区| 精品人妻AV区| 婷婷伊人五月| 欧美精品影院| 国产精品99久久久| 欧美成人怡春院在线激情| 久热精品免费| 国产精品成人一区二区| 国产99视频精品免费观看9e| a级毛片在线免费观看| 亚洲精品视频免费看| 国产成人一二三| 黄色免费在线网址| 一级全黄毛片| 波多野结衣国产精品| 久久中文电影| 亚洲国产AV无码综合原创| 九九热精品视频在线| 伊人天堂网| 国产成人1024精品| 高清久久精品亚洲日韩Av| 亚洲精品无码av中文字幕| 日本久久久久久免费网络| 99ri精品视频在线观看播放| 91福利国产成人精品导航| 日本亚洲欧美在线| 免费看黄片一区二区三区| AV在线麻免费观看网站| 中文成人在线视频| 91国内视频在线观看| 老熟妇喷水一区二区三区| 亚洲精品波多野结衣| 亚洲黄色片免费看| 99久久国产精品无码| 国产正在播放| 亚洲精品国产精品乱码不卞 | 就去吻亚洲精品国产欧美| 色偷偷一区二区三区| 9丨情侣偷在线精品国产| 99re精彩视频| 亚洲国产精品无码久久一线| 国产视频入口| 国产精品手机在线播放| 欧美中文字幕一区| 国产天天色| 久久婷婷色综合老司机| 天天干天天色综合网| 国产一区在线视频观看| 中文字幕资源站| 国产尤物jk自慰制服喷水| 成人日韩欧美| 真实国产乱子伦视频| 青青草国产在线视频|