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

石油石化行業用時序數據庫 TDengine 重構數據體系

勝軟科技, 王強、孫東超

2025-04-16 / ,

小T導讀:勝(sheng)軟科(ke)技在(zai)石油石化行業(ye)中選擇使用(yong) TDengine 處(chu)理(li)時序數(shu)(shu)據(ju),不僅(jin)顯著降低了運維數(shu)(shu)據(ju)庫(ku)的(de)(de)(de)(de)成(cheng)本(ben),也(ye)大幅減少了存儲空間的(de)(de)(de)(de)占用(yong),實(shi)(shi)現了從原有的(de)(de)(de)(de) 40 多(duo)套 Oracle 數(shu)(shu)據(ju)庫(ku)向僅(jin) 9 套 TDengine 集群的(de)(de)(de)(de)精簡替換。在(zai)遷移(yi)過程(cheng)中,原有表結構幾乎無需調(diao)整即可平滑(hua)移(yi)植至 TDengine。早在(zai) TDengine 2.x 版本(ben)階段,勝(sheng)軟科(ke)技便(bian)已開始部(bu)署使用(yong),并在(zai) TDengine 3.0 發布后完成(cheng)升級,受益于 3.x 版本(ben)在(zai)功(gong)能(neng)和性能(neng)方面的(de)(de)(de)(de)諸多(duo)優化,尤其是(shi)數(shu)(shu)據(ju)訂閱、企業(ye)版工具 taosX 等新(xin)功(gong)能(neng),為實(shi)(shi)際應用(yong)帶來了顯著便(bian)利。本(ben)文(wen)將分享(xiang)其在(zai)遷移(yi)與(yu)落地過程(cheng)中的(de)(de)(de)(de)實(shi)(shi)踐經驗(yan)。

背景概述

石(shi)油石(shi)化(hua)行業(ye)(ye)的時序(xu)數(shu)據廣泛應用(yong)于能源生產、運輸、加(jia)工和(he)(he)(he)銷售等環節(jie),大(da)量(liang)(liang)設(she)備、傳感器和(he)(he)(he)監控系統持續生成時時序(xu)數(shu)據,用(yong)于支撐生產監控、調度優(you)化(hua)和(he)(he)(he)故障(zhang)預警。早年時序(xu)數(shu)據庫尚不(bu)成熟,我們曾(ceng)采用(yong) Oracle 存儲某大(da)型(xing)油田的時序(xu)數(shu)據,但隨(sui)著業(ye)(ye)務(wu)數(shu)據量(liang)(liang)快速增(zeng)長,各油田系統在數(shu)據處理和(he)(he)(he)查詢性能上逐(zhu)漸暴露(lu)出瓶頸。

沒有萬能的數據庫,只有合適的數據庫

Oracle 作為傳統關(guan)系型數(shu)據庫(ku)(ku)的(de)(de)佼佼者,其穩定性和性能毋庸置疑。但(dan)用于存儲海量時(shi)序數(shu)據并(bing)不合(he)適,效率(lv)低、成本高的(de)(de)問題日益突(tu)出。要從根本上解決(jue)瓶頸(jing),唯(wei)一的(de)(de)辦法(fa)就是替換 Oracle。近(jin)年來,時(shi)序數(shu)據庫(ku)(ku)快速發展,引起了我們的(de)(de)關(guan)注(zhu),針(zhen)對時(shi)序數(shu)據的(de)(de)特(te)性,選(xuan)用專業(ye)的(de)(de)時(shi)序數(shu)據庫(ku)(ku)已成為必然選(xuan)擇。

石油石化行業用時序數據庫 TDengine 重構數據體系 - TDengine Database 時序數據庫

降低管理維護成本,簡化運維

隨著業務(wu)(wu)系統不(bu)斷擴展(zhan),Oracle 數(shu)(shu)據庫數(shu)(shu)量(liang)已增長至數(shu)(shu)十套,管理和維護成本居高(gao)(gao)不(bu)下,存儲成本也(ye)持續攀升。而時(shi)序數(shu)(shu)據庫在處理海(hai)量(liang)時(shi)序數(shu)(shu)據方面(mian)具(ju)備天然優勢,超高(gao)(gao)壓縮比大幅降低(di)了存儲開銷。其(qi)分布式架構(gou)不(bu)僅支持靈活(huo)擴展(zhan)計算資源(yuan)以應對新增業務(wu)(wu),還(huan)可便(bian)捷擴容(rong)節點存儲空間,滿足持續增長的數(shu)(shu)據需求。

