无码人妻精品一区二区三18禁,影音先锋男人AV橹橹色,污污污污污污www网站免费,日韩成人av无码一区二区三区,欧美性受xxxx狂喷水

解決海量時序數據的存儲和計算,TDengine在智慧環保上的應用

中科惠軟 陳繼宇

2020-07-30 / ,

小 T 導讀:中(zhong)科惠軟的“智(zhi)慧環(huan)保(bao)”物聯網(wang)應用項(xiang)目采用了自(zi)研的WisoftETL中(zhong)間(jian)件,引入了TDengine Database解決了大(da)量(liang)時序類數據(ju)的讀寫問題,已完全滿足其智(zhi)慧環(huan)保(bao)項(xiang)目海量(liang)時間(jian)序列監測數據(ju)存儲和計算(suan)。

場景介紹

中科惠軟(ruan)承建的A城(cheng)市(shi)“智慧環(huan)保(bao)”物聯(lian)網(wang)應用(yong)項目需要(yao)采集各(ge)類感知設備產生的監(jian)(jian)(jian)測數據和監(jian)(jian)(jian)控(kong)設備各(ge)種運行(xing)狀態(tai),監(jian)(jian)(jian)測數據包括空氣質(zhi)量、水環(huan)境質(zhi)量、渣土場和渣土車監(jian)(jian)(jian)測、施工工地揚塵監(jian)(jian)(jian)測等(deng)實時(shi)(shi)監(jian)(jian)(jian)測數據。并且需要(yao)把(ba)每時(shi)(shi)每刻監(jian)(jian)(jian)控(kong)的數據記錄存(cun)儲下來(lai),用(yong)于生態(tai)環(huan)境大數據分析(xi)和城(cheng)市(shi)環(huan)境質(zhi)量預測預報分析(xi)計算。

項目每天(tian)采(cai)集各類監測數據2億余條,如(ru)果使用公(gong)司原架構(gou),可以(yi)勉(mian)強將每天(tian)的(de)數據存儲下(xia)來,但如(ru)果需(xu)要快速(su)查詢(xun)“某天(tian)下(xia)午(wu)兩(liang)點,A路段有多少輛(liang)渣土車通(tong)過”這(zhe)樣條件的(de)多緯度分組聚合查詢(xun),那么采(cai)用傳統的(de)數據庫(ku)就無法實現快速(su)查詢(xun)需(xu)求。

考慮到各類感(gan)知監(jian)測設(she)備會時(shi)(shi)刻(ke)產生大量(liang)秒(miao)級和分鐘(zhong)級監(jian)測數(shu)據(ju)存儲和實時(shi)(shi)計(ji)算,關于海(hai)量(liang)時(shi)(shi)間(jian)序列(lie)數(shu)據(ju)存儲,經(jing)過(guo)多個產品之間(jian)的性能和穩定(ding)性方面對比,最終,采用了TDengine產品實現海(hai)量(liang)的生態(tai)環境監(jian)測數(shu)據(ju)進行實時(shi)(shi)存儲、計(ji)算和大數(shu)據(ju)分析。

時序數據庫(Time-Series Database)選型

現今(jin)智慧環保領(ling)域使用海量的監(jian)測(ce)數據進(jin)行大數據分析,發現深(shen)層(ceng)次的環境(jing)問題,從(cong)而(er)幫助污染源企(qi)業節能(neng)減排,增加效益。我(wo)公司選擇(ze)了InfluxDB和TDengine進(jin)行對比。

由于InfluxDB和TDengine集群版本都需(xu)要(yao)收費,最(zui)終(zhong)選(xuan)擇了單實例(li)進行對比測試(shi)(shi),開始準備兩臺配置參數(shu)一(yi)致的(de)測試(shi)(shi)服務(wu)器(qi)進行多方面的(de)應用場景、穩定性以及(ji)性能測試(shi)(shi)。

測試項TDengineInfluxDB
數據寫入性能1232729 條/秒294591條/秒
100萬條記錄讀取時間0.26秒6.1秒
1億條記錄按時間分組取均值時間2.671秒29.77秒

以上(shang)(shang)性能測(ce)(ce)試(shi)(shi)結果(guo)(guo)為測(ce)(ce)試(shi)(shi)環境結果(guo)(guo),若與官方測(ce)(ce)試(shi)(shi)數據有偏差,敬請諒解。上(shang)(shang)述性能測(ce)(ce)試(shi)(shi)結果(guo)(guo)僅供參考。

