• 
    

    
    

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

      ?

      超融合時序數(shù)據(jù)庫在果園大數(shù)據(jù)中存儲策略分析*

      2022-04-03 07:27:46李宗南姚延棟翁巖青
      中國農(nóng)業(yè)信息 2022年6期
      關鍵詞:時序引擎分區(qū)

      郭 濤,李宗南,姚延棟,黃 平,王 思※,翁巖青

      (1. 四川省農(nóng)業(yè)科學院遙感與數(shù)字農(nóng)業(yè)研究所,成都 610066;2. 四川省農(nóng)業(yè)科學院智慧農(nóng)業(yè)科學技術(shù)中心,成都 610066;3. 北京四維縱橫數(shù)據(jù)技術(shù)有限公司,北京 101399)

      0 引言

      大規(guī)模使用數(shù)據(jù)驅(qū)動農(nóng)業(yè)生產(chǎn)管理實現(xiàn)智能化,依賴于快速高效的數(shù)據(jù)存儲。隨著數(shù)字農(nóng)業(yè)研究及應用的深入,農(nóng)業(yè)數(shù)據(jù)的生產(chǎn)及存儲、管理所使用的數(shù)據(jù)庫構(gòu)建得到更多的關注和研究測試。果園產(chǎn)生的數(shù)據(jù)主要來自五個方面:①果園單株樹木整個生命周期產(chǎn)生的數(shù)據(jù)形成的數(shù)字果樹數(shù)字化體系[1-3];②無人機、衛(wèi)星遙感和GPS導航裝置產(chǎn)生的時空數(shù)據(jù)和遙感數(shù)據(jù)[4-5];③物聯(lián)網(wǎng)、傳感器、攝像頭和智能農(nóng)機(機器人)對果樹環(huán)境、果樹生長過程和果樹表型監(jiān)測獲取的數(shù)據(jù)[6];④果園農(nóng)事、種植、管理和水肥等設施產(chǎn)生的數(shù)據(jù)[7];⑤專家知識、經(jīng)驗和以圖數(shù)據(jù)組成的結(jié)構(gòu)數(shù)據(jù)[8-10]。以上各類數(shù)據(jù)來源多樣,結(jié)構(gòu)包括結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化,對數(shù)據(jù)存儲和管理提出了巨大挑戰(zhàn)。數(shù)字農(nóng)業(yè)項目在實際工程中采用不同的數(shù)據(jù)庫方案。Daniel Perondi 等[11]開發(fā)的柑橘病蟲害預警系統(tǒng),采用MongoDB 作為數(shù)據(jù)存儲系統(tǒng)。凌諾娟等[12]設計的云農(nóng)場智慧服務大數(shù)據(jù)平臺,以HDFS 文件系統(tǒng)作為高可靠的底層存儲系統(tǒng),為HBase數(shù)據(jù)庫及Hive數(shù)據(jù)倉庫提供存儲支撐。趙晴等[13]設計的大田作物智慧生產(chǎn)綜合服務平臺,采用Microsoft SQL Server2008 數(shù)據(jù)庫實現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)的統(tǒng)一管理,基于ArcGIS Server 實現(xiàn)空間數(shù)據(jù)的整合管理,基于HBase實現(xiàn)大田作物智慧生產(chǎn)相關數(shù)據(jù)的存儲與分析。吳才聰?shù)龋?4]構(gòu)建的基于北斗的農(nóng)機作業(yè)大數(shù)據(jù)系統(tǒng),以HDFS作為數(shù)據(jù)的存儲,采用關系型數(shù)據(jù)RAID進行備份。王新等[15]基于異構(gòu)數(shù)據(jù)集開發(fā)的農(nóng)業(yè)信息綜合管理網(wǎng)絡平臺,采用MySQL數(shù)據(jù)庫。余萬民等[16]基于云計算的農(nóng)業(yè)大數(shù)據(jù)共享服務平臺,采用關系型數(shù)據(jù)庫如 Oracle、MySQL、SQL Server 等管理結(jié)構(gòu)化數(shù)據(jù),采用 Hbase和Redis管理非結(jié)構(gòu)化數(shù)據(jù),采用HDFS管理分布式文件系統(tǒng),采用FastDFS管理磁盤文件系統(tǒng),采用Lucene管理異構(gòu)索引庫。此外,基于HDFS存儲時空數(shù)據(jù),發(fā)展了GeoSpark、Spatial Hadoop和ST-Hadoop,可支持大規(guī)模的時空數(shù)據(jù)存儲、空間查詢和分析[17-18]。綜上,諸多數(shù)字農(nóng)業(yè)的數(shù)據(jù)存儲主要采用混合存儲方案,不利于跨域數(shù)據(jù)共享、多源異構(gòu)數(shù)據(jù)融合和多模型知識圖譜抽取和推理。

      文章圍繞果園大數(shù)據(jù)高效存儲及管理需求,針對數(shù)據(jù)多源異構(gòu)、時序和多模態(tài)數(shù)據(jù)等特點,分析數(shù)字果園場景需求,構(gòu)建超融合時序數(shù)據(jù)庫解決方案,以實現(xiàn)在一個數(shù)據(jù)庫內(nèi)存儲各類數(shù)據(jù),解決時序的全場景問題。該文搭建基于YMatrix 集群,采用Kettle ETL(Extract-Transform-Load)工具構(gòu)建可視化建模,以都市龍泉驛現(xiàn)代農(nóng)業(yè)園區(qū)采集的無人機遙感圖像,傳感器等多源數(shù)據(jù)作為數(shù)據(jù)集,進行批量入庫、ETL、作業(yè)統(tǒng)計和轉(zhuǎn)換以及數(shù)據(jù)同步等方面測試,分析多級數(shù)據(jù)局部存儲策略、冷熱數(shù)據(jù)存儲策略的數(shù)據(jù)存儲效率。為果園的數(shù)據(jù)存儲和智能高效管理提供技術(shù)參考,對賦能農(nóng)業(yè)數(shù)字化、農(nóng)業(yè)數(shù)字孿生基礎設施提供建設依據(jù)和經(jīng)驗。

      1 研究數(shù)據(jù)與方法

      1.1 研究數(shù)據(jù)

      該文設計的數(shù)字果園場景中,數(shù)據(jù)來源主要包括無人機、物聯(lián)網(wǎng)、移動App、農(nóng)機全球定位系統(tǒng)和傳感器以及果園環(huán)境、果園監(jiān)測和農(nóng)事活動等數(shù)字化手段產(chǎn)生的數(shù)據(jù),見圖1 中果園數(shù)字化部分。數(shù)據(jù)包括圖像、文本、表等,隨果園果樹管理過程不斷產(chǎn)生,形成時序排列的數(shù)據(jù)內(nèi)容。

      圖 1 果園大數(shù)據(jù)存儲和應用場景邏輯設計Fig.1 Orchard big data storage and application scenario logic

      對此類時序的多源異構(gòu)數(shù)據(jù),該文設計使用分布式發(fā)布訂閱消息系統(tǒng)Kafka響應各類設備、傳感器,以動態(tài)流式數(shù)據(jù)方式動態(tài)存入時序數(shù)據(jù)庫中,實現(xiàn)各類定時、不定時產(chǎn)生的數(shù)據(jù)存儲。Kafka 具有高吞吐量、分布式等優(yōu)點,能滿足果園流批數(shù)據(jù)存儲場景需求。

      1.2 應用邏輯

      將多源異構(gòu)數(shù)據(jù)按照數(shù)據(jù)模型、業(yè)務場景和數(shù)據(jù)庫概念模型,統(tǒng)一規(guī)劃和設計,存儲在超融合數(shù)據(jù)庫YMatrix,同時YMatrix 作為數(shù)據(jù)倉庫,通過數(shù)據(jù)倉庫技術(shù)ETL 抽?。‥xtract)、 轉(zhuǎn)換(Transform)、加載(Load)至目標端;根據(jù)知識圖譜業(yè)務場景需求,從YMatrix和數(shù)據(jù)倉庫中抽取和多模型融合數(shù)據(jù),構(gòu)建RDF圖數(shù)據(jù)結(jié)構(gòu)和知識庫,存儲的原生圖數(shù)據(jù)庫gStore中[19-20]。

      將以數(shù)據(jù)服務方式,向數(shù)據(jù)算法層和數(shù)據(jù)應用層提供服務,滿足綜合管理和共享服務、數(shù)字化生產(chǎn)監(jiān)測、生產(chǎn)水、肥、藥等智能決策等數(shù)字果園應用場景業(yè)務。

      1.3 YMatrix解決方案

      該文采用YMatrix超融合時序數(shù)據(jù)庫,提供多源異構(gòu)數(shù)據(jù)的一站式存儲。一個數(shù)據(jù)庫滿足多個業(yè)務場景,大大降低了數(shù)據(jù)管理和運營成本和時間。在數(shù)據(jù)需求和場景需求中邏輯設計圖1所示。以下從分布式架構(gòu)、存儲引擎、計算引擎和資源管理四個方面來介紹YMatrix設計思想,工作原理以及資源優(yōu)化策略。

      (1)超融合數(shù)據(jù)庫架構(gòu)

      YMatrix 采用超融合數(shù)據(jù)庫技術(shù)架構(gòu)理念,是一款MPP (Massively Parallel Processing)架構(gòu)的分布式時序數(shù)據(jù)庫,分布式架構(gòu)思想起源于Greenplum[21-22],基于PostgreSQL 擴展機制,是典型Master-Slave 架構(gòu),一個YMatrix 集群通常由一個Master 節(jié)點、一個Standby Master 節(jié)點、MatrixGate 以及多個Segment 節(jié)點組成,節(jié)點之間網(wǎng)絡通信互連通過Interconnect,其中,每個節(jié)點均是一個完整的PostgreSQL數(shù)據(jù)庫實例(如圖2所示)。Matrix Master 節(jié)點是數(shù)據(jù)庫的入口,接收客戶端提交的SQL,主要負責客戶端(Client)進行訪問控制和存儲表分布邏輯的元信息管理,接收客戶端請求,生成查詢解析和查詢計劃。Standby Master 為Master 提供高可用支持。MatrixGate 組件主要用于時序場景下流式數(shù)據(jù)通過HTTP 接口并行加載,接收來自客戶端同時并發(fā)寫入,這樣可以保證數(shù)據(jù)加載過程事務保持一致性,同時滿足了實時接入需求。Segment 節(jié)點是工作節(jié)點,主要負責數(shù)據(jù)的分布式存儲和查詢執(zhí)行,mirror Segment 為Segment 提供高可用支持。當Client 提交SQL 語句,通過MatrixGate 的HTTP 接口同時并發(fā)寫入,Master 節(jié)點對查詢語句進行查詢編譯、查詢優(yōu)化等操作,生成并行查詢計劃,并把任務分發(fā)給Segment 節(jié)點執(zhí)行。當任務出現(xiàn)錯誤或者執(zhí)行完畢,會將結(jié)果返回Master 節(jié)點,最終呈現(xiàn)給客戶端。

      (2)存儲引擎

      分布式環(huán)境下,為了解決單機存儲空間和資源限制,確保時間維度上更細粒度數(shù)據(jù)分區(qū)以及多態(tài)存儲等方面問題,通過引入不同策略和機制來進行解決時序數(shù)據(jù)存儲問題(圖3)。

      圖 2 YMatrix架構(gòu)Fig.2 Architecture of YMatrix

      圖 3 YMatrix存儲引擎Fig.3 The storage engine of YMatrix

      (3)計算引擎

      YMatrix優(yōu)化器是基于代價模型[23],主要是由優(yōu)化器和執(zhí)行器組成。實現(xiàn)思想是先在Matrix Master節(jié)點生成分布式查詢計劃,將計劃任務以哈希分布、隨機分布、復制分布方式分發(fā)任務,所有的Segment對其任務進行并行執(zhí)行。分布式查詢計劃首先在Master節(jié)點將任務進行最大粒度的劃分,每個劃分的查詢計劃片段在Segment節(jié)點上作為一個獨立的執(zhí)行進程(Query Executor),各個節(jié)點查詢計劃任務主要通過網(wǎng)絡進行數(shù)據(jù)傳輸,并將各個Segment 節(jié)點上的任務匯總到Master,最終反饋在客戶端(圖4)。YMatrix 基于MPP查詢引擎采用最大切分查詢策略基礎上,充分利用資源并進行任務的自動優(yōu)化分發(fā),達到最佳的查詢性能。

      圖 4 YMatrix計算引擎Fig.4 The calculation engine of YMatrix

      在果園大數(shù)據(jù)平臺建設過程,存在不同設備的傳感器、物聯(lián)網(wǎng)和機器人等感知設備產(chǎn)生時序數(shù)據(jù),往往會造成資源開銷大、數(shù)據(jù)索引空間大,對相同類似任務進行反復查詢,造成了資源浪費。借助YMatrix查詢優(yōu)化器的感知能力,對接入數(shù)據(jù)分布特征和數(shù)據(jù)局部性進行感知,對熱數(shù)據(jù)采用的MARS存儲引擎分區(qū)表,實行聚集優(yōu)化。具體實現(xiàn)邏輯為:在符合時間過濾條件的子分區(qū)表,對其構(gòu)建MARS稀疏索引快速定位查詢,對塊內(nèi)元素進行分塊并進行預聚集,通過二分查詢確定查詢條件邊界,完成分組掃描工作,這樣可以優(yōu)化了CPU、I/O和內(nèi)存資源。

      此外,果園大數(shù)據(jù)還涉及很多地理空間數(shù)據(jù)存儲和處理,YMatrix 提供了功能和組件。對于GIS數(shù)據(jù),集成了PostGIS 插件,可以實現(xiàn)空間數(shù)據(jù)從存儲和管理。

      (4)資源管理

      針對果園大數(shù)據(jù)中復雜場景,該文充分利用YMatrix 的存儲引擎和計算引擎設計思想,提供了一站式解決方案。對資源管理全方位粒度控制和優(yōu)化,可以滿足擴展性和并發(fā)能力之外,還可以滿足應用層的OLTP場景。具體優(yōu)化策略如下。

      ①存儲資源方面,可對時序數(shù)據(jù)進行編碼壓縮,使得輕量級機器學習在邊緣計算設備實現(xiàn)提供了支撐。此外,還可以將歷史時序數(shù)據(jù)遷移到更廉價的存儲設備HDFS 等,在不影響查詢業(yè)務情況下降低了存儲要求。

      ②內(nèi)存資源方面,YMatrix可以通過自動計算查詢計劃,自動給每個算子分配需要的資源,避免時序數(shù)據(jù)庫High Cardinality難題。

      ③CPU和I/O資源方面,避免重復性計算,將聚集下推,降低查詢時I/O開銷。

      ④網(wǎng)絡資源方面,在數(shù)據(jù)加載過程中,對數(shù)據(jù)進行壓縮傳輸,提升了網(wǎng)絡資源利用率。

      2 研究結(jié)果與分析

      2.1 集群環(huán)境

      該文YMatrix 集群環(huán)境搭建在戴爾塔式服務器VMware虛擬機上,1個Master節(jié)點,6個Segment節(jié)點,具體配置信息見表1。每個節(jié)點內(nèi)存8G,存儲80G,每個節(jié)點4個實例。本環(huán)境采用是YMatrix數(shù)據(jù)庫企業(yè)版5.0。

      表1 服務器配置參數(shù)Table 1 The configuration parameter of server

      2.2 應用示范

      以Kettle 作為客戶端,通過可視化建模,進行海量空間數(shù)據(jù)、流式數(shù)據(jù)、圖像數(shù)據(jù)實時和批量入庫(圖5)、ETL抽取轉(zhuǎn)換加載、作業(yè)統(tǒng)計和轉(zhuǎn)換以及數(shù)據(jù)同步等操作[24]。

      圖 5 Kettle自動化建模Fig.5 Automated modeling

      通過采用YMatrix分布式時序數(shù)據(jù)庫,結(jié)合果園大數(shù)據(jù)建設復雜場景,開展果園大數(shù)據(jù)管理平臺建設工作(圖6),實現(xiàn)了園區(qū)信息、精準作業(yè)、園區(qū)智能感知、園區(qū)管理和智能管控等功能。對果園大數(shù)據(jù)提供智能管理和精準生產(chǎn)服務指導[8]。

      圖 6 果園大數(shù)據(jù)管理系統(tǒng)Fig.6 The management system of orchard bid data

      2.3 存儲策略

      (1)多級數(shù)據(jù)局部存儲策略

      果園時序數(shù)據(jù)涉及到多個農(nóng)機設備傳感器、物聯(lián)網(wǎng)和攝像頭等實時處理的復雜場景,具有多模態(tài)數(shù)據(jù)融合和全場景查詢分析需求。針對這些問題,在數(shù)據(jù)湖基礎上設計了多級別存儲策略,具體是:①采用YMatrix分布式存儲引擎數(shù)據(jù)分片策略,讓同一設備連續(xù)時間存儲在同一節(jié)點、同一數(shù)據(jù)庫表且表內(nèi)連續(xù)存儲。其中分片策略可采用哈希分布、隨機分布、復制分布等策略。②在時序場景中,通常按照設備標識號對時序表做哈希分布,主要目的是把同一設備(例如tag001)數(shù)據(jù)存儲到同一個Segment節(jié)點中,這樣確保了節(jié)點級別數(shù)據(jù)局部性。③在分片的基礎上,YMatrix在數(shù)據(jù)分片策略的基礎上,對時序表做了更細粒度的數(shù)據(jù)分區(qū),這樣做不僅可以在查詢中進行分區(qū)裁剪,降低掃描的數(shù)據(jù)量,還可以達到多級分區(qū)以提供更極致的數(shù)據(jù)局部性。其中數(shù)據(jù)分區(qū)策略包括范圍分區(qū)、列表分區(qū)、哈希分區(qū)。

      此外,在確定了數(shù)據(jù)分區(qū)和分區(qū)策略,還需要考慮每個分區(qū)子表的存儲策略,采取列存儲、行存儲和列行混存。存儲格式采用面向行存HEAP 和面向列存儲ORC,索引采用BTREE索引、倒排索引或自定義索引。

      (2)時序場景的冷熱數(shù)據(jù)存儲策略

      在智慧果園精準管理和科學決策過程中,涉及復雜多樣統(tǒng)計與分析熱數(shù)據(jù)。這類數(shù)據(jù)具有價值密度大、高效訪問等特點。針對這類問題,需要時間范圍查詢或設備聚合查詢[25-26]。具體是:①對熱數(shù)據(jù)用行存HEAP表加BTREE索引策略。②采用時序微內(nèi)核配置向量化執(zhí)行引擎,將查詢延遲進一步縮短,提升整體執(zhí)行效率。

      針對時序歷史冷數(shù)據(jù),這類數(shù)據(jù)具有持續(xù)增長和存儲空間需求大特點。針對這類問題,采用了MARS2(YMatrix Append-optimized Version 2)存儲引擎策略,具體是:①采用行列混存存儲方式,每一行列分組單元是一個RowGroup,RowGroup內(nèi)設備采集數(shù)據(jù)按列組織,這樣一個列就形成了一個Chunk。這樣RowGroup確保在分區(qū)表基礎上每個設備時序數(shù)據(jù)的物理局部性,而Chuck確保分組內(nèi)具有相同類型數(shù)據(jù)的單列數(shù)據(jù)得到了局部性。②YMatrix 采用了自動分區(qū)管理策略,可自動創(chuàng)建熱數(shù)據(jù)分區(qū)、自動冷熱分區(qū)轉(zhuǎn)換,歷史數(shù)據(jù)過期清除等操作。

      實行以上存儲策略具有三方面的優(yōu)點:①Chunk 列存儲策略可結(jié)合編碼壓縮策略。根據(jù)時序類型可選擇Delta編碼、Gorilla編碼方式,以及ZATD、LZ等壓縮方式。②充分利用了設備數(shù)據(jù)局部性這一存儲策略,提前計算好RowGroup 內(nèi)每個列的常見聚集信息,可以智能的獲取每個查詢條件結(jié)果的聚集結(jié)果,這樣可以避免直接遍歷所有數(shù)據(jù)點,大大提升了數(shù)據(jù)查詢性能。③預聚集信息中的Min/Max 還可以作為稀疏索引,對其RowsGroup進行過濾,降低了I/O開銷。

      (4)空間數(shù)據(jù)存儲策略

      針對海量遙感數(shù)據(jù)和瓦片數(shù)據(jù)等存儲問題[27-28],采用實時數(shù)據(jù)寫入工具MatrixGate和構(gòu)建時空索引。同時,該文以都市龍泉驛現(xiàn)代農(nóng)業(yè)園區(qū)無人機遙感數(shù)、地圖瓦片數(shù)據(jù)等數(shù)據(jù)作為數(shù)據(jù)集,對比了INSERT直接插入和YMatrix,發(fā)現(xiàn)YMatrix空間數(shù)據(jù)查詢與分析比直接INSERT方式快5-10倍左右,充分發(fā)揮MatrixGate優(yōu)勢。此外,可以構(gòu)建GIST、BRIN和SP-GiST等索引[29-31]。

      3 結(jié)論與討論

      通過采用YMatrix 分布式時序數(shù)據(jù)庫,結(jié)合果園大數(shù)據(jù)建設復雜場景,采用YMatrix超融合數(shù)據(jù)庫架構(gòu)設計思想,并從存儲引擎、計算引擎以及存儲管理等方面對果園大數(shù)據(jù)產(chǎn)生的多源異構(gòu)數(shù)據(jù)存儲策略進行了探索,有效解決了傳統(tǒng)的“煙囪式”“孤島式”數(shù)據(jù)架構(gòu)不足,提出果園大數(shù)據(jù)存儲和管理一站式高效解決方案,為數(shù)字農(nóng)業(yè)和數(shù)字農(nóng)業(yè)孿生建設提供了強有力支撐。方案經(jīng)測試后,項目組在成都市龍泉驛現(xiàn)代農(nóng)業(yè)園區(qū)開展的果園大數(shù)據(jù)管理平臺建設中,構(gòu)建果園大數(shù)據(jù)超融合時序數(shù)據(jù)庫,實際的果園多源異構(gòu)、多模態(tài)數(shù)據(jù)存儲和管理有待進一步研究分析。

      目前,YMatrix分布式時序數(shù)據(jù)庫在數(shù)字化果園建設過程中還存在一定的差距,尤其對于不同傳感器、物聯(lián)網(wǎng)和智能機器人產(chǎn)生多源異構(gòu)數(shù)據(jù)的清洗、抽取和融合還有不足,需要全方位挖掘果園大數(shù)據(jù)建設過程中需求,進一步充分利用YMatrix實時數(shù)據(jù)倉庫、實時數(shù)據(jù)實時決策等能力,最終實現(xiàn)數(shù)據(jù)匯聚、治理、融合與服務,為構(gòu)建數(shù)字果園數(shù)字化奠定基礎。

      猜你喜歡
      時序引擎分區(qū)
      時序坐標
      上海實施“分區(qū)封控”
      基于Sentinel-2時序NDVI的麥冬識別研究
      浪莎 分區(qū)而治
      藍谷: “涉藍”新引擎
      商周刊(2017年22期)2017-11-09 05:08:31
      一種毫米波放大器時序直流電源的設計
      電子制作(2016年15期)2017-01-15 13:39:08
      無形的引擎
      河南電力(2015年5期)2015-06-08 06:01:46
      基于SAGA聚類分析的無功電壓控制分區(qū)
      電測與儀表(2015年8期)2015-04-09 11:50:16
      基于多種群遺傳改進FCM的無功/電壓控制分區(qū)
      電測與儀表(2015年7期)2015-04-09 11:40:16
      基于Cocos2d引擎的PuzzleGame開發(fā)
      渝北区| 富川| 乳山市| 菏泽市| 冷水江市| 陆良县| 六枝特区| 桃江县| 枣庄市| 靖江市| 东乡| 英吉沙县| 华亭县| 灵宝市| 山东省| 平利县| 高清| 五原县| 衡阳县| 德州市| 大理市| 宜丰县| 通化市| 理塘县| 蒲城县| 安远县| 延庆县| 呼和浩特市| 吉木乃县| 西和县| 司法| 白城市| 项城市| 漳平市| 佛学| 桂东县| 广平县| 原平市| 海伦市| 手游| 阿勒泰市|