北京2021年11月30日 /美通社/ -- 為了構(gòu)建更為完整的物聯(lián)網(wǎng)大數(shù)據(jù)處理生態(tài),支持簡(jiǎn)單高效地從其他時(shí)序數(shù)據(jù)庫遷移到TDengine,濤思數(shù)據(jù)研發(fā)并正式發(fā)布了taosAdapter。
TDengine是濤思數(shù)據(jù)專為物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、IT運(yùn)維等設(shè)計(jì)和優(yōu)化的大數(shù)據(jù)平臺(tái)。除核心的快10倍以上的時(shí)序數(shù)據(jù)庫功能外,還提供緩存、數(shù)據(jù)訂閱、流式計(jì)算等功能,最大程度減少研發(fā)和運(yùn)維的復(fù)雜度,且核心代碼,包括集群功能全部開源。自TDengine于2019年7月宣布開源以來,在世界最大的代碼托管平臺(tái)GitHub上已經(jīng)已經(jīng)獲得非常積極的反饋,有17,300多人給了star,4,100多人fork了代碼。越來越多的用戶開始采用TDengine。
taosAdapter是一個(gè)新的獨(dú)立程序,可以包含在TDengine 2.3.0.0及以上版本中。taosAdapter的核心出發(fā)點(diǎn)是解決用戶的痛點(diǎn),降低遷移成本。
在物聯(lián)網(wǎng)和運(yùn)維監(jiān)控等領(lǐng)域,有些用戶還在使用傳統(tǒng)解決方案或者比較老的產(chǎn)品解決時(shí)序數(shù)據(jù)處理問題,比如OpenTSDB。OpenTSDB也是一款開源的分布式時(shí)序數(shù)據(jù)庫,它沒有自己的存儲(chǔ)引擎,相關(guān)功能完全基于HBase。因?yàn)楫a(chǎn)生時(shí)間較早,所以很多運(yùn)維監(jiān)控項(xiàng)目選擇了該系統(tǒng)。
以某物流科技公司為例,他們采用了OpenTSDB+HBase作為大數(shù)據(jù)監(jiān)控平臺(tái)全量監(jiān)控?cái)?shù)據(jù)的存儲(chǔ)方案。但是隨著該平臺(tái)接入的數(shù)據(jù)量越來越大,他們遇到了很多痛點(diǎn),像系統(tǒng)依賴多、使用成本高和性能不如意等。
具體而言:
為了解決這些痛點(diǎn),當(dāng)時(shí)順豐科技的工程師們認(rèn)為有必要對(duì)全量監(jiān)控?cái)?shù)據(jù)存儲(chǔ)方案進(jìn)行升級(jí)。他們調(diào)研了多款時(shí)序數(shù)據(jù)庫產(chǎn)品,最終決定選擇TDengine。之后他們基于TDengine對(duì)系統(tǒng)進(jìn)行了改造。改造完成后,TDengine集群輕松扛住了全量監(jiān)控?cái)?shù)據(jù)寫入,目前運(yùn)行穩(wěn)定。
這次改造帶來的效果提升非常亮眼:服務(wù)端物理機(jī)由21臺(tái)降至3臺(tái),每日所需存儲(chǔ)空間同等條件下僅為OpenTSDB+HBase的約1/10,大大降低了硬件成本。在查詢性能方面,在使用預(yù)計(jì)算函數(shù)情況下,查詢p99都在0.7秒以內(nèi),已經(jīng)能夠滿足日常絕大部分查詢需求;在做大跨度(6個(gè)月)非預(yù)計(jì)算查詢情況下,首次查詢耗時(shí)在10秒左右,后續(xù)類似查詢耗時(shí)會(huì)有大幅下降(2-3s)。
某物聯(lián)網(wǎng)平臺(tái)也遇到了類似問題,他們之前采用OpenTSDB存儲(chǔ)時(shí)序數(shù)據(jù),功能上是能夠滿足需求的;但是由于OpenTSDB架構(gòu)復(fù)雜,體量過重,給開發(fā)測(cè)試、安裝部署以及運(yùn)維管理等工作帶來了不小的麻煩,隨著業(yè)務(wù)規(guī)模的發(fā)展,問題愈發(fā)嚴(yán)重。同樣在經(jīng)過調(diào)研之后,他們也選擇了TDengine。在升級(jí)改造的過程中,他們需要保留歷史數(shù)據(jù),所以需要將歷史數(shù)據(jù)從OpenTSDB遷移到TDengine。為此他們還專門開發(fā)了一個(gè)數(shù)據(jù)遷移工具,并進(jìn)行了詳盡的測(cè)試。
用戶的需求就是產(chǎn)品演進(jìn)的動(dòng)力。TDengine的研發(fā)團(tuán)隊(duì)開始思考這個(gè)問題:既然很多用戶都有這種遷移需求,那是不是可以官方給出一個(gè)統(tǒng)一的解決方案呢?
taosAdapter就是他們的答案。taosAdapter主要有以下功能:
它能夠兼容OpenTSDB的Telnet/JSON寫入?yún)f(xié)議,對(duì)于運(yùn)維監(jiān)控類業(yè)務(wù),用戶可以將collectd和StatsD收集的數(shù)據(jù)通過taosAdapter直接推送到TDengine。在數(shù)據(jù)能夠正常寫入TDengine后,可以調(diào)整適配Grafana,將寫入TDengine的數(shù)據(jù)以可視化方式呈現(xiàn)出來。TDengine也為Grafana提供了連接插件。如果要遷移歷史數(shù)據(jù),濤思數(shù)據(jù)還開發(fā)了數(shù)據(jù)同步工具DataX的插件,能夠幫助用戶將數(shù)據(jù)自動(dòng)寫入到TDengine中。用戶無需修改任何一行代碼,只需要改幾個(gè)配置,即可無縫遷移。
下一步,taosAdapter也將繼續(xù)完善,支持從更多平臺(tái)向TDengine遷移。