InfluxDB需要(yao)借助(zhu)kafka、MQTT等(deng)消(xiao)息(xi)隊(dui)列中間件實現批量寫入(ru),從而(er)提(ti)升(sheng)數據(ju)的寫入(ru)性能(neng)。綜合智(zhi)能(neng)環保項(xiang)目多方(fang)面應用場(chang)景(jing)測(ce)試,結合我公司(si)一段時間的穩(wen)定(ding)性和性能(neng)方(fang)面測(ce)試,TDengine時序數據(ju)庫(ku)相對比較適合我公司(si)智(zhi)慧環保領域產品(pin)發展(zhan)戰(zhan)略,也考慮到(dao)后期智(zhi)慧環保領域系(xi)統國產化需要(yao),最(zui)終選型了TDengine產品(pin)。

TDengine業務應用

數據流設計

整個(ge)數(shu)(shu)據(ju)(ju)采(cai)集(ji)延續了我公司(si)之(zhi)前的(de)架構(gou)設計(ji)(ji)(ji),從外(wai)部系統(tong)或終(zhong)端監(jian)測設備采(cai)集(ji)數(shu)(shu)據(ju)(ju)沿用(yong)了我公司(si)自(zi)研WisoftETL中(zhong)(zhong)(zhong)(zhong)間件(jian)產品(pin)。WisoftETL主(zhu)要負(fu)責(ze)接收數(shu)(shu)據(ju)(ju)包和主(zhu)動請求獲(huo)取數(shu)(shu)據(ju)(ju)包兩種方式,接收到原(yuan)始數(shu)(shu)據(ju)(ju)后,根(gen)據(ju)(ju)定(ding)義的(de)數(shu)(shu)據(ju)(ju)融合(he)(he)規則進(jin)行數(shu)(shu)據(ju)(ju)整合(he)(he),將(jiang)數(shu)(shu)據(ju)(ju)進(jin)行分(fen)類存(cun)儲至數(shu)(shu)據(ju)(ju)中(zhong)(zhong)(zhong)(zhong)心各類數(shu)(shu)據(ju)(ju)。在存(cun)儲時間序列(lie)數(shu)(shu)據(ju)(ju)時,充(chong)分(fen)利用(yong)TDengine中(zhong)(zhong)(zhong)(zhong)Avg、Count、Max、Min等(deng)聚合(he)(he)函數(shu)(shu)對一個(ge)或多(duo)個(ge)數(shu)(shu)據(ju)(ju)流(liu)進(jin)行實時聚合(he)(he)、統(tong)計(ji)(ji)(ji)以(yi)(yi)及計(ji)(ji)(ji)算等(deng),并將(jiang)計(ji)(ji)(ji)算出的(de)衍生數(shu)(shu)據(ju)(ju)保存(cun)進(jin) Tdengine新(xin)的(de)數(shu)(shu)據(ju)(ju)表中(zhong)(zhong)(zhong)(zhong),以(yi)(yi)便后續的(de)操作。

部署及應用

生產(chan)環(huan)境中我們選擇了三臺(tai)服務進行(xing)分布式部署,如(ru)官方所說(shuo)一致,TDengine部署特別的(de)(de)簡單,在(zai)安裝(zhuang)過程中,會(hui)提示當前安裝(zhuang)的(de)(de)節點是否要加入已經存在(zai)的(de)(de)集(ji)(ji)群(qun)節點,輸入集(ji)(ji)群(qun)節點IP地址即可加入該集(ji)(ji)群(qun)節點。

項目初(chu)期(qi)規劃(hua)了2000多(duo)個空氣監(jian)(jian)測站點(dian)、500個移動監(jian)(jian)測點(dian)以及4000多(duo)輛渣土車,充分利(li)用(yong)TDengine的Stable多(duo)表聚(ju)合為(wei)每類監(jian)(jian)測設備(bei)創(chuang)建超(chao)級表,為(wei)每個設備(bei)創(chuang)建了子(zi)表。

–創建超(chao)級表(biao)

create table t_realtime_gps_partcar_his (gpstimestamp timestamp, devphone nchar(20), platenum nchar(20), longitude nchar(20), latitude nchar(20), senddatetime timestamp, carspeed nchar(20), isonline nchar(20), ) tags (tag1 nchar(20))

–創建(jian)子表

create table t_realtime_gps_40155712660 using t_realtime_gps_partcar_his tags ('40155712660'); 
create table t_realtime_gps_40155712661 using t_realtime_gps_partcar_his tags ('40155712661');

