六月婷婷AV,国产偷窥猎奇福利二区,日韩三级片。,好吊色网站,日韩成人中文在线视频,国产亚洲午夜啪啪,亚洲欧美另类国产精品,国产成人av1,任你艹在线观看

10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB

作者介紹

葉紅偉,北京云洋物聯(lián)技術(shù)有限公司軟件研發(fā)經(jīng)理,主要從事智慧農(nóng)業(yè)平臺(tái)開(kāi)發(fā)及應(yīng)用,負(fù)責(zé)平臺(tái)的架構(gòu)設(shè)計(jì)以及主要業(yè)務(wù)代碼開(kāi)發(fā)工作。

關(guān)于云洋物聯(lián)

作為國(guó)內(nèi)領(lǐng)先的數(shù)字農(nóng)業(yè)產(chǎn)品與解決方案服務(wù)商,云洋物聯(lián)自成立以來(lái)便始終致力于推動(dòng)三農(nóng)新基建的發(fā)展,以數(shù)據(jù)賦能農(nóng)業(yè)建設(shè),以科技振興鄉(xiāng)村作為使命初心,加速農(nóng)業(yè)農(nóng)村的轉(zhuǎn)型升級(jí)。同時(shí),科學(xué)運(yùn)用互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、大數(shù)據(jù)、區(qū)塊鏈等新興技術(shù),將AloT技術(shù)與農(nóng)業(yè)生產(chǎn)技術(shù)深度融合,在政策與科技的融匯交集、疊加備力下,助力行業(yè)企業(yè)實(shí)現(xiàn)降本增效、提質(zhì)增收。 業(yè)務(wù)快速發(fā)展之余,云洋物聯(lián)不可避免地也遇到了一些棘手的難題,如元數(shù)據(jù)的存儲(chǔ)模式導(dǎo)致空間占用率加速膨脹,查詢(xún)分析操作響應(yīng)時(shí)間達(dá)不到要求,系統(tǒng)復(fù)雜度越來(lái)越高等等。

在此背景下,云洋物聯(lián)決定采用時(shí)序數(shù)據(jù)庫(kù)(Time-Series Database),并經(jīng)過(guò)一系列測(cè)試和對(duì)比分析后得出選型結(jié)論——基于全表和單個(gè)設(shè)備進(jìn)行統(tǒng)計(jì)查詢(xún),TDengine對(duì)比MongoDB分別快了3倍、10倍。于是,云洋物聯(lián)決定將系統(tǒng)從原有架構(gòu)遷移到TDengine Database。

業(yè)務(wù)架構(gòu)詳解

云洋物聯(lián)智慧農(nóng)業(yè)平臺(tái)是一家基于農(nóng)業(yè)物聯(lián)網(wǎng)設(shè)備和AI種植模型,為溫室大棚、大田提供標(biāo)準(zhǔn)化智能種植方案的技術(shù)服務(wù)商。在實(shí)際生產(chǎn)種植環(huán)境中,云洋物聯(lián)以每個(gè)大棚、大田為基準(zhǔn)點(diǎn),根據(jù)作物的不同茬口及生育期,匹配出適宜作物生長(zhǎng)的環(huán)境參數(shù),并以此建立合適的智能種植方案。 具體而言,云洋系統(tǒng)會(huì)通過(guò)物聯(lián)網(wǎng)采集設(shè)備實(shí)時(shí)上報(bào)的數(shù)據(jù),判斷棚內(nèi)環(huán)境是否適宜種植作物生長(zhǎng)。當(dāng)棚內(nèi)環(huán)境觸發(fā)設(shè)備設(shè)置對(duì)應(yīng)閾值時(shí),關(guān)聯(lián)狀態(tài)下的手機(jī)等電子設(shè)備將會(huì)啟動(dòng)告警通知,或觸發(fā)控制設(shè)備的自動(dòng)控制開(kāi)關(guān)。此外,通過(guò)模型算法還能計(jì)算出大棚、大田積溫情況,利用空氣溫度、濕度等環(huán)境要素來(lái)預(yù)測(cè)是否會(huì)觸發(fā)蟲(chóng)害、病害等危害。

10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)
圖1 云洋系統(tǒng)的運(yùn)營(yíng)監(jiān)控大屏

圖1 云洋系統(tǒng)的運(yùn)營(yíng)監(jiān)控大屏,圖2為云洋系統(tǒng)的業(yè)務(wù)架構(gòu)圖,其中最下層設(shè)備層為邊緣硬件設(shè)備,通過(guò)設(shè)備數(shù)據(jù)分發(fā)網(wǎng)關(guān)對(duì)設(shè)備實(shí)時(shí)數(shù)據(jù)進(jìn)行定向分發(fā)。

