今天(tian)12月(yue)17日(ri),對我來(lai)說,一(yi)特(te)別的(de)日(ri)子(zi)。因為三年(nian)前的(de)今天(tian),我參加溪(xi)山天(tian)使投資(zi)年(nian)會,在(zai)會場上(shang)聽著精彩創(chuang)業故事(shi)的(de)同時,在(zai)自(zi)己的(de)Mac筆記本上(shang),安裝了(le)Ubuntu,安裝了(le)熟悉(xi)的(de)vi, cscope, gdb等(deng)開(kai)(kai)發(fa)工具,搭建好了(le)開(kai)(kai)發(fa)環境(jing),正式(shi)開(kai)(kai)始寫代碼。我得意(yi)地告訴(su)參會的(de)朋友(you)們,我不(bu)想(xiang)做天(tian)使投資(zi)人,而(er)是要重出江湖,親自(zi)操刀,寫一(yi)個巨牛(niu)的(de)專(zhuan)門針對物聯網場景的(de)大數據處理引擎,希望(wang)今后世界上(shang)90%的(de)數據都用(yong)我陶建輝開(kai)(kai)發(fa)的(de)軟件(jian)來(lai)存儲和查詢。
沒想(xiang)到(dao),一(yi)(yi)晃三(san)(san)年(nian)就(jiu)過(guo)去了。從我(wo)(wo)的(de)(de)第一(yi)(yi)行代(dai)(dai)碼(ma)(ma)起(qi),TDengine整個(ge)(ge)系統的(de)(de)代(dai)(dai)碼(ma)(ma)量(liang)(liang)已(yi)(yi)經超(chao)過(guo)二十萬行,我(wo)(wo)自己貢獻的(de)(de)代(dai)(dai)碼(ma)(ma)量(liang)(liang)早已(yi)(yi)超(chao)過(guo)三(san)(san)萬行。開心(xin)的(de)(de)是,我(wo)(wo)自己只(zhi)是開了一(yi)(yi)個(ge)(ge)頭,憑借物(wu)聯網數據處理的(de)(de)巨大市場空間,憑借“舍得”,憑借“三(san)(san)顧茅廬”的(de)(de)誠(cheng)意(yi)和決心(xin),吸引了一(yi)(yi)批頂(ding)級的(de)(de)人(ren)才加(jia)入(ru)進來(lai)。現有(you)(you)團(tuan)(tuan)隊的(de)(de)14個(ge)(ge)人(ren),中(zhong)(zhong)(zhong)國科大本科畢業的(de)(de)就(jiu)有(you)(you)7位(wei),其(qi)中(zhong)(zhong)(zhong)5位(wei)還全(quan)部在美國留學、工作(zuo)過(guo),還有(you)(you)兩位(wei)獲得過(guo)中(zhong)(zhong)(zhong)國科大最高榮譽的(de)(de)郭沫若獎學金(jin),其(qi)他同(tong)事都來(lai)自清華、上海交大、中(zhong)(zhong)(zhong)科院計算所等學府或科研機(ji)構,還有(you)(you)三(san)(san)位(wei)在華為工作(zuo)都超(chao)過(guo)10年(nian)之久,14個(ge)(ge)人(ren)中(zhong)(zhong)(zhong)有(you)(you)3位(wei)博士,7位(wei)碩士。三(san)(san)年(nian)前我(wo)(wo)一(yi)(yi)個(ge)(ge)人(ren)的(de)(de)夢想(xiang),已(yi)(yi)經變成了整個(ge)(ge)團(tuan)(tuan)隊的(de)(de)夢想(xiang)和目(mu)標。更(geng)可喜的(de)(de)是,我(wo)(wo)一(yi)(yi)個(ge)(ge)50歲(sui)的(de)(de)程序員,能天天與90后、80后混在一(yi)(yi)起(qi),討論(lun)問題,解BUG,讓我(wo)(wo)頓覺年(nian)輕(qing)了20歲(sui)。
在動手寫(xie)下(xia)第一(yi)(yi)(yi)行(xing)代(dai)碼之前,我已(yi)經對物(wu)聯(lian)網、工業互聯(lian)網的(de)(de)數(shu)(shu)據(ju)處理做了幾個月的(de)(de)調研(yan),認為大家普遍采(cai)用流行(xing)的(de)(de)Hadoop系(xi)統是完全不(bu)合適(shi)的(de)(de),開(kai)發(fa)效率低,運(yun)行(xing)效率差,而且運(yun)維成本很高(gao)。我發(fa)現物(wu)聯(lian)網數(shu)(shu)據(ju)具有時序、結(jie)構化、不(bu)更(geng)新等眾多特(te)點,如果(guo)采(cai)取“一(yi)(yi)(yi)個設(she)(she)備(bei)一(yi)(yi)(yi)張表”的(de)(de)數(shu)(shu)據(ju)模型(xing),采(cai)用“超(chao)級(ji)表”來(lai)(lai)解決(jue)多設(she)(she)備(bei)之間的(de)(de)數(shu)(shu)據(ju)聚合分析問題,一(yi)(yi)(yi)定能設(she)(she)計出(chu)一(yi)(yi)(yi)個極為高(gao)效的(de)(de)物(wu)聯(lian)網數(shu)(shu)據(ju)處理系(xi)統。想(xiang)到(dao)5G的(de)(de)到(dao)來(lai)(lai),會(hui)讓聯(lian)網設(she)(she)備(bei)的(de)(de)數(shu)(shu)量指數(shu)(shu)級(ji)上升,今(jin)后(hou)世界(jie)上90%的(de)(de)數(shu)(shu)據(ju)都將是物(wu)聯(lian)網設(she)(she)備(bei)產生的(de)(de),頓(dun)覺熱血沸騰。雖我已(yi)創業兩次(ci),并成功退出(chu),但(dan)實(shi)在不(bu)想(xiang)錯過這巨(ju)大的(de)(de)機會(hui),抱著(zhu)“Leave a dent in the world”的(de)(de)想(xiang)法,我再次(ci)沖(chong)向(xiang)戰(zhan)場,并且沖(chong)到(dao)了最前線(xian)。
雖然(ran)我已經很清晰(xi)原理、設計思路,并(bing)且(qie)是研發(fa)(fa)老炮一(yi)個(ge)(ge),但(dan)(dan)直(zhi)到實(shi)現時(shi)(shi)才發(fa)(fa)現,技(ji)術難度超(chao)過預期。我寫了(le)一(yi)個(ge)(ge)高效的存(cun)儲引擎,但(dan)(dan)“導入歷(li)(li)史數據(ju)”卻(que)是一(yi)個(ge)(ge)坑最多(duo)(duo)的地方,場景實(shi)在太多(duo)(duo),用(yong)戶可(ke)能(neng)導入的數據(ju)在內存(cun),也(ye)(ye)有可(ke)能(neng)在硬盤,也(ye)(ye)有可(ke)能(neng)跨多(duo)(duo)個(ge)(ge)文件(jian),經歷(li)(li)了(le)無數的BUG之后,由團(tuan)(tuan)隊的90后,科大郭沫若(ruo)獎學金獲得(de)者(zhe)程洪澤重寫歷(li)(li)史數據(ju)處(chu)理模塊。節點(dian)之間的實(shi)時(shi)(shi)數據(ju)同(tong)步,我重構(gou)了(le)三次(ci),才得(de)以讓節點(dian)進(jin)行同(tong)步之時(shi)(shi),不影響(xiang)數據(ju)的實(shi)時(shi)(shi)插入和(he)查詢;客(ke)戶端驅動(dong),因(yin)為同(tong)步、異(yi)步的各(ge)種調用(yong)糾纏(chan)在一(yi)起,我重構(gou)了(le)兩次(ci),團(tuan)(tuan)隊的廖博士在我的基礎上又(you)做(zuo)了(le)很多(duo)(duo)調整。Kill一(yi)個(ge)(ge)正在進(jin)行的查詢操作,因(yin)為分布式(shi)、多(duo)(duo)線(xian)程、資源管理的問題(ti),實(shi)現的難度也(ye)(ye)是遠遠超(chao)過了(le)我的預期。但(dan)(dan)這三年(nian),每次(ci)遇到一(yi)個(ge)(ge)難啃的技(ji)術問題(ti),我反而很開心,因(yin)為它意味著產品的門(men)檻又(you)高了(le)一(yi)點(dian),如(ru)果我們能(neng)把這些難題(ti)都完美解決,這才顯示出我們團(tuan)(tuan)隊真正的價(jia)值。
三年(nian)已(yi)經過(guo)去,前面兩(liang)年(nian)在(zai)(zai)(zai)埋頭寫程序(xu),最近一年(nian)我(wo)發力在(zai)(zai)(zai)推廣(guang)上,而(er)(er)且在(zai)(zai)(zai)今年(nian)7月份,我(wo)們做出了(le)極其正確的(de)(de)(de)(de)決定,宣布將TDengine的(de)(de)(de)(de)核心(xin)代碼開(kai)(kai)源(yuan)。開(kai)(kai)源(yuan)還不(bu)(bu)(bu)是(shi)我(wo)的(de)(de)(de)(de)一時沖動,而(er)(er)是(shi)深思熟(shu)慮(lv)、謀劃已(yi)久(jiu)。因(yin)為(wei)作為(wei)底層(ceng)基礎軟件(jian),不(bu)(bu)(bu)開(kai)(kai)源(yuan),完(wan)全得(de)不(bu)(bu)(bu)到用(yong)戶(hu)的(de)(de)(de)(de)信任,而(er)(er)且市(shi)場(chang)上已(yi)經有(you)相(xiang)當(dang)多開(kai)(kai)源(yuan)的(de)(de)(de)(de)同類產品,不(bu)(bu)(bu)開(kai)(kai)源(yuan),推廣(guang)極其之難。令(ling)我(wo)興奮的(de)(de)(de)(de)是(shi),開(kai)(kai)源(yuan)后(hou),TDengine獲得(de)的(de)(de)(de)(de)反(fan)饋(kui)遠超預期(qi)。我(wo)曾(ceng)和團(tuan)隊說(shuo),開(kai)(kai)源(yuan)后(hou),我(wo)們爭取(qu)一年(nian)的(de)(de)(de)(de)時間能在(zai)(zai)(zai)GitHub上獲得(de)5000個star就不(bu)(bu)(bu)錯了(le),但(dan)沒(mei)想到,僅僅三個月時間,TDengine的(de)(de)(de)(de)star就超過(guo)一萬,fork數超過(guo)了(le)2800。我(wo)們不(bu)(bu)(bu)僅看到了(le)來自(zi)中國用(yong)戶(hu)的(de)(de)(de)(de)反(fan)饋(kui),還看到了(le)來自(zi)美國、印度(du)、西班牙、意大利、捷(jie)克等(deng)很多國家(jia)的(de)(de)(de)(de)程序(xu)員的(de)(de)(de)(de)反(fan)饋(kui)。每(mei)天起來后(hou),第一件(jian)事就是(shi)看GitHub,看是(shi)否有(you)人報(bao)告(gao)新(xin)的(de)(de)(de)(de)問(wen)題。每(mei)當(dang)有(you)人報(bao)告(gao)BUG,我(wo)一點的(de)(de)(de)(de)沮喪都(dou)沒(mei)有(you),反(fan)而(er)(er)是(shi)開(kai)(kai)心(xin),因(yin)為(wei)說(shuo)明有(you)人在(zai)(zai)(zai)用(yong)TDengine,而(er)(er)且在(zai)(zai)(zai)乎我(wo)們產品,這是(shi)我(wo)最希望(wang)看到的(de)(de)(de)(de)。哪怕(pa)TDengine的(de)(de)(de)(de)商(shang)業化不(bu)(bu)(bu)成功,但(dan)只要有(you)程序(xu)員喜歡(huan)這款(kuan)產品,愛用(yong)這款(kuan)產品,那就是(shi)我(wo)個人以及整個團(tuan)隊最大的(de)(de)(de)(de)成功。
開(kai)源,不(bu)僅讓TDengine獲得了(le)市場的(de)(de)(de)(de)認(ren)知,而且讓產品的(de)(de)(de)(de)質量得到(dao)了(le)前所(suo)未有(you)的(de)(de)(de)(de)提升。雖然(ran)在開(kai)源之前,我們做了(le)大(da)量的(de)(de)(de)(de)測(ce)(ce)試,而且好幾個(ge)大(da)的(de)(de)(de)(de)客(ke)戶已經正(zheng)式上線,但由于(yu)每個(ge)用戶的(de)(de)(de)(de)場景不(bu)一樣,開(kai)源后,TDengine仍然(ran)暴露(lu)出(chu)了(le)很多問(wen)題,在GitHub上遞交的(de)(de)(de)(de)問(wen)題數量已經超過1000。如果(guo)沒有(you)開(kai)源,這些(xie)問(wen)題則需(xu)要(yao)積累更多的(de)(de)(de)(de)客(ke)戶,需(xu)要(yao)更長時間的(de)(de)(de)(de)在線運營才能暴露(lu)出(chu)來。由于(yu)開(kai)源,整個(ge)團(tuan)隊(dui)(dui)對產品的(de)(de)(de)(de)品質更加關(guan)心(xin),像關(guan)勝亮(liang)、李暉(hui)等(deng)人,每次遞交代碼,都是小(xiao)心(xin)翼翼。由于(yu)開(kai)源,不(bu)少(shao)外部貢獻者(zhe)參與進來,迫使團(tuan)隊(dui)(dui)必須建(jian)立(li)(li)完善(shan)的(de)(de)(de)(de)開(kai)發(fa)流程。潘(pan)方,美國密歇根大(da)學博(bo)士畢業(ye),在NASA工作(zuo)兩年(nian)后,加入團(tuan)隊(dui)(dui),負責(ze)起了(le)QA的(de)(de)(de)(de)工作(zuo),建(jian)立(li)(li)起了(le)產品發(fa)布、CI/CD、自(zi)動化測(ce)(ce)試、代碼靜態檢查等(deng)全套流程,團(tuan)隊(dui)(dui)雖小(xiao),但已經不(bu)再(zai)是程序員小(xiao)作(zuo)坊,不(bu)再(zai)局限(xian)于(yu)北京的(de)(de)(de)(de)辦(ban)公(gong)室(shi)。

