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

千億級工業大數據的最優方案!智光電氣的時序數據庫應用

智光電氣, 陳曉琪

2023-12-11 /

小T導讀:
此前,智光(guang)電(dian)氣(qi)(股票(piao)代碼:002169)子公司智光(guang)研(yan)究院(yuan)在工業項目(mu)中使用基于 Apache Hadoop 的 CDH 集群(qun)來做時(shi)序業務數(shu)(shu)據的處理,但由于數(shu)(shu)據量級太大(da),處理占用了大(da)量資源,導致集群(qun)有發生崩潰的風險。在此背景下(xia),智光(guang)研(yan)究院(yuan)選擇應用 TDengine 進行(xing)技術升級,并產出本文分享(xiang)應用經(jing)驗。

作者(zhe):陳曉琪,智(zhi)光研究院(yuan)架構(gou)師,行業內(nei)多年開發與(yu)架構(gou)經驗。

當前 TDengine 已(yi)成功(gong)應用于(yu)我司多個工(gong)業項目中,涵(han)蓋數(shu)萬臺(tai)各類工(gong)業設(she)備(bei)的(de)數(shu)據存儲與查(cha)詢。作(zuo)為數(shu)據中臺(tai),TDengine 為上層應用提(ti)供了高效(xiao)的(de)歷史(shi)數(shu)據查(cha)詢,精確到秒級(ji)和分(fen)鐘級(ji)粒(li)度(du),幫助我們大(da)幅提(ti)升了應用效(xiao)率(lv),同時(shi)減少了硬件(jian)和人(ren)力(li)資(zi)源(yuan)的(de)消耗(hao)。

選型背景

在(zai)使用(yong) TDengine 之前,我們使用(yong)的(de)(de)是基于(yu) Apache Hadoop 的(de)(de) CDH 集群(qun)。但是由(you)于(yu)時(shi)序業務數據的(de)(de)量級太大,處理(li)它們占用(yong)了太多(duo)的(de)(de)資源,這也導(dao)致集群(qun)的(de)(de)不穩定性增加,有(you)頻繁發生崩(beng)潰(kui)的(de)(de)風險。

因此,我們急需一款時序數據庫(Time Series Database,TSDB)進行技術升(sheng)級。經(jing)過(guo)充分測試(shi)后,團隊最終決定把由 HBase 處理的(de)(de)、數(shu)(shu)(shu)據(ju)量最大(da)的(de)(de)時序數(shu)(shu)(shu)據(ju)業務抽(chou)離出來(lai),引入 TDengine 來(lai)降低(di) Hadoop 集群的(de)(de)壓(ya)力,成(cheng)為獨立出來(lai)的(de)(de)數(shu)(shu)(shu)據(ju)中臺(tai)。

千億級工業大數據的最優方案!智光電氣的時序數據庫應用 - TDengine Database 時序數據庫

我們的(de)設備數據首先通過邊(bian)緣網關(guan)進行采(cai)集(ji),然后通過 MQTT 協議上報到工(gong)業互聯網平臺(tai),報上來的(de)數據經過物模型解析后發送到 Kafka 集(ji)群,再把原始數據和經過降采(cai)樣計算的(de)分鐘級數據寫入到 TDengine 集(ji)群當(dang)中,以(yi)實現高(gao)效的(de)數據存(cun)儲和查(cha)詢。

經驗分享

從一(yi)個時序數據(ju)庫的初學(xue)者(zhe)到(dao)使用(yong)者(zhe),我們最大的心得(de)就是:

數據建模可以說是最重要的一個環節,也是關乎是否能夠順利用好 TDengine 的根基。

考(kao)慮(lv)到(dao)對降(jiang)(jiang)采樣查詢的大量(liang)需(xu)求,我(wo)們(men)(men)(men)經過實際測試后發現,將這(zhe)些(xie)計(ji)算(suan)量(liang)完全交給 TDengine 來做(zuo)實時計(ji)算(suan)是不現實的。在(zai)此背景下我(wo)們(men)(men)(men)選擇在(zai)應用層先做(zuo)好一(yi)層降(jiang)(jiang)采樣計(ji)算(suan),再寫入數據(ju)庫。為此我(wo)們(men)(men)(men)將數據(ju)分為了原(yuan)始數據(ju)和分鐘級數據(ju)兩類,對應到(dao) TDengine 當中:iotdb 是原(yuan)始數據(ju),processeddb 是分鐘級庫。這(zhe)種(zhong)數據(ju)分類和存儲方式(shi)也更加符合我(wo)們(men)(men)(men)的需(xu)求。

千億級工業大數據的最優方案!智光電氣的時序數據庫應用 - TDengine Database 時序數據庫

千億級工業大數據的最優方案!智光電氣的時序數據庫應用 - TDengine Database 時序數據庫

當(dang)全量數據導入之(zhi)(zhi)后(hou)(幾千億行),我們又發(fa)現了新的(de)(de)查詢(xun)性能問題,當(dang)時還(huan)以(yi)為 TDengine 的(de)(de)性能已(yi)經(jing)封(feng)頂了。之(zhi)(zhi)后(hou)在 TDengine 官方(fang)團隊的(de)(de)協(xie)助定(ding)位下才找到核心問題——分鐘(zhong)級(ji)庫與原始數據的(de)(de)寫入頻率差異過大,不能公用一套參(can)數配置(zhi)。