業(yè)務(wù)架構(gòu)中幾個(gè)重要模板的分工為:

  • 設(shè)備控制服務(wù)負(fù)責(zé)下發(fā)設(shè)備控制及響應(yīng)、設(shè)備運(yùn)維處理、設(shè)備遠(yuǎn)程升級(jí)、日志讀取等功能;
  • 設(shè)備數(shù)據(jù)分析告警按照定義的規(guī)則對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行分析告警;
  • 設(shè)備存儲(chǔ)服務(wù)負(fù)責(zé)對(duì)設(shè)備數(shù)據(jù)進(jìn)行解析入庫(kù),提供設(shè)備數(shù)據(jù)查詢(xún)功能;
  • 業(yè)務(wù)層則是對(duì)實(shí)際業(yè)務(wù)的抽象,結(jié)合用戶(hù)園區(qū)地塊及綁定的物聯(lián)網(wǎng)設(shè)備、設(shè)備產(chǎn)生的數(shù)據(jù),結(jié)合標(biāo)準(zhǔn)化種植模型進(jìn)行方案推薦及病害蟲(chóng)害的預(yù)測(cè)。
10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)
圖2 業(yè)務(wù)架構(gòu)圖

元數(shù)據(jù)存儲(chǔ)模式導(dǎo)致數(shù)據(jù)表空間占用率膨脹十幾倍

眾所周知,農(nóng)業(yè)物聯(lián)網(wǎng)設(shè)備主要分為環(huán)境數(shù)據(jù)采集與控制兩大類(lèi)。其中環(huán)境數(shù)據(jù)采集型設(shè)備,細(xì)分的話(huà)又有各類(lèi)單品傳感器、多合一傳感器和氣象站等,而這些設(shè)備采集環(huán)境要素指標(biāo)往往也具有多樣性。

下圖為不同設(shè)備的采集信息情況:

10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)
10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)
10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)

發(fā)展至今,平臺(tái)上在線(xiàn)設(shè)備已經(jīng)有一萬(wàn)多臺(tái),設(shè)備每日上報(bào)的數(shù)據(jù)量達(dá)到上百萬(wàn)條。 這些數(shù)據(jù)基于MySQL、Redis、MongoDB實(shí)現(xiàn)多級(jí)存儲(chǔ) ,而在設(shè)備采集參數(shù)的不確定性問(wèn)題上,我們采用基于元數(shù)據(jù)的范式,增加對(duì)設(shè)備統(tǒng)一集中管理配置的靈活性。

但元數(shù)據(jù)的設(shè)計(jì)存儲(chǔ)模式在靈活便捷之余,也存在一些缺陷。舉例來(lái)說(shuō),如果我們將5個(gè)采集要素的設(shè)備數(shù)據(jù)進(jìn)行存儲(chǔ),則會(huì)生成5條數(shù)據(jù),對(duì)比單表存儲(chǔ)數(shù)據(jù)量膨脹了5倍。此時(shí)針對(duì)一些客戶(hù)的需求,比如給潮州佳寶產(chǎn)業(yè)園定制的導(dǎo)管式土壤監(jiān)測(cè)站,有十幾個(gè)環(huán)境要素,基于上述的存儲(chǔ)模式,表空間占用率將膨脹達(dá)十幾倍。

除此之外,因?yàn)槭褂玫氖莻鹘y(tǒng)數(shù)據(jù)庫(kù),所有設(shè)備數(shù)據(jù)都是存儲(chǔ)在一張表上。在這種存儲(chǔ)情況下,為了滿(mǎn)足實(shí)時(shí)性查詢(xún)的需求,對(duì)最新數(shù)據(jù)采用Redis進(jìn)行存儲(chǔ);為了滿(mǎn)足周期數(shù)據(jù)的范圍查詢(xún),全量的歷史數(shù)據(jù)則通過(guò)MongoDB按時(shí)間線(xiàn)分表存儲(chǔ),時(shí)段內(nèi)變動(dòng)的數(shù)據(jù)則存儲(chǔ)在MySQL。

設(shè)備歷史數(shù)據(jù)查詢(xún):

10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)

地塊環(huán)境走勢(shì)曲線(xiàn):

10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)