為了(le)滿(man)足少部分(fen)監測設(she)(she)備(bei)會定期的增(zeng)加或(huo)者(zhe)更換(huan)設(she)(she)備(bei),由(you)于部分(fen)設(she)(she)備(bei)會存(cun)在定期更換(huan)或(huo)增(zeng)加監測設(she)(she)備(bei)數據,我們在架構設(she)(she)計時(shi)還引用了(le)TDengine根據數據自動創建子表(biao)。

–超級表寫入數據時,如果子表不存在,則(ze)自(zi)動根據超級表自(zi)動創建子表

insert into zyml.t_realtime_gps_40155712669 using zyml.t_realtime_gps_partcar_his tags ('40155712669') values (gpstimestamp, devphone, platenum, longitude, latitude, senddatetime, carspeed , isonline) ('2019-07-25 04:55:05.457752', '40155712669', '23477', '117.04634', '36.72716', '2019-07-25 04:54:57.0', '0', '0');

數據流式計算

1. 數據資產實時分析(xi)

以往(wang)智(zhi)慧(hui)環(huan)保(bao)項目(mu)我們采用傳(chuan)統(tong)數(shu)據(ju)(ju)庫架構設計(ji),對在海量(liang)秒級監測數(shu)據(ju)(ju)實時(shi)統(tong)計(ji)和分析耗時(shi)長、CPU和內(nei)存利用率低、磁盤IO超負荷。在a市智(zhi)慧(hui)環(huan)保(bao)物聯網應用項目(mu)我們創(chuang)新使用了(le)TDengine時(shi)序數(shu)據(ju)(ju)庫,利用了(le)實時(shi)流式計(ji)算相(xiang)關函數(shu),解決了(le)大數(shu)據(ju)(ju)存儲和計(ji)算,降低了(le)代碼開發復雜度,讓(rang)運維工作變得極為簡單,從而(er)大大的降低了(le)運營成本。

解決海量時序數據的存儲和計算,TDengine在智慧環保上的應用 - TDengine Database 時序數據庫

2. 實時報警流式(shi)計算

通過(guo)采(cai)集(ji)污染源(yuan)企業廢氣、廢水(shui)和能耗監測數據,對每(mei)分鐘的監測數據進行實時(shi)(shi)計算每(mei)個污染物每(mei)個小時(shi)(shi)的平(ping)均值、最(zui)大(da)值、最(zui)小值、排放量累計值。我(wo)們主要(yao)使用TDengine定義(yi)自動滑動計算實現小時(shi)(shi)監測數據計算,并將實時(shi)(shi)計算結果(guo)數據存儲(chu)新的pmcaemhourdata表中,可供其他業務平(ping)臺重復利用。

create table pmcaemhourdata as select avg (codcraudit),max (codcraudit),min (codcraudit),sum(codcrpfl),avg(codcrstand) from pmcaemminuteata interval (60m) sliding(60m)

利用實(shi)時計算結果(guo)數(shu)(shu)(shu)據,結合(he)預先設定的預警規則(如(ru)超標(biao)預警、監(jian)測數(shu)(shu)(shu)值(zhi)邏輯錯誤預警、在線(xian)率(lv)過低預警等)對污染源監(jian)測數(shu)(shu)(shu)據進行實(shi)時預警,并且將實(shi)時預警數(shu)(shu)(shu)據分發給相(xiang)關(guan)業(ye)務(wu)負(fu)責人(APP終端(duan)),方便業(ye)務(wu)負(fu)責人及時發現(xian)環境問題,提升環境治(zhi)理能力。

解決海量時序數據的存儲和計算,TDengine在智慧環保上的應用 - TDengine Database 時序數據庫
解決海量時序數據的存儲和計算,TDengine在智慧環保上的應用 - TDengine Database 時序數據庫

數據存儲

A市智慧環保(bao)物聯網應用(yong)項目由于(yu)資源緊張,信(xin)息中心在(zai)項目前期只能提(ti)供廉價的機械硬盤(pan)形式的物理存(cun)(cun)儲(chu)服務(wu)器,后期將采購高性(xing)能的SSD固態硬盤(pan)用(yong)于(yu)擴(kuo)展數(shu)據存(cun)(cun)儲(chu)。項目團隊鑒(jian)于(yu)實際情況(kuang),在(zai)項目建設過程中充分利用(yong)TDengine存(cun)(cun)儲(chu)結構(gou)的優勢,對每張生(sheng)態環境數(shu)據表(biao)(如站點監測秒(miao)(miao)級(ji)數(shu)據表(biao)、廢水廢氣(qi)監測秒(miao)(miao)級(ji)數(shu)據表(biao))維護索引,保(bao)存(cun)(cun)每個數(shu)據塊在(zai)文件中的偏移量,起始時間、數(shu)據點數(shu)、壓縮(suo)算法等(deng)信(xin)息。