軟件國產化趨勢下的重新選擇

在(zai)石(shi)油石(shi)化行業,推進數據(ju)庫軟件國產化替代(dai)已(yi)成為信息化建設的重要(yao)趨勢(shi),旨(zhi)在(zai)提升數據(ju)安全性、減少對國外廠商的依賴,并響應國家信創政策的要(yao)求。同時,數據(ju)庫選型還需綜合(he)考慮其社區活躍度(du)、發展前景(jing),以及替換 Oracle 所需的改造成本等關鍵因素(su)。

選型過程中,我們發(fa)現 TDengine 正是國產時序數據庫中的重要一員:

  • 將核心代碼進行完全開源
  • 支持集群、多副本等重要功能,集群環境下有更高的高可用性
  • TDengine 也已經支持眾多的國產操作系統、CPU 平臺
  • “一個設備一張表”與“超級表”的概念,設計了創新的存儲引擎,讓數據的寫入、查詢和存儲效率都得到極大的提升,與我們當前業務匹配度很高
  • 社區活躍度高,版本發布時間相對穩定,新功能在不斷豐富
  • 支持 SQL 語法,應用代碼改動量小

經過前期充分的測試與驗證,我們最終決定選用時序數據庫 TDengine 來(lai)存儲時(shi)序數據。

Oracle 切換至 TDengine

在我(wo)(wo)們(men)的(de)(de)實時(shi)數據(ju)業務中(zhong),涉及實時(shi)類(lei)的(de)(de)設(she)備(bei)(bei)和井等超過(guo) 70 種類(lei)型(xing)。過(guo)去在 Oracle 中(zhong),每類(lei)設(she)備(bei)(bei)對應(ying)一張大表(biao),所有同類(lei)設(she)備(bei)(bei)的(de)(de)數據(ju)集中(zhong)存儲,字(zi)段類(lei)型(xing)多(duo)為(wei) NUMBER、DATE、VARCHAR2 等。遷移至 TDengine 后,我(wo)(wo)們(men)將字(zi)段類(lei)型(xing)調整(zheng)為(wei) TIMESTAMP、INT、DOUBLE、FLOAT、VARCHAR、NCHAR,并為(wei)每類(lei)設(she)備(bei)(bei)建立一個超級(ji)表(biao)。

TDengine 要(yao)求超(chao)級(ji)表必須(xu)設(she)(she)置(zhi) tag 列(lie),我們(men)(men)將設(she)(she)備(bei)編碼作為(wei)首個(ge) tag,用于標識每個(ge)具體設(she)(she)備(bei)或井。每個(ge)超(chao)級(ji)表下可創建多個(ge)子表,結構與超(chao)級(ji)表一(yi)致。這種設(she)(she)計方式與我們(men)(men)的業(ye)務場景高度契合(he),在后(hou)續的數據寫入和(he)查詢性能上也帶來(lai)了顯著提升。

總體來看,從 Oracle 切換到 TDengine 比較順利。

石油石化行業用時序數據庫 TDengine 重構數據體系 - TDengine Database 時序數據庫

石油石化行業用時序數據庫 TDengine 重構數據體系 - TDengine Database 時序數據庫

TDengine 大版本升級

早在(zai) 2022 年(nian),我(wo)們(men)(men)就(jiu)開始使用(yong) TDengine 2.4 和(he) 2.6 企業(ye)版。2023 年(nian),在(zai)濤思數據企業(ye)版團(tuan)隊的(de)支持下,我(wo)們(men)(men)順利完成(cheng)(cheng)了(le)(le)向 3.0 的(de)升級。由于 2.x 無(wu)法直接本(ben)地升級至 3.x,我(wo)們(men)(men)采用(yong)搭建(jian)臨時集群的(de)方式,制定了(le)(le)完整的(de)升級與歷史數據遷移(yi)方案,有效規避(bi)了(le)(le)業(ye)務中斷風(feng)險。升級過(guo)程(cheng)中,借助 taosX 工具,我(wo)們(men)(men)在(zai)不影(ying)響系統運行的(de)前提下完成(cheng)(cheng)了(le)(le)歷史數據遷移(yi)。以某單(dan)位為例,單(dan)副本(ben) 6T 數據在(zai)一(yi)周內全部遷移(yi)完成(cheng)(cheng),最終(zhong)成(cheng)(cheng)功切換至 3.0 版本(ben)。

TDengine 3.0 在(zai)使用方式上與 2.x 保持(chi)高度(du)一致,寫入、查(cha)詢等(deng)核心(xin)功能無需大幅改動,僅需將 taos-jdbcdriver 升級至對應版本即可。