隨著業(yè)務(wù)功能的豐富細(xì)化及設(shè)備量的日益增加,對(duì)設(shè)備數(shù)據(jù)的實(shí)時(shí)查詢(xún)、時(shí)間范圍分析的需求增加,基于MySQL和Mongo DB進(jìn)行查詢(xún)分析操作響應(yīng)時(shí)間較長(zhǎng),系統(tǒng)復(fù)雜度也逐漸增高。為了滿(mǎn)足對(duì)設(shè)備數(shù)據(jù)高效的查詢(xún)分析,我們準(zhǔn)備將設(shè)備數(shù)據(jù)存儲(chǔ)切換到時(shí)序數(shù)據(jù)庫(kù)。

為什么選擇 TDengine?

在實(shí)際的業(yè)務(wù)中,對(duì)一段時(shí)間內(nèi)的數(shù)據(jù)進(jìn)行分析是系統(tǒng)中很常見(jiàn)的一個(gè)操作。我們?cè)贛ongoDB(對(duì)時(shí)間和設(shè)備編碼建立了索引)和TDengine上都存儲(chǔ)了3000萬(wàn)條數(shù)據(jù),首先對(duì)全表進(jìn)行時(shí)間區(qū)間數(shù)據(jù)分組統(tǒng)計(jì)查詢(xún),兩種數(shù)據(jù)庫(kù)的查詢(xún)結(jié)果顯示如下:

MongoDB:

10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)

TDengine:

10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)

通過(guò)對(duì)比,基于全表進(jìn)行時(shí)間區(qū)間數(shù)據(jù)分組統(tǒng)計(jì)查詢(xún),TDengine比MongoDB快了3倍。

接下來(lái)對(duì)單個(gè)設(shè)備進(jìn)行數(shù)據(jù)分組統(tǒng)計(jì)查詢(xún)操作,兩種數(shù)據(jù)庫(kù)的查詢(xún)結(jié)果如下圖所示:

MongoDB:

10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)

TDengine:

10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)

基于單個(gè)設(shè)備數(shù)據(jù)的查詢(xún)統(tǒng)計(jì),MongoDB是非本地查詢(xún),存在一定的網(wǎng)絡(luò)開(kāi)銷(xiāo),響應(yīng)速度在1秒以?xún)?nèi),而TDengine對(duì)比MongoDB快了10倍以上。

10倍性能優(yōu)勢(shì)!TDengine在云洋物聯(lián)智慧農(nóng)業(yè)業(yè)務(wù)中替代MongoDB - TDengine Database 時(shí)序數(shù)據(jù)庫(kù)
使用TDengine實(shí)現(xiàn)的蟲(chóng)害預(yù)警

通過(guò)上述的測(cè)試和應(yīng)用實(shí)踐,我們發(fā)現(xiàn)TDengine具有諸多優(yōu)勢(shì)特點(diǎn),下面簡(jiǎn)要列舉一下選擇它的五個(gè)理由:

  • 數(shù)據(jù)模型:對(duì)比傳統(tǒng)數(shù)據(jù)庫(kù),TDengine采用一個(gè)采集點(diǎn)一張表,動(dòng)態(tài)靜態(tài)數(shù)據(jù)分離模式,對(duì)同一類(lèi)型的采集點(diǎn)采用超級(jí)表進(jìn)行數(shù)據(jù)統(tǒng)一查詢(xún)管理的設(shè)計(jì)
  • 窗口查詢(xún):對(duì)比MongoDB、MySQL進(jìn)行時(shí)間范圍的函數(shù)操作,響應(yīng)速度快了一個(gè)級(jí)別
  • 支持標(biāo)準(zhǔn)SQL: 使用簡(jiǎn)單,學(xué)習(xí)成本低
  • 標(biāo)簽查詢(xún):基于給表定義標(biāo)簽,可以方便地查詢(xún)統(tǒng)計(jì)分組設(shè)備
  • 運(yùn)維簡(jiǎn)單:數(shù)據(jù)庫(kù)的安裝、副本擴(kuò)容,通過(guò)簡(jiǎn)單的配置即可完成

未來(lái)展望

這是一個(gè)非常驚喜的開(kāi)始,云洋物聯(lián)和TDengine Database的合作不止于此。未來(lái)我們將結(jié)合業(yè)務(wù)需求,在更多場(chǎng)景下應(yīng)用TDengine進(jìn)行數(shù)據(jù)存儲(chǔ),同時(shí)對(duì)TDengnie的消息隊(duì)列、緩存、流式計(jì)算等功能進(jìn)行學(xué)習(xí)應(yīng)用。

此外,在調(diào)研和使用的落地過(guò)程中,也非常感謝濤思數(shù)據(jù)提供的專(zhuān)業(yè)性指導(dǎo)和建議,祝TDengine越來(lái)越好。