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