小T導讀:江蘇金恒信息科技股份有限公司(以下簡稱“金恒科技”)專注于為工業企業提供工業軟件及智能化整體解決方案,服務領域涵蓋鋼鐵、有色金屬、石化、電子制造等多個行業。早在 2021 年,金恒科技便在多個業務系統中部署了 TDengine TSDB 2.x 版(ban)本。隨著 TDengine TSDB 3.x 的發布(bu),金恒科技陸續完(wan)成(cheng)了系(xi)統升(sheng)級至 3.0 版(ban)本,在性(xing)能、功(gong)能和穩定性(xing)方面均得(de)到進一(yi)步提升(sheng)。升(sheng)級后(hou)系(xi)統整體(ti)性(xing)能提升(sheng)約 3 倍(bei),存儲成(cheng)本降低約 80%。本文將重點介紹 TDengine TSDB 在鋼鐵(tie)行業(ye)智能制造項目中(zhong)的具體(ti)應(ying)用(yong)實踐。
背景和痛點
金恒(heng)科技的(de)智能制造項目覆(fu)蓋(gai)鋼鐵生產的(de)全(quan)流程(cheng)數(shu)據采集與分析,包括高爐、軋機及各類傳感器的(de)實時監測,監控(kong)指(zhi)標涵蓋(gai)溫(wen)度(du)、壓(ya)力、振(zhen)動等關(guan)鍵參數(shu)。系(xi)統每日處理約 350 億條數(shu)據點,需(xu)同時支持實時查(cha)詢、歷(li)史分析與異常告警。
項目面臨的核心挑戰包括:
- 數據量激增:傳統數據庫在處理億級時序數據時,查詢延遲顯著、存儲成本高昂;
- 復雜查詢需求:需支持多維度聚合查詢和跨表關聯,傳統數據庫性能瓶頸明顯;
- 運維復雜性高:原有系統需大量服務器資源,運維成本高,擴展性差。
為應對上述挑戰,我們決定引入高性能時序數據庫。TDengine TSDB 以其高壓縮比(bi)、原生 SQL 支持和集群部(bu)署能(neng)力,成為首選解決方案(an)。
選擇 TDengine TSDB 的原因
在選型過程中,我們的目標非常明確:一是追求高性能,要能支撐億級數據點的高速寫入與查詢;二是實現低成本,在保證性能的同時顯著降低存儲和服務器資源消耗;三是強調易用性,要求系統支持標準 SQL,從而降低開發與運維的復雜度;最后是確保高可用性,能夠通過集(ji)群部署保障系統在長周(zhou)期運行中的穩定與(yu)可靠。
在正式引入前,我(wo)們對業(ye)界主流(liu)的三(san)款時序(xu)數據(ju)庫——InfluxDB、TimescaleDB 和 TDengine TSDB 進行了相關調研。結果(guo)如下:
- InfluxDB:查詢性能尚可,但存儲壓縮比低,成本較高;不支持標準 SQL,開發復雜。
- TimescaleDB:基于 PostgreSQL,SQL 支持較好,但高并發寫入性能不足,集群部署復雜。
- TDengine TSDB:高壓縮比(10:1),支持標準 SQL,內置緩存和多級存儲,集群部署簡單,運維成本低。
綜(zong)合對比后,我們(men)發現(xian) TDengine TSDB 在性(xing)能與可維護性(xing)之間實現(xian)了最佳(jia)平(ping)衡,顯然是我們(men)的(de)最優選擇(ze)。
TDengine TSDB 應用經驗分享
重點使用功能—多級存儲
在工業互聯網中(zhong),數(shu)據(ju)多級存(cun)儲(chu)(chu)至(zhi)關重要,因為(wei)它能(neng)夠根據(ju)數(shu)據(ju)的(de)(de)價值和(he)使用頻率,將數(shu)據(ju)有效地分配到(dao)不同的(de)(de)存(cun)儲(chu)(chu)介質上。這樣的(de)(de)策(ce)略不僅(jin)有助于應對海量數(shu)據(ju)的(de)(de)挑戰,優化存(cun)儲(chu)(chu)資源,降低成本,還能(neng)確(que)保數(shu)據(ju)的(de)(de)安全性(xing)和(he)合規性(xing),同時促進數(shu)據(ju)的(de)(de)共享和(he)流通,從而提高整個(ge)工業系(xi)統的(de)(de)效率和(he)響應速度。
在使用企業版之前,我們就已經開始使用社區版本的 TDengine TSDB 了,對其架構與特性有較深入的了解。因此在規劃集群存儲架構時,我們就決定采用 SSD + HDD 的多級存儲方案:將近期數據存放在 SSD 上,以顯著提升數據寫入與查詢性能。同時,TDengine 支持靈活的分層數據保留策略,每一層的保留時間都可動態調整——只需通過一條 ALTER 命令修改數據庫的 KEEP 參數(shu)即可即時生效,極大地方便了運維管理。
在當前架(jia)構中,我(wo)們將數據劃(hua)分(fen)為(wei)四(si)個層級(ji)進行存儲:
- 熱數據(Hot Data):存儲在 RAM(內存)中,通常指的是最近一小時內的數據。這部分數據訪問頻率高,需要快速讀寫。
- 溫數據(Warm Data):存儲在 SSD(Tier 0)上,涵蓋最近 10 天內的數據。相比熱數據,溫數據的訪問頻率較低,但仍需較快的讀取速度。
- 冷數據(Cold Data):存儲在 HDD(Tier 1)上,包括最近 6 個月的數據。這類數據訪問頻率進一步降低,可以使用成本更低的存儲介質。
- 凍結數據(Frozen Data):存儲在 S3(Tier 2)上,通常是最近 3 年的數據。這部分數據訪問頻率最低,適合長期存儲。

