隨著物聯(lián)網(wǎng)、車聯(lián)網(wǎng)等領(lǐng)域的快速發(fā)展,企業(yè)所面臨的數(shù)據(jù)采集量呈爆炸式增長(zhǎng),這對(duì) IT 基礎(chǔ)設(shè)施和數(shù)據(jù)庫(kù)提出了嚴(yán)峻挑戰(zhàn)。傳統(tǒng)單機(jī)版數(shù)據(jù)庫(kù)逐漸無法應(yīng)對(duì)高并發(fā)的數(shù)據(jù)寫入和復(fù)雜的查詢需求。因此,底層數(shù)據(jù)庫(kù)必須具備水平擴(kuò)展能力,以確保其能夠在數(shù)據(jù)量持續(xù)增長(zhǎng)的情況下高效運(yùn)行。
然而,目前市場(chǎng)上大多數(shù)開源時(shí)序數(shù)據(jù)庫(kù)的集群功能并未完全開源。InfluxDB 的集群能力封閉于企業(yè)版,這迫使企業(yè)使用開源單機(jī)版的同時(shí),需投入大量資源自建 Proxy 來實(shí)現(xiàn)數(shù)據(jù)的分片和查詢聚合,增加了系統(tǒng)開發(fā)和維護(hù)的成本。相比之下,TDengine 在 2020 年 8 月正式將集群功能開源,在解決大規(guī)模數(shù)據(jù)處理需求方面走在了行業(yè)前列。
InfluxDB 開源版本的局限性
開源版 InfluxDB 的局限在于其集群功能僅在企業(yè)版中提供,這給眾多中小企業(yè)帶來困難。為了應(yīng)對(duì)高并發(fā)的數(shù)據(jù)需求,這些企業(yè)通常采取如下折衷方案:
- 自建 Proxy 對(duì)數(shù)據(jù)進(jìn)行分片,解決數(shù)據(jù)寫入問題;
- 但在數(shù)據(jù)查詢時(shí),涉及多節(jié)點(diǎn)數(shù)據(jù)聚合的復(fù)雜性,Proxy 需要承擔(dān)聚合計(jì)算,開發(fā)成本和運(yùn)維壓力極大。
一些企業(yè)為簡(jiǎn)化流程,轉(zhuǎn)向了 OpenTSDB,因?yàn)樗姆植际桨姹就耆_源。然而,OpenTSDB 基于 HBase 作為底層存儲(chǔ),帶來了復(fù)雜的安裝與維護(hù)流程,同時(shí)其存儲(chǔ)效率和查詢性能遠(yuǎn)低于理想水平。雖然 OpenTSDB 的線性擴(kuò)展能力值得肯定,但因其系統(tǒng)復(fù)雜性和性能限制,它并非優(yōu)秀的選擇。
至數(shù)物聯(lián)網(wǎng) IoT 平臺(tái)的技術(shù)改造實(shí)踐正是對(duì)此的有力證明:http://m.fjzmyy.cn/tdengine-user-cases/5007.html
TDengine 的集群能力:從設(shè)計(jì)之初即面向水平擴(kuò)展
為滿足不斷增長(zhǎng)的數(shù)據(jù)處理需求,TDengine 從誕生之初就以水平擴(kuò)展和高可用為核心設(shè)計(jì)理念,采用分布式架構(gòu),基于單個(gè)硬件、軟件系統(tǒng)不可靠,基于任何單臺(tái)計(jì)算機(jī)都無法提供足夠計(jì)算能力和存儲(chǔ)能力處理海量數(shù)據(jù)的假設(shè)進(jìn)行集群設(shè)計(jì),具備強(qiáng)大的水平擴(kuò)展能力。同時(shí),通過節(jié)點(diǎn)虛擬化并輔以負(fù)載均衡技術(shù),TDengine 能最高效率地利用異構(gòu)集群中的計(jì)算和存儲(chǔ)資源降低硬件投資。
通過創(chuàng)新的設(shè)計(jì),TDengine 集群具備以下關(guān)鍵特性:
- 數(shù)據(jù)分片與水平擴(kuò)展
TDengine 通過虛擬節(jié)點(diǎn)(vnode)技術(shù),將集群內(nèi)的多個(gè)物理節(jié)點(diǎn)劃分為多個(gè) vnode。每個(gè) vnode 存儲(chǔ)特定的數(shù)據(jù)采集點(diǎn)的數(shù)據(jù),一個(gè)數(shù)據(jù)采集點(diǎn)的數(shù)據(jù)只存放在一個(gè) vnode 內(nèi)。這一設(shè)計(jì)確保:
- 寫入時(shí)的水平擴(kuò)展:客戶端可以將數(shù)據(jù)直接寫入對(duì)應(yīng)的 vnode,集群節(jié)點(diǎn)數(shù)越多,系統(tǒng)的吞吐能力越強(qiáng)。
- 查詢時(shí)的水平擴(kuò)展:對(duì)于聚合查詢,首先在各個(gè) vnode 內(nèi)完成初步聚合,客戶端再進(jìn)行二次聚合。這種分布式計(jì)算模型降低了查詢聚合的復(fù)雜度。
- 數(shù)據(jù)分區(qū)與多級(jí)存儲(chǔ)
除了分片,TDengine 還支持按時(shí)間段對(duì)數(shù)據(jù)進(jìn)行分區(qū),如按天、按周等用戶定義的時(shí)間范圍。分區(qū)后的數(shù)據(jù)具有以下優(yōu)勢(shì):
- 查詢時(shí)可快速定位到對(duì)應(yīng)時(shí)間段的數(shù)據(jù)文件,提升查詢效率;
- 方便實(shí)現(xiàn)數(shù)據(jù)保留策略,超過保留時(shí)間的數(shù)據(jù)直接刪除對(duì)應(yīng)文件即可;
- 支持冷熱數(shù)據(jù)分離,減少存儲(chǔ)成本。
- 高可用設(shè)計(jì)與自動(dòng)故障轉(zhuǎn)移
TDengine 通過虛擬節(jié)點(diǎn)組技術(shù)保障系統(tǒng)高可用性。虛擬節(jié)點(diǎn)組內(nèi)的數(shù)據(jù)采用 Leader-Follower 模式同步:Leader 負(fù)責(zé)處理讀寫請(qǐng)求,并將數(shù)據(jù)同步到多個(gè) Follower 節(jié)點(diǎn)。當(dāng) Leader 節(jié)點(diǎn)發(fā)生故障時(shí),系統(tǒng)會(huì)自動(dòng)選舉新的 Leader,確保數(shù)據(jù)訪問不中斷,并實(shí)現(xiàn)故障轉(zhuǎn)移。這種架構(gòu)保證了數(shù)據(jù)的一致性與冗余,增強(qiáng)了系統(tǒng)的高可用性和容錯(cuò)能力。
TDengine 集群可以容納單個(gè)、多個(gè)甚至幾千個(gè)數(shù)據(jù)節(jié)點(diǎn)。應(yīng)用只需要向集群中任何一個(gè)數(shù)據(jù)節(jié)點(diǎn)發(fā)起連接即可。這種設(shè)計(jì)簡(jiǎn)化了應(yīng)用程序與集群之間的交互過程,提高了系統(tǒng)的可擴(kuò)展性和易用性。
TDengine 集群 vs. InfluxDB 集群
為了讓大家更方便地進(jìn)行應(yīng)用,在 2020 年 TDengine 便把集群版功能進(jìn)行了開源,打破了 InfluxDB 將集群能力封閉在企業(yè)版的壁壘。開源集群意味著:
- 用戶無需支付高昂的許可費(fèi)用即可享受全功能的分布式數(shù)據(jù)庫(kù)支持;
- 社區(qū)和企業(yè)可以自由探索 TDengine 的集群架構(gòu),實(shí)現(xiàn)個(gè)性化開發(fā)和優(yōu)化;
- 降低了開發(fā)者的使用門檻,促進(jìn)了更廣泛的生態(tài)系統(tǒng)發(fā)展。
與 InfluxDB 形成鮮明對(duì)比的是,TDengine 的開源集群功能不僅適用于寫入,還能處理復(fù)雜的查詢聚合任務(wù),展現(xiàn)了出色的水平擴(kuò)展能力。這種設(shè)計(jì)使 TDengine 特別適用于需要同時(shí)處理海量實(shí)時(shí)數(shù)據(jù)寫入和復(fù)雜歷史數(shù)據(jù)分析的場(chǎng)景,如物聯(lián)網(wǎng)、工業(yè)監(jiān)控和智慧城市等。相比之下,InfluxDB 在處理復(fù)雜查詢時(shí)常面臨性能下降和資源瓶頸,限制了系統(tǒng)的擴(kuò)展性。
如果你也想親身體驗(yàn) TDengine 的強(qiáng)大集群水平擴(kuò)展能力,不妨動(dòng)手試試!我們?yōu)槟銣?zhǔn)備了詳細(xì)的指導(dǎo)手冊(cè):https://docs.taosdata.com/operation/deployment/,助你輕松完成部署和配置。該手冊(cè)涵蓋了手動(dòng)部署、Docker 部署、Kubernetes 部署三種部署方式,讓你快速上手并充分發(fā)揮 TDengine 集群的性能和優(yōu)勢(shì)。
結(jié)語
在時(shí)序數(shù)據(jù)管理領(lǐng)域,TDengine 的集群功能為企業(yè)提供了強(qiáng)大的水平擴(kuò)展和高可用能力。相比于 InfluxDB 封閉的企業(yè)版集群,TDengine 的開源集群打破了軟件授權(quán)的桎梏,讓用戶能夠以更低成本應(yīng)對(duì)數(shù)據(jù)爆發(fā)式增長(zhǎng)的挑戰(zhàn)。同時(shí),TDengine 的分片、分區(qū)與虛擬節(jié)點(diǎn)技術(shù),使其在高效數(shù)據(jù)管理和復(fù)雜查詢性能上遙遙領(lǐng)先。對(duì)于那些追求系統(tǒng)擴(kuò)展性、易維護(hù)性和高性價(jià)比的企業(yè)來說,TDengine 已成為更具吸引力的選擇。



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



-1.png)




.png)


證.png)


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