我們選擇升級的(de)另一個重要(yao)原(yuan)因,是 3.0 提供了(le)更強大、靈活的(de)數(shu)據訂閱能力。相比 2.x 中相對(dui)簡單的(de)訂閱功(gong)能,3.0 支持按 SELECT、超級表、數(shu)據庫等多(duo)級別進行訂閱,既可(ke)將實時數(shu)據分發至其(qi)他系統,也(ye)能高效實現集群間數(shu)據同(tong)步,顯著提升了(le)業務集成與擴(kuo)展能力。

落地效果

TDengine 上線后,系統運行始終(zhong)保持(chi)(chi)穩定,在性能、存(cun)儲效率和運維管(guan)理等方面都取得(de)了(le)顯著成效。在使(shi)用與集成過程中,濤思數據的(de)售后團(tuan)隊通過多種溝(gou)通渠道及時響應,持(chi)(chi)續提供專業(ye)支(zhi)持(chi)(chi),為項目的(de)順利推進提供了(le)有力保障。

石油石化行業用時序數據庫 TDengine 重構數據體系 - TDengine Database 時序數據庫

性能提升

應(ying)用(yong) TDengine 后寫入、查詢方(fang)面(mian)都有很大提升,以下是早期的部分模(mo)擬(ni)測試(shi)場(chang)景:

石油石化行業用時序數據庫 TDengine 重構數據體系 - TDengine Database 時序數據庫

業務應用查詢實(shi)時數據展示:

石油石化行業用時序數據庫 TDengine 重構數據體系 - TDengine Database 時序數據庫

壓縮比高,存儲、運維成本降低

TDengine 具備出色的壓(ya)縮(suo)能力,我們(men)原先幾張(zhang)大(da)表在遷(qian)移(yi)后(hou),存(cun)儲空(kong)間大(da)幅減少,壓(ya)縮(suo)率(lv)(見下圖中的 Compression_Ratio)已降至個位數。

過去使用 40 多套(tao) Oracle 數據庫,如今各單位僅(jin)需(xu)部署 1 套(tao) TDengine 集群即可滿(man)足業務(wu)需(xu)求(qiu),顯(xian)著降低了運維成本(ben)。TDengine 支持多級存儲,有效提升寫入性能(neng);我們(men)目前采用 0 級掛載多個目錄的方式,也提升了 I/O 吞吐能(neng)力。后續無(wu)論(lun)是為單臺服務(wu)器(qi)擴容磁(ci)盤,還是增加節(jie)點(dian)擴展(zhan)集群,操作都(dou)相對便捷。

石油石化行業用時序數據庫 TDengine 重構數據體系 - TDengine Database 時序數據庫

石油石化行業用時序數據庫 TDengine 重構數據體系 - TDengine Database 時序數據庫

石油石化行業用時序數據庫 TDengine 重構數據體系 - TDengine Database 時序數據庫

數據訂閱的使用

TDengine 提(ti)供了類似(si)消(xiao)息隊列(lie)的數據(ju)訂閱與消(xiao)費接口(kou),用戶可在系統中定(ding)義 topic,與 Kafka 的使用方式相似(si)。在許(xu)多場景下,借助 TDengine 構(gou)建(jian)時序大數據(ju)平臺,我(wo)們無需(xu)再額外集成(cheng)消(xiao)息隊列(lie)產(chan)品,極大簡(jian)化了系統架構(gou),也降低(di)了運(yun)維成(cheng)本。

在數據質量(liang)監(jian)測應用(yong)中,我們利用(yong) TDengine 的(de)訂(ding)閱(yue)功能判斷(duan)數據點的(de)上報值是否(fou)處(chu)于合(he)理范圍(wei),實現了實時的(de)數據校驗(yan)與(yu)告警。

石油石化行業用時序數據庫 TDengine 重構數據體系 - TDengine Database 時序數據庫

我(wo)們(men)不(bu)僅(jin)在業務系統中使用了數(shu)據訂(ding)(ding)閱功(gong)能(neng),在多個集(ji)群(qun)之間(jian)進(jin)行(xing)實(shi)時(shi)數(shu)據同步時(shi),也同樣(yang)依賴這一機制(zhi)。通過 taosX 提供的 TMQ 數(shu)據訂(ding)(ding)閱接(jie)口方(fang)式,我(wo)們(men)實(shi)現了將數(shu)據實(shi)時(shi)同步至(zhi)另一套集(ji)群(qun),實(shi)現讀(du)寫(xie)分(fen)離,進(jin)一步提升了生產環境的穩定(ding)性(xing)。

