• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2017-08-02 01:41:14邢麗平楊代才
      陜西氣象 2017年4期
      關鍵詞:存儲系統(tǒng)數(shù)據(jù)表客戶端

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

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

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

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

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

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

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

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

      1 Cassandra關鍵技術點

      1.1 系統(tǒng)架構

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

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

      Cassandra使用寬列存儲模型,每行數(shù)據(jù)記錄是以Key-Value形式進行存儲,其中Key為唯一標識。每個Key-Value其中的Value也稱為Column[2-3],作為一個三元組,包含有Column Name、Column Value與timestamp;每個CF由一個Key 及其對應的若干個Column標識組成。一個keyspace包含若干個CF,類似關系型數(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ù)庫分散到多個服務器上,即使發(fā)生網(wǎng)絡故障,仍可提供服務。CAP理論可簡單描述為,一個分布式系統(tǒng)不能同時滿足以上三個特性,最多只能同時滿足兩個。Cassandra主要支持可用性和分區(qū)耐受性。在Cassandra中,數(shù)據(jù)具備最終一致性,集群整體的完全可用性。

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

      1.4 存儲機制

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

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

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

      2.1 系統(tǒng)設置

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

      2.2 Cassandra表設計

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

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

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

      2.2.2 層次表 用于存儲所有模式或?qū)崨r的層次信息,表名為level;用戶在客戶端進行上下翻頁操作,從level表中獲取當前層次的上一層或下一層信息;利用層次表與數(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ù)表”中獲取到對應數(shù)據(jù)(表3)。

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

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

      表2 Cassandra層次表結(jié)構

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

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

      3.1 測試環(huán)境

      選用5臺相同配置的服務器用來搭建分布式存儲系統(tǒng)。服務器操作系統(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硬盤;服務器間通過萬兆光纖連接。Cassandra數(shù)據(jù)庫版本為2.2.5。

      3.2 高可用性測試

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

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

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

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

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

      按照表4中內(nèi)容,對系統(tǒng)的基礎設施層(包括網(wǎng)絡設備、存儲設備等)、軟件層(數(shù)據(jù)庫)進行測試,來驗證系統(tǒng)的高可用性;從表中結(jié)論可知,系統(tǒng)中用于內(nèi)部數(shù)據(jù)交換的光纖或網(wǎng)卡、交換機及任一Cassandra服務器故障,均不影響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ù)進行讀取,共分3組,即對三種不同類型的數(shù)據(jù)進行測試,測試性能見表5,注意測試結(jié)果包含網(wǎng)絡傳輸時間。

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

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

      4 結(jié)語

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

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

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

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

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

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

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

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

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

      1006-4354(2017)04-0026-05

      2016-11-29

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

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

      P409

      B

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

      猜你喜歡
      存儲系統(tǒng)數(shù)據(jù)表客戶端
      分布式存儲系統(tǒng)在企業(yè)檔案管理中的應用
      哈爾濱軸承(2020年2期)2020-11-06 09:22:36
      湖北省新冠肺炎疫情數(shù)據(jù)表
      黨員生活(2020年2期)2020-04-17 09:56:30
      天河超算存儲系統(tǒng)在美創(chuàng)佳績
      基于列控工程數(shù)據(jù)表建立線路拓撲關系的研究
      縣級臺在突發(fā)事件報道中如何應用手機客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設計與實現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      華為震撼發(fā)布新一代OceanStor 18000 V3系列高端存儲系統(tǒng)
      一種基于STM32的具有斷電保護機制的采集存儲系統(tǒng)設計
      圖表
      双鸭山市| 鄱阳县| 永昌县| 措勤县| 南雄市| 凌海市| 保康县| 克拉玛依市| 桦甸市| 陇川县| 运城市| 博野县| 昌平区| 凤山市| 探索| 马龙县| 景洪市| 钟祥市| 建宁县| 公主岭市| 平遥县| 上犹县| 泗阳县| 陇南市| 乡城县| 宜昌市| 北宁市| 靖安县| 凉山| 临邑县| 墨玉县| 乾安县| 林口县| 宜良县| 济宁市| 壶关县| 阳山县| 河源市| 越西县| 务川| 巨野县|