這(zhe)一年(nian),為推廣TDengine,我(wo)(wo)(wo)參加了太多(duo)的(de)(de)(de)活動。無(wu)論規模大小,無(wu)論線上線下,在(zai)介紹產(chan)品時,我(wo)(wo)(wo)總是(shi)滿懷激(ji)情(qing)。很多(duo)人好奇,問我(wo)(wo)(wo)如何能做(zuo)到(dao)(dao)這(zhe)一點。其實(shi),沒有(you)什(shen)么“靈丹妙(miao)藥(yao)”,唯一就是(shi)要對自己研發的(de)(de)(de)產(chan)品特別熱(re)愛,對產(chan)品有(you)足夠(gou)的(de)(de)(de)信心。具備足夠(gou)的(de)(de)(de)熱(re)愛和(he)信心后(hou),你每(mei)(mei)(mei)一句話、每(mei)(mei)(mei)一個表情(qing)、每(mei)(mei)(mei)一個手勢(shi),都能把激(ji)情(qing)張揚出來。團隊(dui)的(de)(de)(de)90后(hou)江燚(yi)、80后(hou)李(li)廣、以及(ji)其他團隊(dui)成(cheng)員(yuan),甚(shen)至(zhi)我(wo)(wo)(wo)們不愛說(shuo)話的(de)(de)(de)廖(liao)博(bo)士,受(shou)我(wo)(wo)(wo)的(de)(de)(de)影(ying)響,每(mei)(mei)(mei)次介紹產(chan)品,也都是(shi)激(ji)情(qing)澎(peng)湃,信心滿滿。三年(nian)的(de)(de)(de)努(nu)力,我(wo)(wo)(wo)終(zhong)于成(cheng)功地將我(wo)(wo)(wo)個人的(de)(de)(de)激(ji)情(qing)轉化為了整個團隊(dui)的(de)(de)(de)激(ji)情(qing),也希(xi)望我(wo)(wo)(wo)們團隊(dui)在(zai)擴(kuo)充到(dao)(dao)一百人、一千人之(zhi)后(hou),這(zhe)股激(ji)情(qing)依(yi)然不減。?
中(zhong)國2B軟件的(de)銷(xiao)售(shou)(shou)難,底層軟件的(de)銷(xiao)售(shou)(shou)更(geng)(geng)難。但我們(men)很幸運,從2018年(nian)8月(yue)發(fa)(fa)(fa)布第一(yi)個版(ban)本到(dao)現(xian)在(zai),已(yi)(yi)經(jing)有(you)了(le)幾(ji)十家付費客戶(hu),免費用(yong)(yong)戶(hu)至少幾(ji)百家。而且可(ke)喜的(de)是,最(zui)近(jin)幾(ji)個月(yue)的(de)銷(xiao)售(shou)(shou)訂單完全是依(yi)靠兩位(wei)銷(xiao)售(shou)(shou)大將(jiang)拿下(xia)的(de),沒有(you)我的(de)任何參(can)與。為(wei)什么有(you)人(ren)敢用(yong)(yong)我們(men)軟件呢?我細細一(yi)想,除我們(men)產(chan)(chan)品本身(shen)的(de)幾(ji)大優勢之(zhi)外,有(you)幾(ji)大原因(yin),1:傳(chuan)播(bo)方式(shi)發(fa)(fa)(fa)生改變(bian),我們(men)通過(guo)微博、微信、甚至直播(bo)等新(xin)(xin)(xin)媒體(ti)(ti)做了(le)很多傳(chuan)播(bo),TDengine在(zai)開發(fa)(fa)(fa)者(zhe)社(she)區里有(you)一(yi)定的(de)知名度(du),而且開源后,傳(chuan)播(bo)力度(du)更(geng)(geng)大,讓(rang)更(geng)(geng)多的(de)開發(fa)(fa)(fa)者(zhe)了(le)解到(dao)我們(men);2:產(chan)(chan)品體(ti)(ti)驗(yan)的(de)方式(shi)發(fa)(fa)(fa)生了(le)改變(bian),用(yong)(yong)戶(hu)可(ke)以(yi)下(xia)載源碼自己編譯(yi),也可(ke)以(yi)下(xia)載安(an)裝包(bao)或鏡像,安(an)裝極其(qi)簡單,還可(ke)以(yi)通過(guo)云服務的(de)方式(shi),連(lian)安(an)裝都(dou)不需要,可(ke)以(yi)說,用(yong)(yong)戶(hu)體(ti)(ti)驗(yan)的(de)門檻幾(ji)乎沒有(you);3:中(zhong)國缺少自己的(de)底層軟件,因(yin)此當我們(men)超強實力的(de)產(chan)(chan)品推(tui)出來之(zhi)后,受(shou)到(dao)業界的(de)高度(du)關注;4:中(zhong)國開發(fa)(fa)(fa)者(zhe)群體(ti)(ti)已(yi)(yi)經(jing)很大,而且現(xian)在(zai)的(de)決(jue)策者(zhe)一(yi)般(ban)都(dou)很了(le)解或很懂(dong)技(ji)術(shu)(shu),有(you)一(yi)定數量的(de)人(ren)樂意(yi)接受(shou)新(xin)(xin)(xin)技(ji)術(shu)(shu)或新(xin)(xin)(xin)產(chan)(chan)品。
三年過去,TDengine要(yao)(yao)獲得成(cheng)(cheng)功,需要(yao)(yao)做的(de)事情(qing)還(huan)有太多太多。我(wo)們要(yao)(yao)提(ti)供各式(shi)各樣的(de)連接(jie)器,讓(rang)TDengine與現(xian)有技術生態能無縫對接(jie);要(yao)(yao)提(ti)供事件驅動(dong)的(de)流計算(suan)(suan),完全一站(zhan)式(shi)解決物聯網行業的(de)數(shu)據(ju)處理(li)問(wen)題;不(bu)僅要(yao)(yao)解決云端(duan)大數(shu)據(ju)問(wen)題,還(huan)要(yao)(yao)解決邊緣計算(suan)(suan)的(de)問(wen)題。更(geng)重(zhong)要(yao)(yao)的(de)是,我(wo)們需要(yao)(yao)100%擁抱云服(fu)務。我(wo)堅信,開源+云服(fu)務才是基礎(chu)軟件的(de)未來,離開兩條中的(de)任何一條,都很(hen)難讓(rang)濤思數(shu)據(ju)成(cheng)(cheng)為(wei)獨角獸。
期(qi)(qi)望有(you)一天(tian),TDengine的(de)(de)(de)貢獻者能遍布(bu)全(quan)球(qiu),一群不同(tong)文(wen)化背景、不同(tong)膚(fu)色(se)的(de)(de)(de)程序員,一起協同(tong)開發,將(jiang)TDengine做(zuo)到(dao)(dao)極致,為全(quan)球(qiu)90%的(de)(de)(de)數據處理提供一高效、高速、簡單易用(yong)的(de)(de)(de)引(yin)擎。更期(qi)(qi)望有(you)一天(tian),TDengine的(de)(de)(de)用(yong)戶遍布(bu)全(quan)球(qiu),任何開發者,只要是處理機器(qi)、傳感器(qi)產生的(de)(de)(de)數據,立馬(ma)想(xiang)到(dao)(dao)的(de)(de)(de)就是TDengine,那一天(tian)便(bian)是TDengine的(de)(de)(de)成功之(zhi)日。
陶建輝
2019年(nian)12月17日于(yu)南京(jing)出差途中


























