國產(chǎn)開源大數(shù)據(jù)平臺TD全面剖析
掃描二維碼
隨時隨地手機(jī)看文章
近期,IDC 對物聯(lián)網(wǎng)支出作出預(yù)測,2019 年全球物聯(lián)網(wǎng)支出將達(dá)到 7450 億美元,IDC 報告表明,各行業(yè)的物聯(lián)網(wǎng)解決方案支出占比持續(xù)提升,物聯(lián)網(wǎng)的預(yù)期增長仍然很高。物聯(lián)網(wǎng)的下一章剛剛開始,在 濤思數(shù)據(jù) 創(chuàng)始人陶建輝看來,未來 5 年內(nèi),世界上 90% 的數(shù)據(jù)都會是物聯(lián)網(wǎng)采集的數(shù)據(jù),于是他們打造了 TDengine。這是一個專為物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、IT 運(yùn)維等設(shè)計和優(yōu)化的大數(shù)據(jù)平臺。除了高性能的核心時序數(shù)據(jù)庫功能,TDengine 還提供緩存、數(shù)據(jù)訂閱、流式計算等功能,旨在最大程度地減少研發(fā)和運(yùn)維的工作量。從 7 月 12 日在 ArchSummit 全球架構(gòu)師峰會(深圳站)2019 宣布開源至今兩周時間,TDengine 開源項目 在 GitHub 上已經(jīng)收獲了超過 6800 個 Star,F(xiàn)ork 數(shù)超過 1700,在業(yè)內(nèi)引發(fā)熱議。
InfoQ 記者有幸在 ArchSummit 全球架構(gòu)師峰會(深圳站)2019 現(xiàn)場采訪到了濤思數(shù)據(jù)創(chuàng)始人陶建輝,聽他分享 TDengine 性能做到 Hadoop 十倍背后的技術(shù)創(chuàng)新、TDengine 開源的初衷以及未來對 TDengine 商業(yè)化推廣和開源社區(qū)的規(guī)劃。
InfoQ:您好,非常感謝您參加 ArchSummit 全球架構(gòu)師峰會(深圳站)2019 的視頻采訪,首先請您做一下簡單的自我介紹,包括您的工作經(jīng)歷和創(chuàng)業(yè)經(jīng)歷。
陶建輝:大家好,我叫陶建輝,我是濤思數(shù)據(jù)的創(chuàng)始人。今天很高興來到現(xiàn)場與大家互動。我是 86 年考上大學(xué),94 年到美國留學(xué),97 年開始在芝加哥摩托羅拉工作,后來又到了 3Com 公司。我在 2008 年回到北京創(chuàng)業(yè),前面做過兩家創(chuàng)業(yè)公司,一個叫和信,做的是手機(jī)實時消息推送服務(wù),后來這家公司被聯(lián)發(fā)科收購了;13 年我又重新創(chuàng)業(yè),做了一家做智能硬件的公司,叫快樂媽咪,主要是做母嬰健康大數(shù)據(jù)服務(wù)平臺,這家公司在 16 年年初被太平洋網(wǎng)絡(luò)收購了。然后我休息了一年。我覺得物聯(lián)網(wǎng)一定會發(fā)展起來,隨著數(shù)據(jù)量越來越大,需要一個新的方式來處理物聯(lián)網(wǎng)采集的海量數(shù)據(jù),這是一個機(jī)會。再結(jié)合我前面那家創(chuàng)業(yè)公司的經(jīng)驗,我覺得我還沒老。那時候,我正好 49 歲,我覺得我可以自己做,而且我認(rèn)為現(xiàn)在大家的處理物聯(lián)網(wǎng)數(shù)據(jù)的方法不太合適,我找到了一種更好的創(chuàng)新方法來存儲和處理這些物聯(lián)網(wǎng)數(shù)據(jù),因此我就自己一個人寫了兩個月代碼,來證明我的想法是對的。然后我就開始融資、組建團(tuán)隊,濤思數(shù)據(jù)就是在 17 年 5 月份正式成立的。
InfoQ:所以 TDengine 這款產(chǎn)品一開始的定位就是專門為物聯(lián)網(wǎng)而設(shè)計的嗎?
陶建輝:物聯(lián)網(wǎng)是一個很寬泛的概念,包含了車聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、IT 智能運(yùn)維監(jiān)測等,只要通過各種機(jī)器設(shè)備傳感器采集數(shù)據(jù),都屬于這個范疇。因為我上一家創(chuàng)業(yè)公司做的是智能硬件,需要采集各種各樣的數(shù)據(jù)送到云端,做健康數(shù)據(jù)的分析。后來我又了解了很多物聯(lián)網(wǎng)項目,包括工業(yè)互聯(lián)網(wǎng)、智能硬件、智能家居等項目,這里面共性的東西實際上就是數(shù)據(jù)的處理,怎么存儲、怎么高效地查詢計算和分析。濤思數(shù)據(jù)這兩年多的時間,一直在做的就是這樣一件事情。
InfoQ:TDengine 是什么時候正式對外推出可用產(chǎn)品的?從 TDengine 開始研發(fā),到推出對外可用的產(chǎn)品,一共花了多長時間?
陶建輝:我們第一款產(chǎn)品真正可以交給用戶使用是在 2018 年 8 月份,從一開始研發(fā)到對外推出可用的產(chǎn)品大概花了一年半的時間。
InfoQ:在 TDengine 的研發(fā)過程中,團(tuán)隊遇到最大的困難是什么?這背后有什么故事可以跟我們分享嗎?
陶建輝:最大的困難就是技術(shù),技術(shù)挑戰(zhàn)相當(dāng)大。我們這款產(chǎn)品看上去很簡單,不就是把各種采集的數(shù)據(jù)存儲起來再做查詢,實際上因為這屬于底層軟件,所以它的技術(shù)挑戰(zhàn)很大。比方說我們經(jīng)常要做一百億條記錄的插入、查詢測試,這一百億條記錄如果中間丟了一條,你要找出丟的是哪一條、為什么丟,涉及的模塊很多,技術(shù)挑戰(zhàn)相當(dāng)大。
我可以分享一個我們在 TDengine 開發(fā)過程中的小故事。因為我自己在做這個產(chǎn)品,它主要強(qiáng)調(diào)性能和易用性這兩個方面。如果性能不夠好,那它就沒有代替其他軟件的可能,我就舉一個性能的例子。有一次我們團(tuán)隊一個工程師,改了一行代碼,他改的那行代碼還是我寫的,大家都沒有意識到,這行代碼讓整個產(chǎn)品的性能下降了一半都不止。整個團(tuán)隊都急死了,花了整整一天時間,回滾代碼查看,最后才找出原因并修復(fù)了問題。
InfoQ:在性能測試報告中,你們對比了 TDengine 和 MySQL、ClickHouse 等開源數(shù)據(jù)庫產(chǎn)品的讀寫性能,這是否意味著這些產(chǎn)品是 TDengine 的對標(biāo)對象?
陶建輝:雖然 MySQL、ClickHouse 這些是大家更熟悉的開源數(shù)據(jù)庫產(chǎn)品,但我們真正對標(biāo)的是測試報告上寫的 InfluxDB、OpenTSDB,包括阿里的 HiTSDB 等產(chǎn)品,這些才是我們真正對標(biāo)的產(chǎn)品。但是也不完全公平,因為這些產(chǎn)品只是一個數(shù)據(jù)庫。TDengine 的核心功能也是個數(shù)據(jù)庫,但除了數(shù)據(jù)庫之外,TDengine 還支持很多其他功能,比如說大數(shù)據(jù)處理所需要的緩存、消息隊列、流式計算等一系列功能。我們的性能測試報告針對的是數(shù)據(jù)庫這項功能,因為數(shù)據(jù)庫測試相對標(biāo)準(zhǔn)化,一般看的就是插入速度、查詢速度,所以我們基于此做了對比。目前 TDengine 在大數(shù)據(jù)領(lǐng)域還沒有真正完全對標(biāo)的對象,我們是全球第一個真正做物聯(lián)網(wǎng)大數(shù)據(jù)平臺的產(chǎn)品。 這也是為什么我們不把自己叫做數(shù)據(jù)庫的原因。