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

助力數(shù)字孿生,TDengine 在叁零肆零仿真平臺(tái)中的實(shí)踐

叁零肆零 黃培健,陳馳

2021-11-12 / ,

作者:黃培健,陳馳|叁零肆零科技有限公司

小 T 導(dǎo)讀:上海叁零肆零科技有限公司致力于能源(氣和熱)的數(shù)字化轉(zhuǎn)型,以現(xiàn)階段壓力和流量監(jiān)測(cè)物聯(lián)為切入,結(jié)合企業(yè)已有的信息化數(shù)據(jù),利用物聯(lián)技術(shù)解決能源企業(yè)的安全運(yùn)行痛點(diǎn),助力其提升智慧運(yùn)營(yíng)效率。

依托數(shù)字孿生和人工智能算法模型,我們構(gòu)建了實(shí)時(shí)反映管網(wǎng)實(shí)際運(yùn)營(yíng)工況的瞬態(tài)的仿真平臺(tái)。該平臺(tái)致力于為能源企業(yè)提供包括客戶認(rèn)知、需求負(fù)荷分析、管網(wǎng)狀態(tài)監(jiān)控和優(yōu)化、多工況計(jì)算、氣(熱)源匹配、通路尋優(yōu)等一系列數(shù)據(jù)服務(wù)。下圖為平臺(tái)實(shí)際運(yùn)作場(chǎng)景畫(huà)面。

TDengine Database

在此項(xiàng)目中,構(gòu)建數(shù)字孿生的主要數(shù)據(jù)來(lái)源于以下兩個(gè)地方:

  1. 物聯(lián)數(shù)據(jù):物聯(lián)設(shè)備每 5 分鐘上報(bào)一次物聯(lián)數(shù)據(jù);
  2. 仿真數(shù)據(jù):依托于大量物聯(lián)設(shè)備的接入,將工況數(shù)據(jù)進(jìn)行實(shí)時(shí)對(duì)齊上傳做仿真求解以此得到仿真數(shù)據(jù)。

在項(xiàng)目即將投入研發(fā)測(cè)試之際,我們卻發(fā)現(xiàn)了一些會(huì)影響到項(xiàng)目正常運(yùn)作的問(wèn)題——兩種數(shù)據(jù)類型都非常龐大,此前常用的數(shù)據(jù)庫(kù)難以支撐如此龐大數(shù)據(jù)量的存儲(chǔ)查詢等操作。帶著這個(gè)問(wèn)題,我們將目光轉(zhuǎn)移到當(dāng)前市面上的數(shù)據(jù)庫(kù)產(chǎn)品上,試圖從中篩選到最適合本項(xiàng)目的數(shù)據(jù)庫(kù)。

波折重重的數(shù)據(jù)庫(kù)選型

從項(xiàng)目涉及到的數(shù)據(jù)類型來(lái)看,物聯(lián)數(shù)據(jù)具有典型的時(shí)序數(shù)據(jù)特點(diǎn),量大但不會(huì)變化,仿真數(shù)據(jù)的計(jì)算結(jié)果量同樣很大。這兩類數(shù)據(jù)都需要快速的存儲(chǔ)、實(shí)時(shí)的查詢響應(yīng),但相比于存儲(chǔ)來(lái)講,查詢并不會(huì)過(guò)于復(fù)雜。

基于以上背景需求,我們開(kāi)始進(jìn)行數(shù)據(jù)庫(kù)產(chǎn)品選型。

首先嘗試使用的是非關(guān)系數(shù)據(jù)庫(kù) MongoDB,在通用數(shù)據(jù)庫(kù)中 MongoDB 已經(jīng)是佼佼者了,但是查詢和存儲(chǔ)效率仍然都沒(méi)有達(dá)到我們的預(yù)期。在思考過(guò)后,我們從數(shù)據(jù)類型出發(fā)縮小數(shù)據(jù)庫(kù)選型范圍,最終決定從時(shí)序數(shù)據(jù)庫(kù)(Time-Series Database)中進(jìn)行選擇。

我們率先將目光鎖定在當(dāng)前市面比較流行的時(shí)序數(shù)據(jù)庫(kù) InfluxDB 上,一套測(cè)試下來(lái)發(fā)現(xiàn),盡管業(yè)務(wù)需求將將能夠滿足,但 InfluxDB 的運(yùn)維成本太高,而且其集群版并未開(kāi)源,使用成本不低,因此 InfluxDB 也排除在我們的選型范圍之外。

一次偶然的機(jī)會(huì),我們了解到了時(shí)序數(shù)據(jù)庫(kù) TDengine,發(fā)現(xiàn)這一款數(shù)據(jù)庫(kù)性能勝于 InfluxDB 的同時(shí),甚至把集群也做了開(kāi)源,方便進(jìn)行水平擴(kuò)展,且在成本管控上也達(dá)到了最優(yōu)的狀態(tài),輕量化、類 SQL 的結(jié)構(gòu)設(shè)定大幅降低運(yùn)維和學(xué)習(xí)成本。在眾多優(yōu)點(diǎn)的推動(dòng)下,我們便嘗試將 TDengine Database投入測(cè)試使用。

