在工業和(he)物聯網(wang)等真實應用場景(jing)中,數(shu)據采(cai)集(ji)的復(fu)雜(za)性遠(yuan)遠(yuan)超(chao)出單表所(suo)能覆蓋的范疇。盡管 TDengine 通過“一(yi)個(ge)數(shu)據采(cai)集(ji)點(dian)一(yi)張表”和(he)“超(chao)級(ji)表”機(ji)制(zhi),已(yi)成功解決了大規模(mo)(mo)時(shi)序(xu)數(shu)據的高效管理問題(ti),但(dan)設備內部(bu)的多傳(chuan)感器、多頻率特性,仍對建(jian)模(mo)(mo)和(he)查詢(xun)提出了更高要求(qiu)。
設備數據建模的真實挑戰
在(zai)實際應用(yong)中(zhong),一(yi)(yi)(yi)個設備通(tong)(tong)常由多個傳感器(qi)組成(cheng),采(cai)(cai)集(ji)的參(can)數種類繁多,且采(cai)(cai)樣(yang)頻率(lv)各不(bu)(bu)相同(tong)。例如,一(yi)(yi)(yi)臺風機可能(neng)同(tong)時(shi)采(cai)(cai)集(ji)電氣參(can)數、環境參(can)數和機械(xie)參(can)數,不(bu)(bu)同(tong)類型的傳感器(qi)采(cai)(cai)集(ji)頻次差異(yi)明顯,難以(yi)通(tong)(tong)過(guo)一(yi)(yi)(yi)張表完整(zheng)建(jian)模(mo),通(tong)(tong)常需要拆分為(wei)多張表分別(bie)管理。而在(zai)進行多傳感器(qi)數據的聯合分析(xi)時(shi),往往依賴多級關聯查詢,不(bu)(bu)僅使用(yong)復雜,也會影響性能(neng)表現。
從使(shi)用(yong)體驗來看,“一(yi)個設(she)備一(yi)張表”的建(jian)模方式更為直觀,也更便于業務理解與(yu)開發操作。但如果(guo)在建(jian)模初期直接采(cai)用(yong)這種方式,將所有傳感器數(shu)據匯總進一(yi)張大(da)表,由(you)于采(cai)樣頻(pin)率不(bu)一(yi)致,絕大(da)多數(shu)時間點會存在大(da)量空值,既浪費(fei)存儲空間,也顯(xian)著降低查詢效(xiao)率。
虛擬表:解耦物理存儲,統一視圖建模
為解決這一問題,TDengine 引入“虛擬表”(Virtual Table,簡稱 VTable)機制。虛擬表是一種不實際存儲數據、但可用于查詢與分析的邏輯(ji)表,其數(shu)據(ju)來自(zi)其他真實存儲數(shu)據(ju)的子表或普通(tong)(tong)表。通(tong)(tong)過將原始表中選定列(lie)的數(shu)據(ju)按時間戳進行(xing)排序、對齊和合并,虛擬(ni)表可動(dong)態生成統一(yi)的數(shu)據(ju)視圖(tu),用于復雜場(chang)景(jing)下的關聯分析。
虛擬(ni)表(biao)支持(chi)與真實表(biao)一(yi)(yi)致的(de)查詢(xun)方式(shi),但不(bu)支持(chi)寫入或刪除操(cao)作。虛擬(ni)表(biao)的(de)數(shu)據在(zai)每次查詢(xun)計算時都是動態生成的(de),只有被引用(yong)的(de)列才會被合并進表(biao)中,因此同一(yi)(yi)個虛擬(ni)表(biao)在(zai)不(bu)同查詢(xun)中所呈現(xian)以及(ji)掃描的(de)數(shu)據可能完全不(bu)同。
同真實表(biao)(biao)類似,虛擬表(biao)(biao)也可以分(fen)為虛擬超級表(biao)(biao)、虛擬子表(biao)(biao)、虛擬普通表(biao)(biao):
- 虛擬超級表:可代表一個設備或一組分析所需數據的完整集合,統一管理來自多個采集點的數據;
- 虛擬子表 / 普通表:用戶可根據需求選擇原始表中的任意列,自由拼接,按需定義,形成個性化視圖。
其主要功(gong)能特點包(bao)括:
- 列選擇與拼接:支持從多個原始表中靈活選取列組合,構建統一數據視圖;
- 基于時間戳對齊:以時間戳為基準對各列數據對齊,如果多個表在相同時間戳下存在數據,則對應列的值組合成同一行,無數據時填充 NULL;
- 動態更新、實時響應:原始數據變更后,虛擬表自動反映,無需手動刷新或同步;虛擬表不需實際存儲,計算在生成時動態完成。
讓“一個設備一張表”真正落地
借(jie)助虛(xu)擬表機制,TDengine 成功打通了底(di)層(ceng)數據(ju)建(jian)(jian)模與(yu)上層(ceng)分析之間的(de)鴻溝,實現(xian)了對更大規模、更復雜設備數據(ju)的(de)統一(yi)管理。用戶無需改變現(xian)有的(de)采集點建(jian)(jian)模方(fang)式,無論(lun)是單(dan)列(lie)(lie)還是多列(lie)(lie)、單(dan)庫還是多庫,都可以通過定義(yi)虛(xu)擬表靈活引(yin)用多個(ge)數據(ju)源,并(bing)借(jie)助虛(xu)擬超(chao)級表完成跨(kua)采集點、跨(kua)維度的(de)聚合分析,“一(yi)個(ge)設備一(yi)張表”的(de)建(jian)(jian)模理念也因此真正(zheng)落地。



