重點使用功能—內置函數
TDengine TSDB 內置了豐富的函數庫,我們在實際業務中也充分利用了其中的多種函數來滿足不同的場景需求。
例如,interp() 函數在我們的應用中就發揮了重要作用。它可用于在指定的時間斷面上獲取某一列的記錄值;當該時間點不存在符合條件的數據時,系統會根據 FILL 參數的設置自(zi)動進行(xing)插值,從而保證數據的連續(xu)性與完整性。
- 在 2017-07-14 18:00:00 到 2017-07-14 19:00:00 間每隔 5 秒鐘進行線性插值
SELECT INTERP(current) FROM t1 RANGE('2017-7-14 18:00:00','2017-7-14 19:00:00') EVERY(5s) FILL(LINEAR);
- 在所有時間范圍內每隔 5 秒鐘進行向后插值
SELECT INTERP(current) FROM t1 EVERY(5s) FILL(NEXT);
- 根據 2017-07-14 17:00:00 到 2017-07-14 20:00:00 間的數據進行從 2017-07-14 18:00:00 到 2017-07-14 19:00:00 間每隔 5 秒鐘進行線性插值
SELECT INTERP(current) FROM t1 where ts >= '2017-07-14 17:00:00' and ts <= '2017-07-14 20:00:00' RANGE('2017-7-14 18:00:00', '2017-7-14 19:00:00') EVERY(5s) FILL(LINEAR);
TDengine TSDB 的落地實踐
在(zai)我們的智(zhi)能制造(zao)平臺(tai)中(zhong),我們將 TDengine TSDB 作為核(he)心(xin)的時序(xu)數據(ju)存儲,與 Data Acquisition 數據(ju)采集系統(tong)、RuleEngine 規則(ze)引擎以及前(qian)端可視化(hua)系統(tong)深度集成,實(shi)現了從(cong)數據(ju)采集、存儲、分析到展示的完整閉環。
落地效果