為了解決這一問(wen)題,后(hou)面官方根據我們(men)(men)實(shi)際的業(ye)務(wu)場(chang)景,分別對(dui)不(bu)同類型的數據進(jin)行建庫(ku)建表,做(zuo)了針對(dui)性的建模優化。然(ran)后(hou)我們(men)(men)又耐下心來,再(zai)次重(zhong)新(xin)導入全(quan)量數據。

千億級工業大數據的最優方案!智光電氣的時序數據庫應用 - TDengine Database 時序數據庫

千億級工業大數據的最優方案!智光電氣的時序數據庫應用 - TDengine Database 時序數據庫

改造效果

經過官方協助優(you)化后,數據(ju)塊變(bian)得更加緊密,壓縮率和查(cha)詢寫入性能均得到了大幅提升。

最終的成果如下:

寫入存儲方面(mian),同(tong)樣是(shi)列式存儲,以半年的數據(ju)作(zuo)為比(bi)較(jiao),三副(fu)(fu)本的 HBase 的總數據(ju)量占(zhan)(zhan)用(yong)是(shi) 10TB,TDengine 三副(fu)(fu)本的磁盤占(zhan)(zhan)用(yong)只(zhi)有 2TB,存儲成本僅為 HBase 的 20 %。(由于和(he)其(qi)他應用(yong)共用(yong),內存、CPU 方面(mian)不(bu)好(hao)估算,但成本均大幅降低)

在查詢上(shang),我們的(de)(de)(de)(de)業務主要就是針對 rundata_t1m(分鐘級(ji)數據)、rundata(原始數據)這(zhe)兩張千億級(ji)別的(de)(de)(de)(de)大(da)(da)型超(chao)級(ji)表的(de)(de)(de)(de)篩選、過濾、降采樣。應用的(de)(de)(de)(de)查詢性(xing)能和 SQL 篩選的(de)(de)(de)(de)時(shi)間(jian)范圍相關較(jiao)大(da)(da),整(zheng)體(ti)上(shang)的(de)(de)(de)(de)耗時(shi)大(da)(da)概在毫秒(miao)級(ji)至 2 秒(miao)內。

具體展示如下:

  • 分鐘級數據的 5 分鐘級數據查詢(取 5 分鐘內最后的值)
select tbname, _wend - 1 as ts, LAST(val) AS val from rundata_t1m where tbname in ('b5Sk4IV6ld6-LErYYdQ1-ProcUsedPercent') and ts >= 1698768000000 and ts <= 1701100799000 partition by tbname interval(5m, 1a);
千億級工業大數據的最優方案!智光電氣的時序數據庫應用 - TDengine Database 時序數據庫

  • 分鐘級數據的 15 分鐘級數據查詢(取 15 分鐘內最后的值)
select tbname, _wend - 1 as ts, LAST(val) AS val from rundata_t1m where tbname in ('b5Sk4IV6ld6-LErYYdQ1-ProcUsedPercent') and ts >= xxx and ts <= xxx partition by tbname interval(15m, 1a);
千億級工業大數據的最優方案!智光電氣的時序數據庫應用 - TDengine Database 時序數據庫

  • 原始數據的秒級數據查詢
select tbname, _wend - 1 as ts, LAST(val) AS val from rundata where tbname in ('b5Sk4IV6ld6-LErYYdQ1-ProcUsedPercent') and ts >= xxx and ts <= xxx partition by tbname interval(1s, 1a);
千億級工業大數據的最優方案!智光電氣的時序數據庫應用 - TDengine Database 時序數據庫

寫在最后

TDengine 作為一(yi)款出色的(de)(de)國產(chan)時序(xu)數(shu)據(ju)庫(ku),在實際應用中真正地為我(wo)們(men)提(ti)供(gong)了巨大幫助。因此,我(wo)們(men)決(jue)定(ding)整理成文,希望能夠吸引更多的(de)(de)企業和開發(fa)者加入我(wo)們(men)的(de)(de)行列,共同探索 TDengine 的(de)(de)優勢和潛力。讓(rang)我(wo)們(men)一(yi)起共同推動(dong)國產(chan)數(shu)據(ju)庫(ku)技術的(de)(de)發(fa)展!

企業簡介:

智光(guang)研究院(廣州)有限公司【智光(guang)電氣(股票代碼:002169)下屬子公司】,是(shi)一家在能(neng)(neng)源動力技術(shu)領(ling)域(yu)具有深厚(hou)行(xing)業背景(jing)和創新(xin)(xin)研發(fa)能(neng)(neng)力的(de)應用(yong)(yong)技術(shu)研究機構(gou)。憑借豐富(fu)的(de)行(xing)業背景(jing)和創新(xin)(xin)研發(fa)能(neng)(neng)力,智光(guang)研究院在綜(zong)合(he)(he)能(neng)(neng)源工業互聯網(wang)(wang)平臺應用(yong)(yong)、大型(xing)工業設備狀(zhuang)態監測(ce)和智能(neng)(neng)運維管理、能(neng)(neng)源系(xi)統數字化(hua)管理和能(neng)(neng)量優化(hua)、新(xin)(xin)能(neng)(neng)源、儲能(neng)(neng)、電動化(hua)等方面(mian)取(qu)得了多(duo)項成(cheng)果。目前(qian)已(yi)成(cheng)功投入使(shi)用(yong)(yong)綜(zong)合(he)(he)能(neng)(neng)源服務工業互聯網(wang)(wang)平臺和多(duo)個垂直(zhi)領(ling)域(yu)應用(yong)(yong)系(xi)統。