每(mei)個數(shu)(shu)(shu)據(ju)(ju)文件設(she)置為保存一(yi)(yi)周時間的(de)(de)數(shu)(shu)(shu)據(ju)(ju)。這樣一(yi)(yi)來(lai)一(yi)(yi)個表的(de)(de)數(shu)(shu)(shu)據(ju)(ju)會分布在(zai)多(duo)個數(shu)(shu)(shu)據(ju)(ju)文件中。查(cha)詢時,根據(ju)(ju)給定的(de)(de)時間段(duan),TDengine將計(ji)算出查(cha)找的(de)(de)數(shu)(shu)(shu)據(ju)(ju)會在(zai)哪個數(shu)(shu)(shu)據(ju)(ju)文件,然(ran)后進行讀(du)取,這樣大幅(fu)減少了硬(ying)盤操作次數(shu)(shu)(shu)。多(duo)個數(shu)(shu)(shu)據(ju)(ju)文件的(de)(de)設(she)計(ji)還(huan)有利于數(shu)(shu)(shu)據(ju)(ju)同步、數(shu)(shu)(shu)據(ju)(ju)恢復(fu)、數(shu)(shu)(shu)據(ju)(ju)自動(dong)刪除操作,更有利于數(shu)(shu)(shu)據(ju)(ju)按照新(xin)舊程度(du)在(zai)不同物理介質(zhi)上存儲。

例如:歷史的(de)(de)(de)生(sheng)態環境(jing)數(shu)據存(cun)放在(zai)大容量但慢速(su)的(de)(de)(de)機械硬(ying)盤上(shang)(shang),而最新的(de)(de)(de)數(shu)據則(ze)存(cun)儲在(zai)高(gao)性(xing)能(neng)的(de)(de)(de)SSD固態硬(ying)盤上(shang)(shang)。通過TDengine這樣的(de)(de)(de)存(cun)儲設計,TDengine能(neng)夠將硬(ying)盤的(de)(de)(de)隨機讀取幾乎降(jiang)為(wei)零,從而大幅提升環境(jing)監測數(shu)據的(de)(de)(de)寫入(ru)和查詢效率,讓TDengine即便在(zai)很廉(lian)價的(de)(de)(de)存(cun)儲設備上(shang)(shang)也能(neng)有著超強的(de)(de)(de)性(xing)能(neng)。

總結

經過了(le)一段(duan)時間的(de)生產環境應(ying)用,對TDengine Database各項指(zhi)標的(de)表現非常滿(man)意(yi),現已完全滿(man)足我公司智慧環保項目海量時間序列監(jian)測(ce)數據存(cun)儲和(he)計算。但(dan)希(xi)望后期版(ban)本可以(yi)支(zhi)(zhi)(zhi)持(chi)對歷史數據修(xiu)改(實際用戶會對分鐘級、小時級監(jian)測(ce)數據進行(xing)修(xiu)正(zheng)),以(yi)及(ji)支(zhi)(zhi)(zhi)持(chi)Schema動態調整或無需定(ding)義的(de)支(zhi)(zhi)(zhi)持(chi)。

作者簡介陳繼宇,智慧應用(yong)部項目經理(li),大(da)(da)數據(ju)分(fen)布(bu)式中(zhong)間件(jian)開(kai)源軟(ruan)(ruan)件(jian)愛好者,2012年加入江蘇中(zhong)科(ke)惠軟(ruan)(ruan)信息(xi)技術(shu)有限公司,主要(yao)從事環保(bao)大(da)(da)數據(ju)產(chan)品(pin)設(she)計(ji)及應用(yong),通過采用(yong)大(da)(da)數據(ju)處理(li)、計(ji)算(suan)和(he)分(fen)析等(deng)技術(shu),構建智慧環保(bao)大(da)(da)數據(ju)資源中(zhong)心,以及環境監(jian)測和(he)生態環境管(guan)理(li)等(deng)數據(ju)業務場景應用(yong)。曾擔任過多個(ge)地市智慧環保(bao)大(da)(da)數據(ju)平臺項目整體設(she)計(ji)及交付(fu)。

本文首發于: