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

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用

TAOS Data

2023-08-08 /

小T導讀:為滿足地(di)震(zhen)(zhen)預警數(shu)據存(cun)儲、檢索和處理(li)的(de)建設與(yu)集成需求(qiu),以及響應國(guo)家國(guo)產(chan)軟(ruan)件自主可控的(de)號召,中(zhong)國(guo)地(di)震(zhen)(zhen)臺(tai)網中(zhong)心決定選用國(guo)產(chan)數(shu)據庫 TDengine 來存(cun)儲和處理(li)地(di)震(zhen)(zhen)波形數(shu)據。本(ben)文將針對 TDengine 3.0 在(zai)地(di)震(zhen)(zhen)領域的(de)應用展(zhan)開(kai)詳細講解。

關于企業:

中國(guo)地震臺網中心(xin)是作為中國(guo)地震局(ju)直屬的公(gong)益一類事業單(dan)位(wei),是我國(guo)防(fang)震減災工作的業務樞紐和國(guo)際交流窗口,是地震監(jian)測預(yu)報預(yu)警、應急響應和信(xin)息化(hua)工作的國(guo)家(jia)級(ji)業務中心(xin)。

項目背景

近(jin)年,隨(sui)著國(guo)家對防震減災要求不斷提高,我國(guo)先后(hou)實施(shi)了多個大型地(di)震監測工程項目。隨(sui)著地(di)震臺(tai)站(zhan)密(mi)集(ji)建設(she),臺(tai)站(zhan)儀器(qi)采集(ji)匯入中(zhong)國(guo)地(di)震臺(tai)網中(zhong)心的地(di)震波形數據也增長了一個數量級(ji)。

地震(zhen)波形數(shu)據(ju)主要是(shi)指由國(guo)家地震(zhen)臺站(zhan)、各(ge)省區域地震(zhen)臺網等地震(zhen)觀測網絡系統中(zhong)地震(zhen)計采集并傳回中(zhong)心(xin)的數(shu)據(ju),具(ju)有(you)典型的時(shi)序數(shu)據(ju)特征,是(shi)開展地震(zhen)監測預(yu)警、數(shu)據(ju)分析與挖掘、地震(zhen)異常(chang)研判等應用的基礎材(cai)料。

為了(le)滿足地震(zhen)預警數據(ju)存儲、檢索和處(chu)理的(de)建(jian)設(she)與集成(cheng)需求,以及響(xiang)應國家(jia)國產(chan)軟(ruan)件自主可控(kong)的(de)號召,該項目選用國產(chan)數據(ju)庫來存儲和處(chu)理地震(zhen)波形數據(ju)。

通過競標,最終由(you) TDengine 承擔該項目。

考(kao)慮到運維部署成本性(xing)能等等各個(ge)方面,數據庫需(xu)要做好(hao)如下(xia)方面:

  • 高效讀寫:承載每秒 500 萬數據點的海量數據實時匯入,支持即席快速查詢。
  • 高數據壓縮比:盡可能多的保存更多數據,同時減少磁盤存儲成本。
  • 時序分析:基于時間線的窗口化分析函數或工具。
  • 彈性擴展:系統能夠支持水平擴展,隨著業務規模逐年擴大,彈性擴容以支持更高的數據接入量。
  • 安全可靠:系統能夠保證多副本存儲和高可用,保證在單點故障時不影響正常使用。
  • 冷熱分離:對于新采集的數據和歷史數據有一定歸檔能力,按照數據冷熱程度分離存儲。
  • 可以對地震專業算法包集成:通過 UDF 方式,將地震專業信號處理算法集成至數據庫中。

本文將以中(zhong)國(guo)(guo)地震臺網(wang)中(zhong)心的項目作為主體展開(該項目用于全國(guo)(guo)范圍的地震數據監控(kong)分析)。

業務架構

目(mu)前,該項目(mu)上(shang)使用的是(shi) 3.0.6.0 版本的 5 節點集群,單臺服務器配(pei)置為:48CPU(s), 192GB 內(nei)存(cun) ,500GB SSD  + 1.2TB *6HDD 硬盤。

業務架構如下:

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

首(shou)先,每個地(di)震(zhen)儀一(yi)般會(hui)采集(ji)兩個水平(ping)向(xiang),一(yi)個垂直向(xiang)共三個通(tong)道(分量)的地(di)震(zhen)動數(shu)據(ju),采樣頻率(lv)一(yi)般為 100HZ(10毫秒采樣一(yi)次)。數(shu)據(ju)包中的數(shu)據(ju)通(tong)過(guo)工具解析(xi)之后會(hui)先過(guo)渡寫入 cencdb 這個 TDengine 庫當中,寫入 cencdb 的同時, TDengine 的訂閱功能會(hui)取出該數(shu)據(ju)包,并再次進(jin)行解析(xi),獲(huo)取更多層次的數(shu)據(ju)寫入 TDengine 集(ji)群當中。

站(zhan)點(dian)的(de)(de)位置由(you)其所(suo)屬臺網代(dai)碼(ma)、臺站(zhan)代(dai)碼(ma)和(he)測點(dian)位置號碼(ma)決定(ding)。地(di)震儀每天不間斷的(de)(de)持續采集(ji)地(di)震動數據,并每隔 0.5秒將(jiang)數據打成(cheng) miniSEED 數據包傳(chuan)輸,形成(cheng)數據流。基于 TDengine “一(yi)(yi)個設備采集(ji)點(dian)一(yi)(yi)張(zhang)(zhang)表(biao)(biao)”的(de)(de)建(jian)模思路,每道數據流分別對應一(yi)(yi)張(zhang)(zhang)數據表(biao)(biao)和(he)一(yi)(yi)張(zhang)(zhang)元數據表(biao)(biao)。

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

當前(qian),該(gai)集群共有約 5.9 萬(wan)張數據表(biao)(biao),代表(biao)(biao)流(liu)入庫(ku)中的 5.9 萬(wan)道地震數據流(liu)。另外(wai)還有 5.9 萬(wan)張元數據表(biao)(biao)(上圖),存儲 5.9 萬(wan)道數據流(liu)中每個數據包(bao)的描述信(xin)息。

項目運行至今,TDengine 接入的原始數據包每天約 900GB,每秒大概接入超過 5 萬個地震數據包,每天總數據量約 5000 億條。

由于(yu)原(yuan)(yuan)始數(shu)(shu)(shu)據包已使用 STEM2 算(suan)法壓(ya)縮(suo),TDengine 壓(ya)縮(suo)后的數(shu)(shu)(shu)據庫文件(jian)與原(yuan)(yuan)數(shu)(shu)(shu)據包所占磁盤空間相當。對于(yu)常規的 INT 類型(xing)(xing)數(shu)(shu)(shu)據,TDengine 壓(ya)縮(suo)比可達(da)到 5%-10% 之(zhi)間,對于(yu) VARCHAR 類型(xing)(xing)的數(shu)(shu)(shu)據,壓(ya)縮(suo)比可達(da)到 15-20%,極大(da)程度地(di)節約存儲(chu)成(cheng)本。

在集群日常負載上,單臺(tai)數據(ju)庫服(fu)務(wu)端 CPU 使(shi)用(yong)率 40%~50%,內存(cun)占用(yong) 14%~20%,運行平穩。

具體應用

在地震監測領域,以下這(zhe)些是比(bi)較常見的(de)需求:

  1. 通過使用 SQL 查詢 “XJ_BKO_00_H_H_Z”表,就可以得到該地震儀器垂直分量的振幅數據。
單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

2.對地震數(shu)(shu)據包(bao)(bao)內的數(shu)(shu)據時間(jian),與實際入庫時間(jian)做差,可以統計到(dao)數(shu)(shu)據包(bao)(bao)入庫的時延。因此,我(wo)們對元數(shu)(shu)據表(biao)執行如下(xia) SQL ,就能得(de)到(dao)超過 5 秒時延的異常數(shu)(shu)據用(yong)作(zuo)進一步分(fen)析。

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

3.在地(di)震(zhen)(zhen)數據(ju)中,地(di)震(zhen)(zhen)波(bo)傳播路徑(jing)上會出現(xian)多個(ge)不同的(de)震(zhen)(zhen)相。地(di)震(zhen)(zhen)學家可以對這(zhe)些震(zhen)(zhen)相的(de)到(dao)達時(shi)間和振(zhen)幅(fu)特(te)征,對地(di)震(zhen)(zhen)事件進行(xing)精(jing)確(que)定(ding)位(wei)、震(zhen)(zhen)源機制分(fen)析等工作。其中在地(di)震(zhen)(zhen)信(xin)號中準確(que)地(di)識(shi)別和捕捉特(te)定(ding)震(zhen)(zhen)相的(de)行(xing)為,便是震(zhen)(zhen)相拾取。

我們通過 TDengine 的(de)(de) UDF (自定義函數(shu))功能,把已經訓練(lian)好的(de)(de) GPD 模(mo)型直接(jie)同(tong) TDengine 的(de)(de)流計算(suan)/SQL 結合起來,實(shi)現了(le)震相(xiang)拾取(qu)的(de)(de)實(shi)時計算(suan)。

建流語(yu)句(ju):create stream gpd_stream trigger at_once into gpd_stream_stb as select ts, gpd(calc_ts, tbname, ‘detail’) from detail.pick partition by tbname;

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

4.同樣是通過流計(ji)算,實現了實時(shi)計(ji)算上(shang)萬個臺站的(de)每秒最(zui)大(da)峰(feng)值,對流計(ji)算生成(cheng)的(de)表進(jin)行查詢。

建流(liu)語句: create stream xxxxxxx into max_val_per_seconds_test subtable(concat(‘max_test_val_per_seconds-‘,tbname)) as select ts,max(data) as max_data from data where channel_3th=’Z’ partition by tbname interval(1s) sliding(1s);

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

可視化

在地震監控領域的(de)可視化(hua)中(zhong),最重(zhong)要的(de)就是(shi)展(zhan)示信(xin)息的(de)完整(zheng)性(xing)(xing)、實時性(xing)(xing)、可交互性(xing)(xing),靈活性(xing)(xing)。

TDengine 高效的查詢能力以及簡單易用的 SQL 語句可以很方便的完成上述工作。通過網頁展示工具調用 TDengine 的 SQL ,我們完成了展示地震事件的主看板:看板(ban)中的(de)(de)地圖可以展示(shi)臺站的(de)(de)每秒峰值記錄,點擊近期地震事件(jian)便可以進行一段時間(jian)(例如該(gai)地震發生時刻前 1min 和后(hou)2min)內的(de)(de)地震數據回放。

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

另外,由于 TDengine 可以和 Grafana 無縫對接,通過執行 SQL 即可完成數據可視化工作。該(gai)項目使用 Grafana 完成了(le)另一部分(fen)數(shu)據的(de)監控。

該場景是(shi)按臺網分組(zu),統(tong)計最近 5 分鐘內的臺站可用率。

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

該(gai)場景(jing)是(shi)通過 SQL 查詢某站(zhan)臺一段時間(jian)內的地震(zhen)波原始數(shu)據,在 Grafana 中繪(hui)制出該(gai)時間(jian)段內該(gai)臺站(zhan)的地震(zhen)波形圖(tu)。

單日 5000 億行 / 900G 數據接入,TDengine 3.0 在中國地震臺網中心的大型應用 - TDengine Database 時序數據庫

整體效果

此(ci)前,該項目通(tong)過(guo)(guo)程(cheng)序進(jin)行基于 miniseed 文件的(de)處理(li):簡單來說是對 miniseed 數據按照日期、臺站等維度進(jin)行分片,通(tong)過(guo)(guo)調用 python/C 程(cheng)序加載 miniseed 文件做(zuo)分析(xi)處理(li)。

切換(huan)到(dao) TDengine 之后,有很多變(bian)化:

  1. 不需要再維護繁多的 miniseed 文件,而是將他們解析成時間序列數據,在 TDengine 中分表存儲,節省了使用者每次使用數據時解包的時間。
  1. 通過簡單的 SQL 實現了快速的實時查詢/展示/分析,降低了數據展示和查詢的使用難度。
  1. 系統整體分布式擴展能力提升,通過增加節點的操作便可以應對未來可能快速增加的臺站和數據。
  1. TDengine 時序數據庫系統支持插件式業務函數集成,將成熟業務函數甚至機器學習訓練模型以 UDF 方式內置到時序庫系統中,進行流式處理,方便創新、擴展業務。

這些便是 TDengine 3.0 在地震領域(yu)的(de)應用,在氣(qi)象、環(huan)境、交通(tong)等等很多其他領域(yu)都會(hui)有類(lei)似的(de)場景和需(xu)求。在人類(lei)社(she)會(hui)的(de)智(zhi)能化發展(zhan)正處于(yu)不斷演進迭代的(de)過程(cheng)中,TDengine 將(jiang)會(hui)扮(ban)演更多重要(yao)的(de)角色。

注:文中所(suo)提及的 GPD 模型(xing)出自(zi):