這一版本中,我們引入了多項(xiàng)革新功能和性能優(yōu)化,力求在為用戶提供極致體驗(yàn)的同時(shí),不斷推動(dòng)技術(shù)的前沿。
此次更新不僅針對(duì)開源社區(qū)版本,進(jìn)行了一系列功能增強(qiáng)和性能提升,也為企業(yè)級(jí)用戶帶來(lái)了多項(xiàng)關(guān)鍵功能,如雙活、S3 存儲(chǔ)支持、傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)接入等。無(wú)論是數(shù)據(jù)處理的效率,還是系統(tǒng)的可靠性和安全性,新版本都有顯著提升,滿足從小型項(xiàng)目到大規(guī)模企業(yè)級(jí)部署的各種需求。
開源的時(shí)序數(shù)據(jù)庫(kù)功能更新(所有版本同步更新)
時(shí)序數(shù)據(jù) Join
之前版本,TDengine 只實(shí)現(xiàn)了 Inner Join 功能,為了更好地支持客戶需求,本次 Join 功能增強(qiáng)支持除 Cross Join 等時(shí)序數(shù)據(jù)庫(kù)中基本沒有需求場(chǎng)景的 Join 類型外的所有 Join 類型,包括傳統(tǒng)庫(kù)中的 Left Join、Right Join、Full Join、Semi Join、Anti-Semi Join 以及時(shí)序庫(kù)中特色的 ASOF Join、Window Join。
復(fù)合主鍵(重復(fù)時(shí)間戳)
在某些應(yīng)用場(chǎng)景中,單純使用時(shí)間戳作為主鍵可能導(dǎo)致大量的記錄重復(fù)。這些重復(fù)的記錄在生產(chǎn)環(huán)境中通常是必需的,不能僅作為單一記錄進(jìn)行更新處理。
為了解決這一問(wèn)題,可以在創(chuàng)建普通表或超級(jí)表時(shí),利用復(fù)合主鍵功能。用戶可以指定一個(gè)額外的列作為“Primary key”,與時(shí)間戳列一起構(gòu)成復(fù)合主鍵。當(dāng)兩條記錄的時(shí)間戳和 Primary key 列的值都相同時(shí),它們被視為同一條記錄;如果這些值有所不同,則視為不同的記錄。
CREATE TABLE table_name (
quot_time TIMESTAMP,
busi_sequ_no BIGINT PRIMARY KEY,
entr_prc DOUBLE,
entr_qty BIGINT,
……
);
Count Window (計(jì)數(shù)窗口查詢)
窗口將時(shí)序數(shù)據(jù)拆分成有限大小的“存儲(chǔ)桶”,每個(gè)桶包含若干條記錄。通過(guò)劃分窗口,可對(duì)這些記錄進(jìn)行聚合計(jì)算。計(jì)數(shù)窗口在 3.2.3.0 版本支持在流計(jì)算中使用,在 3.3.0.0 版本支持在查詢中使用。
window_clause: {
SESSION(ts_col, tol_val)
| STATE_WINDOW(col)
| INTERVAL(interval_val [, interval_offset]) [SLIDING (sliding_val)] [FILL(fill_mod_and_val)]
| EVENT_WINDOW START WITH start_trigger_conditionEND WITH end_trigger_condition
| COUNT_WINDOW(count_val[, sliding_val])
}
TSMA
該功能旨在提升大數(shù)據(jù)量聚合函數(shù)查詢性能。通過(guò)對(duì)固定時(shí)間窗口內(nèi)的數(shù)據(jù)進(jìn)行預(yù)計(jì)算,并將預(yù)計(jì)算結(jié)果存儲(chǔ)到硬盤,查詢時(shí)通過(guò)讀取預(yù)計(jì)算結(jié)果以提高查詢性能。
- 創(chuàng)建基于超級(jí)表或普通表的 TSMA
CREATE TSMA tsma_name ON [dbname].table_name FUNCTION (func_name(func_param) [, ...] ) INTERVAL(time_duration);
- 創(chuàng)建基于小窗口 tsma 的大窗口 TSMA
CREATE RECURSIVE TSMA tsma_name2 ON [db_name.]tsma_name1 INTERVAL(time_duration);
存儲(chǔ)壓縮增強(qiáng)
存儲(chǔ)壓縮算法增強(qiáng)后,TDengine 的壓縮比預(yù)期可再提升一倍以上。此前 TDengine 已經(jīng)支持兩級(jí)壓縮,但壓縮算法固定不可配置,改造后有以下增強(qiáng):
- 第一級(jí)壓縮支持多種編碼方法且可擴(kuò)充, 包括 simple8b、delta-i、delta-d、bit-packing、disabled
- 第二級(jí)壓縮支持多種壓縮算法且可擴(kuò)充,包括 lz4、zlib、zstd、tsz、xz、disabled
- 壓縮等級(jí)支持 high、medium、low 三種
Explorer 社區(qū)版
從很多開源用戶希望有可視化管理界面的需求出發(fā),本次版本更新提供 Explorer 社區(qū)版,具備功能包括用戶登錄、系統(tǒng)消息、監(jiān)控面板、數(shù)據(jù)寫入、數(shù)據(jù)瀏覽器、編程、流計(jì)算、數(shù)據(jù)訂閱、工具、集群等。
TDengine Enterprise(企業(yè)級(jí)功能)
TDengine 雙副本(+仲裁者)
部分客戶期望在保證一定可靠性、可用性條件下,盡可能壓縮部署成本。為此我們提出基于仲裁者的雙副本方案。該方案可提供集群中“只有單個(gè)服務(wù)故障且不出現(xiàn)連續(xù)故障”的容錯(cuò)能力。
雙副本的使用場(chǎng)景:
1.有降低存儲(chǔ)成本需求的客戶
2.有降低物理節(jié)點(diǎn)需求的客戶
3.對(duì)高可用性要求稍低的客戶
雙副本的技術(shù)特點(diǎn):
1.時(shí)序數(shù)據(jù)的副本數(shù)目為 2 ,但是集群內(nèi)節(jié)點(diǎn)數(shù)目大于等于 3
2.當(dāng)時(shí)序數(shù)據(jù)的某個(gè)副本所在物理節(jié)點(diǎn)宕機(jī)時(shí),可以自動(dòng)切主,不丟失數(shù)據(jù),且可持續(xù)寫入、查詢
TDengine 雙活
雙活的使用場(chǎng)景:
- 部分客戶因?yàn)椴渴瓠h(huán)境的特殊性只能部署兩臺(tái)服務(wù)器,同時(shí)希望實(shí)現(xiàn)一定的服務(wù)高可用和數(shù)據(jù)高可靠
- 客戶主要來(lái)自工業(yè)控制領(lǐng)域,也有些來(lái)自一些特殊的領(lǐng)域
- 既可以用于前面所述節(jié)點(diǎn)受限的環(huán)境,也可用于在兩套 TDengine 集群(不限節(jié)點(diǎn)數(shù)目)之間的災(zāi)備場(chǎng)景
S3 存儲(chǔ)
S3 是可擴(kuò)展、高可用的分布式存儲(chǔ),存儲(chǔ)大量的非結(jié)構(gòu)化數(shù)據(jù)對(duì)象,通過(guò)對(duì)象名(鍵值)索引到對(duì)象。S3 上的對(duì)象不能修改,且讀取對(duì)象的速度較本地磁盤慢,各廠商常根據(jù)上傳數(shù)據(jù)大小、讀取次數(shù)、讀取大小收費(fèi)。
TDengine 針對(duì) S3 存儲(chǔ)的特殊性,做了很多優(yōu)化,其優(yōu)點(diǎn)包括:
- 存儲(chǔ)成本顯著降低
- 支持冷數(shù)據(jù)寫入、更新、刪除,行為透明
- 查詢速度下降在一倍左右,查詢行為透明
數(shù)據(jù)庫(kù)加密
數(shù)據(jù)庫(kù)存儲(chǔ)文件加密,讀寫透明。支持國(guó)標(biāo) sm4 加密算法,加密范圍包括所有數(shù)據(jù)文件。
數(shù)據(jù)接入
本版本支持傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)向 TDengine 平滑地進(jìn)行遷移,包括:
- MySQL -> TDengine
- PostgreSQL -> TDengine
除此之外,每個(gè)版本都會(huì)做很多其他的工作,比如 bug 修復(fù)、功能優(yōu)化等等。如果想要了解新版本(時(shí)序數(shù)據(jù)庫(kù)功能更新)更加詳細(xì)的發(fā)布信息,可以移步至?https://github.com/taosdata/TDengine/releases/tag/ver-3.3.0.0?查看發(fā)布說(shuō)明。歡迎大家下載使用。



互聯(lián)網(wǎng).png)



-1.png)




.png)


證.png)


伙伴.png)
伙伴.png)
伙伴.png)