非常高興的是,期間我們?cè)?TDengine 的官方社群中獲得了及時(shí)專業(yè)的技術(shù)支持,最終順利地把開(kāi)源版 TDengine 應(yīng)用到了項(xiàng)目開(kāi)發(fā)中。而 TDengine 也沒(méi)有讓我們失望,成功上線后其在運(yùn)行上十分高效穩(wěn)定。

具體場(chǎng)景與配置

目前我們選用的 TDengine 版本是 2.2.0.1,單機(jī)版暫時(shí)毫無(wú)壓力,但出于業(yè)務(wù)擴(kuò)展的需求,同時(shí)也在籌備單機(jī)橫向拓展為集群的工作。

在實(shí)際操作中,當(dāng)前服務(wù)器配置是“24G 內(nèi)存 + 12 核 3.60GHzCPU +機(jī)械硬盤”。如下圖所示,庫(kù)中共有子表 20000+,超級(jí)表 6 張,其中常用的有 4 張表。數(shù)據(jù)保留日期為 10 年,數(shù)據(jù)周增幅大概為 1000 余萬(wàn)行。

TDengine Database
TDengine Database

根據(jù)濤思數(shù)據(jù)提供的資料,我們通過(guò)合理的配置參數(shù)讓數(shù)據(jù)庫(kù)的 Vnode 數(shù)量恰好等于計(jì)算機(jī)的 CPU 核數(shù),從而可以充分利用計(jì)算機(jī)性能,順利完成環(huán)境搭建。

TDengine Database

千萬(wàn)級(jí)別數(shù)據(jù)量的查詢效果

超級(jí)表 computing_result 保存了所有仿真計(jì)算的結(jié)果,單表總計(jì) 21 列,單行長(zhǎng)度 1.8k,當(dāng)前數(shù)據(jù)量為千萬(wàn)級(jí)別,是我們的主要查詢對(duì)象——

TDengine Database
TDengine Database

針對(duì)以上的查詢數(shù)據(jù),具體的查詢效果如下:

1. 查詢某些設(shè)備的所有仿真計(jì)算結(jié)果為 0.09 秒,代碼示例如下:

select * from slsl_digital_twin.computing_result r where r.batch_no in ( 'c080018_20211029080000' ) and r.device_id in ( '347444', '73593', '18146', '235652', '350382' );
TDengine Database

2. 查詢某些設(shè)備在一定時(shí)間范圍內(nèi)的,最新的壓力數(shù)據(jù)耗時(shí) 7.8 毫秒。

TDengine Database

3.根據(jù)區(qū)域 id 分組,查詢?cè)搮^(qū)域下不同設(shè)備的最新數(shù)據(jù),耗時(shí) 9 毫秒(由于 2.1 版本增加了嵌套查詢功能,我們得以更好地實(shí)現(xiàn)相對(duì)復(fù)雜的邏輯去得到查詢結(jié)果)。代碼示例如下:

select sum(pressure) as pressure, sum(flow) as flow, sum(temperature) as temperature,last(on_off) as onOff,gis_id from (select last(pressure) as pressure, last(flow) as flow, last(temperature) as temperature,last(on_off) as on_off  from slsl_digital_twin.enn_iot where in_out_flag = 'OUT' and gis_id in( '347444', '73593', '18146', '235652', '350382') group by device_id,gis_id ) group by gis_id;
TDengine Database

值得一提的是,在實(shí)現(xiàn)高效的存儲(chǔ)查詢性能下,TDengine 占用的存儲(chǔ)空間不足 500MB。但事實(shí)上,僅僅 computing_result 單張超級(jí)表的實(shí)際數(shù)據(jù)量理論上就應(yīng)為(8*2+(40+125+31+225)*4+8*11+2+4*2+10)字節(jié)*12409408 行數(shù),即 21GB 左右,更不用提把靜態(tài)數(shù)據(jù)抽取出來(lái)做成內(nèi)存里的標(biāo)簽大幅度減少了原數(shù)據(jù)量。

但由于 nchar 類數(shù)據(jù)中有部分 null 值,在本文中我們無(wú)法精準(zhǔn)計(jì)算壓縮率。即便如此,TDengine 的表現(xiàn)也已經(jīng)令我們足夠驚艷了。

TDengine Database

寫(xiě)在最后

未來(lái),隨著我們接入更多城市的管網(wǎng)仿真、爆炸輻射、泄漏預(yù)警等計(jì)算模型,產(chǎn)生的數(shù)據(jù)量將會(huì)達(dá)到 10 億+,子表數(shù)量也會(huì)達(dá)到數(shù)千萬(wàn)級(jí)。TDengine 即將上線的 3.0 版本可以輕松支持億級(jí)別的表數(shù)量,這一點(diǎn)讓我們更加期待未來(lái)和 TDengine 的深度合作,同時(shí)也對(duì) TDengine 抱以更大的信心。在合作的過(guò)程中,我們也會(huì)繼續(xù)探索如何將 TDengine 應(yīng)用于更多的業(yè)務(wù)場(chǎng)景,以更好地滿足我們的各類仿真計(jì)算環(huán)節(jié)的業(yè)務(wù)需求。

關(guān)于作者

黃培健,叁零肆零架構(gòu)師。目前負(fù)責(zé)公司數(shù)字孿生項(xiàng)目和公司整體技術(shù)架構(gòu)。

陳馳,叁零肆零高級(jí)工程師。目前負(fù)責(zé)公司數(shù)字孿生項(xiàng)目整體開(kāi)發(fā)。