- 寫入性能:支持 200 萬條/秒寫入,滿足實時數據采集需求。
- 查詢性能:最新數據查詢達到 10 ms 級別,支持復雜聚合查詢。
- 訂閱功能:通過 TDengine TSDB 的訂閱機制,實時推送異常數據至告警系統。
- 多級存儲:企業版支持熱/溫/冷存儲,90% 數據存儲在低成本冷存儲中,降低成本。
業務場景與收益
- 實時監控:支持 10,000 臺設備實時數據展示,響應時間 < 200ms。
- 故障預測:通過振動數據分析,故障預測準確率提升 20%。
- 能耗分析:日均能耗分析時間從 10 分鐘縮短至 2 分鐘。
- 收益:節省存儲和運維成本,系統可用性提升至 99%。
問題與優化
在(zai) 2021 年測試(shi) TDengine TSDB 2.x 版(ban)本時,我們(men)發(fa)現 TDengine TSDB 在(zai)以下(xia)幾(ji)個功能(neng)上還不支持(chi),希望 其未來能(neng)夠新增(zeng)這幾(ji)個功能(neng),經(jing)過與(yu)官方(fang)支持(chi)人員的討論,他們(men)認為這幾(ji)個需求(qiu)完全(quan)合理,TDengine 也(ye)快速進(jin)行(xing)了(le)功能(neng)開發(fa),并(bing)在(zai)新版(ban)本中進(jin)行(xing)了(le)發(fa)布。理解、聽取用(yong)戶(hu)的建(jian)議非常重(zhong)要,不僅可以完善產(chan)品(pin)的的功能(neng),也(ye)讓用(yong)戶(hu)使(shi)用(yong)更(geng)加方(fang)便,這使(shi)我們(men)更(geng)加堅定了(le)使(shi)用(yong) TDengine TSDB 的信(xin)心。這幾(ji)個功能(neng)分別是:
1. 支持動態增加 binary、nchar 數據類型的列長度
TDengine TSDB 支持 BINARY 和 NCHAR 兩種字符串類型,但在 2.0 早期版本中,超級表一旦創建后,如果某些列(包括數據列和 TAG 列)的長度設置偏小,就無法動態調整,這在使用中帶來了一定限制。TDengine 研發團隊在短時間內就完成了功能優化,實現了動態調整字符串列長度的能力。
2. 2.x 版本 SQL 增強——支持 in 語法
在早期版本中,TDengine TSDB 尚不支持 IN 語句,我們只能通過多個 OR 條件來實現過濾查詢。經過后續版本的優化,TDengine TSDB 已全面支持 普通列的 IN 查詢、TAG 列的 IN 查詢,以及 NOT IN 查詢,讓 SQL 在使用(yong)上更加便利。
3. INTERP 函數增加對 BOOL 類型的支持
INTERP 函數用于在指定時間斷面獲取指定列的記錄值,當該時間斷面沒有符合條件的行數據時,會根據 FILL 參數自(zi)動(dong)進行(xing)插值(zhi)。在 2.x 版(ban)本中(zhong),該函數尚不(bu)支持對 BOOL 類型數據的插值(zhi),而(er)在 3.0 版(ban)本中(zhong),這一限制已被(bei)優化,現可(ke)對 BOOL 類型字段執(zhi)行(xing)插值(zhi)操作:

未來展望
將 TDengine TSDB 應(ying)(ying)用于我們的(de)(de)實際業務系統后,系統的(de)(de)數據(ju)處(chu)理性能和維護效率都得到(dao)了(le)顯著提升。未來,我們將持續(xu)關注 TDengine TSDB 的(de)(de)版本(ben)更新與功能演進,深(shen)入挖掘其(qi)在更多業務場(chang)景中(zhong)的(de)(de)應(ying)(ying)用潛力,不斷優化(hua)系統架構和數據(ju)管理能力。
關于金恒科技
金恒科(ke)技(ji)秉承“數字(zi)化(hua)(hua)(hua)轉型(xing)生(sheng)態構建者”的企業愿景,融合新一代(dai)信(xin)息技(ji)術,圍(wei)繞運營智(zhi)慧化(hua)(hua)(hua)和生(sheng)產(chan)智(zhi)能化(hua)(hua)(hua)兩大業務方(fang)向,全面(mian)提(ti)供(gong)集(ji)團管控、產(chan)銷(xiao)質財一體化(hua)(hua)(hua)以及覆(fu)蓋(gai)鋼(gang)(gang)鐵全流程的數字(zi)工(gong)廠產(chan)品,同(tong)時在規劃咨(zi)詢、產(chan)線集(ji)控、智(zhi)能裝(zhuang)備方(fang)面(mian)提(ti)供(gong)企業數字(zi)化(hua)(hua)(hua)轉型(xing)整體解(jie)決方(fang)案。客戶覆(fu)蓋(gai)鋼(gang)(gang)鐵、礦山、環保(bao)、石(shi)化(hua)(hua)(hua)等行業,遍布國內(nei) 20 多個(ge)省市,擁(yong)有南(nan)京(jing)鋼(gang)(gang)鐵、中(zhong)(zhong)信(xin)特鋼(gang)(gang)、中(zhong)(zhong)國寶武(wu)、鞍(an)山鋼(gang)(gang)鐵、海南(nan)礦業、中(zhong)(zhong)荷環保(bao)、揚(yang)子(zi)石(shi)化(hua)(hua)(hua)等上百(bai)家(jia)行業重點客戶。
作者 | 金恒科技 薛燦




























