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

極簡的時序數據處理平臺

極簡的時序數據處理平臺

時序數據庫(Time Series Database, TSDB)是一個專門為時(shi)序數據(ju)優化設計的(de)(de)數據(ju)庫,用于以(yi)高效(xiao)的(de)(de)方(fang)式存(cun)(cun)儲和(he)分析(xi)時(shi)序數據(ju)。但是時(shi)序數據(ju)處(chu)(chu)理(li)(li)需要的(de)(de)不僅(jin)僅(jin)是存(cun)(cun)儲和(he)分析(xi)。在(zai)典型的(de)(de)時(shi)序數據(ju)處(chu)(chu)理(li)(li)平臺中,TSDB 總是與(yu)流處(chu)(chu)理(li)(li)、緩存(cun)(cun)、數據(ju)訂閱和(he)其(qi)他(ta)工具集成(cheng)在(zai)一起。這使得系(xi)統設計復雜且難(nan)以(yi)維護(hu)。此(ci)外(wai),它還需要消耗更多的(de)(de)計算和(he)存(cun)(cun)儲資(zi)源。

為了降低系統設計復雜度(du)和(he)(he)運行成本,TDengine 充(chong)分利用時(shi)間(jian)序(xu)(xu)(xu)列(lie)數(shu)據(ju)的(de)特點,構建(jian)了自己的(de)緩存(cun)、流計算和(he)(he)數(shu)據(ju)訂閱功能。它不僅(jin)提(ti)供(gong)(gong)了一(yi)種(zhong)高效(xiao)的(de)時(shi)間(jian)序(xu)(xu)(xu)列(lie)數(shu)據(ju)存(cun)儲和(he)(he)分析方(fang)式(shi),還為時(shi)間(jian)序(xu)(xu)(xu)列(lie)數(shu)據(ju)處理提(ti)供(gong)(gong)了一(yi)種(zhong)極簡的(de)解決方(fang)案(Simplified Solution for Time Series Data),是一(yi)個(ge)極簡的(de)時(shi)序(xu)(xu)(xu)數(shu)據(ju)處理平(ping)臺。

流計算

為了更快地(di)分析(xi)業務運行(xing)數(shu)據(ju)(ju)(ju)或在(zai)更短的(de)(de)(de)時(shi)間(jian)(jian)內檢測異常,一(yi)個合(he)格的(de)(de)(de)時(shi)序數(shu)據(ju)(ju)(ju)處(chu)理(li)系統必(bi)須在(zai)數(shu)據(ju)(ju)(ju)點(dian)到達(da)系統后立(li)即(ji)進(jin)行(xing)實時(shi)分析(xi)計算(suan)(suan)。流計算(suan)(suan)非常適合(he)時(shi)間(jian)(jian)序列(lie)數(shu)據(ju)(ju)(ju)的(de)(de)(de)處(chu)理(li)。流計算(suan)(suan)可以是(shi)(shi)時(shi)間(jian)(jian)驅(qu)動(dong)(dong)的(de)(de)(de),以固定的(de)(de)(de)時(shi)間(jian)(jian)間(jian)(jian)隔產(chan)生新(xin)的(de)(de)(de)計算(suan)(suan)結(jie)果(稱為連續查(cha)詢),也可以是(shi)(shi)事件驅(qu)動(dong)(dong)的(de)(de)(de),每(mei)當新(xin)數(shu)據(ju)(ju)(ju)點(dian)到達(da)時(shi)立(li)即(ji)產(chan)生新(xin)的(de)(de)(de)計算(suan)(suan)結(jie)果。

大部分 TSDB,包括 TDengine 都(dou)為連續查(cha)詢(xun)(xun)提供了(le)解(jie)決方案(an)。連續查(cha)詢(xun)(xun)特別(bie)適用于降采樣、提前預(yu)計(ji)算特定類型(xing)的(de)(de)查(cha)詢(xun)(xun)和(he)其他(ta)一些(xie)情況。但連續查(cha)詢(xun)(xun)還是有很多限制,例如標(biao)量(liang)函數中的(de)(de)預(yu)處理和(he)轉換、會(hui)話窗口以及其他(ta)需(xu)要低延遲(chi)的(de)(de)情況。因此整個系統(tong)(tong)仍(reng)然需(xu)要事件驅動(dong)的(de)(de)流計(ji)算,大家普(pu)遍將 Spark、Flink 或其他(ta)工具集成(cheng)到時間序列數據處理系統(tong)(tong)中,這使得系統(tong)(tong)設計(ji)變(bian)得復雜。

在 TDengine 全新的(de)流(liu)計(ji)(ji)算(suan)引擎(qing)中,SQL(支(zhi)持(chi)用戶(hu)自(zi)定義函數)會被自(zi)動(dong)地轉化成流(liu)計(ji)(ji)算(suan)操作的(de) pipeline。數據(ju)在寫入(ru)時(shi)(shi)(shi)會自(zi)動(dong)觸發配(pei)置好的(de)計(ji)(ji)算(suan),結果按(an)需輸出:實時(shi)(shi)(shi)、周(zhou)期或水(shui)印(yin)(watermark)指定。這使得 TDengine 成為支(zhi)持(chi)時(shi)(shi)(shi)間驅動(dong)和事件驅動(dong)流(liu)計(ji)(ji)算(suan)的(de)時(shi)(shi)(shi)間序(xu)列數據(ju)庫。