此外(wai),數(shu)據訂閱還有一(yi)(yi)個重要用途(tu):輔(fu)助(zhu)校驗數(shu)據寫(xie)(xie)入的(de)準(zhun)確(que)性。通過訂閱可以(yi)發現是否存在重復或亂序(xu)數(shu)據。由(you)于 TDengine 默認以(yi)第一(yi)(yi)列為主鍵,同一(yi)(yi)子表中相(xiang)同時間的(de)數(shu)據僅保留一(yi)(yi)條,后寫(xie)(xie)入的(de)數(shu)據會覆蓋先前的(de)。借助(zhu)這(zhe)一(yi)(yi)機(ji)制,我(wo)們排查(cha)并解決了(le)數(shu)據重復與亂序(xu)寫(xie)(xie)入的(de)問題,優化調整后,系(xi)統(tong)在讀寫(xie)(xie)性能與存儲效率方(fang)面(mian)都實現了(le)進一(yi)(yi)步(bu)提升。

使用 TDengine 的心得

時序數(shu)據庫(ku)(ku)與關系(xi)型數(shu)據庫(ku)(ku)在數(shu)據存儲量上存在顯著差異,通常(chang)前者需(xu)要處理更大(da)規模的(de)(de)數(shu)據。在查詢時,需(xu)特別(bie)注意 SQL 的(de)(de)編寫方式(shi),重(zhong)點聚焦時間范圍(wei)內的(de)(de)數(shu)據,而(er)非全表掃描,以避免不必要的(de)(de)資(zi)源消耗。

建議如下:

  1. 查詢超級表時,務必添加第一列的時間戳范圍過濾,精準限定查詢時間段;
  2. 優先使用 tag 列進行過濾,而非普通列,可顯著提升查詢效率;
  3. 充分利用數據庫的緩存機制,數據可直接從內存中獲取,查詢速度更快,比如獲取每個設備的最新一條記錄等場景。

結語

石油石化是勝軟科(ke)技重點服務(wu)的行業之(zhi)一,而(er)濤思數據(ju)(ju)也在(zai)該領域積(ji)累了豐富的實踐經驗(yan)。未(wei)來,我們將繼續與(yu)濤思數據(ju)(ju)深入合作,持(chi)續探索更(geng)多業務(wu)場景的應用可能(neng),充分發揮時序(xu)數據(ju)(ju)庫在(zai)大(da)規模時序(xu)數據(ju)(ju)管理(li)方面(mian)的優勢,并(bing)進一步推動(dong)與(yu)其他系(xi)統組件的集成,共(gong)同打(da)造更(geng)高效、智(zhi)能(neng)的數據(ju)(ju)平臺。

關于勝軟科技

山(shan)東(dong)勝(sheng)軟科(ke)技(ji)(ji)股份有(you)限公(gong)司(si)成(cheng)立于 2002 年,是國家(jia)(jia)高新(xin)技(ji)(ji)術(shu)企(qi)業,新(xin)三板掛牌(pai)企(qi)業,依托(tuo)國家(jia)(jia)級雙(shuang)跨工業互聯網平臺“勝(sheng)軟云帆”構建一體化軟件(jian)生(sheng)產生(sheng)態體系(xi),打造以業務、技(ji)(ji)術(shu)為雙(shuang)擎(qing)的核(he)心驅動力。面向智(zhi)慧(hui)能(neng)源、智(zhi)慧(hui)城市(shi)、智(zhi)能(neng)制造三航(hang)道,提供戰略規劃、方案設計(ji)、軟件(jian)開發(fa)實施、系(xi)統(tong)集成(cheng)運維服務,目前已發(fa)展(zhan)成(cheng)為國內油氣領域規模(mo)最大的民營(ying)軟件(jian)服務商。采用北京+東(dong)營(ying)“雙(shuang)總(zong)部”運營(ying)模(mo)式,設有(you)濟南(nan)研發(fa)中(zhong)心,在北京、成(cheng)都、鄭州、烏魯木齊(qi)、青島設有(you)分(fen)公(gong)司(si),此外(wai)(wai)擁有(you) 9 家(jia)(jia)子公(gong)司(si),1 家(jia)(jia)海(hai)外(wai)(wai)公(gong)司(si),客戶遍(bian)布全(quan)國 24 個省市(shi)自治區和(he)海(hai)外(wai)(wai) 8 個國家(jia)(jia)與地區。