TDengine 流(liu)計算(suan)在(zai)處理(li)高吞(tun)吐量事件時(shi)(shi)(shi)的(de)延(yan)遲在(zai)毫(hao)秒(miao)級別,這在(zai)實(shi)時(shi)(shi)(shi)警報、數據(ju)轉換、預處理(li)等(deng)方面為用(yong)戶(hu)(hu)提供了很大幫助。使用(yong) TDengine,還(huan)可以對多(duo)個數據(ju)流(liu)進(jin)行(xing)實(shi)時(shi)(shi)(shi)聚(ju)合(he)計算(suan),獲得對業務的(de)實(shi)時(shi)(shi)(shi)洞察(cha),用(yong)戶(hu)(hu)可以方便地進(jin)行(xing)實(shi)時(shi)(shi)(shi)分析并構建實(shi)時(shi)(shi)(shi)儀(yi)表(biao)板(ban)。此外,TDengine 可以通過指定(ding)水印(yin)(watermark) 根據(ju)需要自動(dong)從存儲引擎中檢索數據(ju)等(deng)方法來處理(li)亂序的(de)數據(ju)。

極簡的時序數據處理平臺-stream-processing-TDengine Database

所有(you)這些亮眼的功(gong)能都非常直觀且易于使用,只需(xu)一條簡單的 SQL 命(ming)令。有(you)關更多詳細信息,請查看。

緩存

在 IoT 或 IIoT 情況下(xia),系(xi)統(tong)需要快速將最新數據返回給應用程序。例如,車(che)隊管理系(xi)統(tong)總是想知道每(mei)輛卡車(che)的當(dang)前 GPS 位置。對于智(zhi)能工(gong)廠,系(xi)統(tong)總是需要知道每(mei)個閥門的當(dang)前狀態(tai)和每(mei)個儀表的當(dang)前讀數。

為了解(jie)決這個問題,在大多數(shu)系(xi)統(tong)設(she)計中(zhong),當(dang)一個數(shu)據(ju)點(dian)到達系(xi)統(tong)時(shi)(shi),它被寫入一個時(shi)(shi)間序列數(shu)據(ju)庫。同時(shi)(shi),它也被寫入 Redis。應用程序從 Redis 中(zhong)檢索最新的(de)數(shu)據(ju)點(dian),而不(bu)是從 TSDB 中(zhong)獲取。這種設(she)計是可行的(de),但(dan)增加了系(xi)統(tong)的(de)復雜性和操作成本。

在(zai)(zai) TDengine 的設(she)計中,每個(ge)節點都分配了(le)一(yi)(yi)個(ge)固定(ding)大小的內存來緩(huan)(huan)存數(shu)(shu)(shu)據點。TDengine 以 FIFO 策略而不(bu)是 LRU 策略管理其緩(huan)(huan)存,因為對于時(shi)序數(shu)(shu)(shu)據的應(ying)用(yong)而言,雖然老數(shu)(shu)(shu)據也可(ke)能(neng)需要(yao)被讀出來進行分析,但新數(shu)(shu)(shu)據比(bi)老數(shu)(shu)(shu)據更為重要(yao)。TDengine 緩(huan)(huan)存最(zui)(zui)新數(shu)(shu)(shu)據這個(ge)設(she)計,提供(gong)了(le)在(zai)(zai)毫秒內讀出最(zui)(zui)新數(shu)(shu)(shu)據的能(neng)力。有了(le)這個(ge)能(neng)力,TDengine 可(ke)以通過正確(que)配置用(yong)作簡(jian)(jian)單的緩(huan)(huan)存系(xi)統,而無需再部署一(yi)(yi)個(ge)獨立的緩(huan)(huan)存系(xi)統。TDengine 提供(gong)了(le)一(yi)(yi)個(ge) SQL 函數(shu)(shu)(shu) last_row 來獲(huo)取最(zui)(zui)新的數(shu)(shu)(shu)據點,十分簡(jian)(jian)單明了(le)。

TDengine 的(de)內置緩(huan)存簡化了(le)系(xi)統架構(gou),最大限(xian)度地降低了(le)運營成本。更多詳細信息,請(qing)查(cha)看。

數據訂閱

消(xiao)息隊列(lie)(lie)在(zai)許多系統(tong)架構(gou)中起著重(zhong)要的(de)作(zuo)用,傳入的(de)數據點首(shou)先被寫入消(xiao)息隊列(lie)(lie),然后(hou)被系統(tong)中的(de)其(qi)他(ta)組(zu)件消(xiao)耗。

在(zai) TDengine 的(de)(de)設計中(zhong),傳入的(de)(de)數(shu)據點總是(shi)首先(xian)以添加模式寫入預寫日志(WAL)。在(zai) TDengine 的(de)(de)早(zao)期版本(ben)中(zhong),一(yi)旦內存中(zhong)的(de)(de)相應(ying)數(shu)據被持(chi)久化到數(shu)據庫中(zhong),該 WAL 文件(jian)通常會被刪除。WAL 文件(jian)用于在(zai)系(xi)統崩潰時恢復數(shu)據。

WAL 文(wen)件里保(bao)存(cun)(cun)的數據(ju)是按照數據(ju)到達的順序(xu)來保(bao)存(cun)(cun)的,為(wei)(wei)了(le)支持數據(ju)訂(ding)閱(yue),TDengine 從 3.0 開始,不會(hui)自(zi)動(dong)刪除 WAL 文(wen)件,而是將其保(bao)留(liu)指定(ding)的時間段(duan),WAL 文(wen)件可以成(cheng)為(wei)(wei)持久消息隊列并被(bei)其他應用程序(xu)使用。

在 TDengine 的設計(ji)中(zhong),訂閱的主(zhu)題(ti)可以是數據庫、超(chao)級表(biao)、一(yi)組(zu)表(biao)或單個(ge)(ge)表(biao)。實際上,主(zhu)題(ti)是用(yong) SQL 語句定義的。一(yi)旦(dan)主(zhu)題(ti)有了(le)新的數據點,它就(jiu)會被推送給消(xiao)費(fei)者(zhe)(zhe)。如果數據庫有多個(ge)(ge)虛擬(ni)節(jie)點(分片),消(xiao)費(fei)者(zhe)(zhe)組(zu)中(zhong)的多個(ge)(ge)消(xiao)費(fei)者(zhe)(zhe)可以使用(yong)同一(yi)個(ge)(ge)主(zhu)題(ti)來提高數據消(xiao)費(fei)的吞吐量。

與流行的(de) Kafka 相(xiang)比,TDengine 的(de)數據(ju)訂閱功能有一(yi)個(ge)很(hen)大(da)的(de)優勢,支持數據(ju)過濾(lv)。應用(yong)程序(xu)可以訂閱僅滿足特(te)定(ding)過濾(lv)條件(jian)的(de)數據(ju)點。如果一(yi)個(ge)數據(ju)點不滿足過濾(lv)條件(jian),它根本(ben)不會(hui)被(bei)傳遞給應用(yong)程序(xu)。此外,應用(yong)程序(xu)可以訂閱一(yi)個(ge)特(te)定(ding)列(lie)或(huo)一(yi)組列(lie),而非所有列(lie),這樣更靈(ling)活、更高效。而且訂閱的(de) API 與 Kafka 類似,無學(xue)習成本(ben)。

通過使用 TDengine 內建的數據(ju)訂閱功能(neng),時間序(xu)列數據(ju)處理不再(zai)需要(yao) Kafka 或(huo)其他(ta)消(xiao)息隊列工具,從(cong)而降低了系(xi)統復雜性和運行成本。

極簡的時序數據處理平臺-data-subscription-TDengine Database

更多詳細信(xin)息,請查看。

總結

極簡的時序數據處理平臺-classical-data-platform-TDengine Database

在時(shi)序數(shu)據處(chu)理平臺的(de)通用(yong)設計中(zhong),采集(ji)的(de)數(shu)據往(wang)往(wang)先寫(xie)入消(xiao)(xiao)息隊列,然后通過消(xiao)(xiao)費,寫(xie)入數(shu)據庫(如 HBase、MongoDB 或 MySQL)做(zuo)持久化存儲,同時(shi)往(wang)往(wang)寫(xie)入 Redis 將最新數(shu)據緩存起來,還(huan)將數(shu)據送(song)入 Spark 或 Flink 等流式計算工(gong)具做(zuo)實(shi)時(shi)分析,流式計算的(de)結果往(wang)往(wang)也會寫(xie)入數(shu)據庫做(zuo)存儲。應用(yong)需(xu)要與(yu) Redis、Database 以及(ji) Spark 這些工(gong)具集(ji)成。

TDengine 通過(guo)內置緩(huan)存、流處(chu)理和數(shu)據(ju)訂閱功能,為時(shi)間序列(lie)數(shu)據(ju)處(chu)理提供了一個(ge)極(ji)簡(jian)的解決(jue)方案(an)。時(shi)間序列(lie)數(shu)據(ju)處(chu)理不再需要 Kafka、Redis、Spark、Flink 或(huo)其他類似工具。

兩者(zhe)邏輯(ji)結構對比(bi)圖如下(xia):

極簡的時序數據處理平臺 - TDengine Database 時序數據庫
極簡的時序數據處理平臺-tdengine-data-platform-TDengine Database

TDengine 的極簡(jian)方案大大降低了系(xi)統設計(ji)的復雜性和運(yun)營成本。由(you)于邊緣計(ji)算(suan)的資源非(fei)常有限,這(zhe)種(zhong)設計(ji)在邊緣端(duan)將帶來了巨大的優勢。TDengine 不只是一(yi)個時(shi)序(xu)數(shu)據庫(Time-Series Database),還(huan)是一(yi)個極簡(jian)的時(shi)序(xu)數(shu)據處理平臺。