從實時資料庫轉戰時序資料庫,他陪伴 TDengine 從 1.0 走到 3.0
關於採訪嘉賓
在關勝亮的學生時代,“神童”這個稱號如影隨形,很多人初聽時會覺得這個稱謂略顯誇張,有些人還會認為這是不是就是一種調侃,但是如果你聽說過他的經歷,就會理解這一稱號的意義所在了。
受到教師母親的影響,關勝亮從記事起就“長”在了教室後排,提前開啟了啟蒙教育,這也使得他在四周歲直接就讀了一年級。儘管所在村莊的教育條件非常有限,他仍然憑藉著優異的成績,在 16 週歲就進入了中國科學技術大學化學物理系,並拿到學校和政府合計 13000 元的助學獎金。要知道,2001 年時科大和清北差距並不大,在關勝亮所在的吉林省被並稱為“三校”。更有意義的是,他的求學故事給家鄉燃起了一把希望之火,讓教育觀念薄弱的村裡人發現“原來上學也是孩子可以選擇的出路”。
進入大學後,彼時還是大一新生的關勝亮透過旁聽招聘會,分析出了日後理科學生的工作出路,無非就是留校、研究所、出國幾類,當時科大理科相關專業能夠獲得全額獎學金並出國的比例大約為 20% ~ 30%,似乎也是一個不錯的選擇,但在接觸 C 語言和資料結構的課程後,他發現自己更喜歡坐在電腦旁邊寫點程式。就這樣,關勝亮確定了自己的未來發展方向,併成功從化學物理系轉到了新開設的軟體工程系,開啟了自己的“程式設計師”生涯。
與濤思結緣,始於一個“無奈之舉”
對於關勝亮來說,當初選擇資料庫這個就業方向,其實純粹就是一個“無奈之舉”。
“我研究生就讀於中科院計算所,專業是虛擬現實,本來最對口的方向是一直火到現在的遊戲行業,為了一紙戶口,我進入了一家做實時資料庫的企業,它和時序資料庫(Time Series Database)還不一樣,只能儲存當前時間的資料,歷史資料是儲存在其他系統的。就這樣我一直做了很多年的實時資料庫,一度覺得實時資料庫是明日黃花了。”
雖然這在當時看起來並不是一個明智選擇,但人生也沒有絕對正確的選擇,機會總是留給善於思考且有所準備的人,關勝亮深諳這個道理。“選擇賽道,其實是在考慮如何生產出一個能賣錢的產品,要相信硬核技術永遠都不會過時,只有技術才能帶來新的元素。因此,與其選擇賽道不如沉澱自己,找到自己的核心競爭力在哪裡,看準時機將創業風口與自身專長相結合,技術才是第一生產力。”
2017 年,從 360 過渡到只有幾個人的創業公司濤思資料,他沒有過多猶豫,在發現自己在時序資料、分散式方面的技術儲備,以及在監控領域的業務儲備,正好與這個產品完全匹配後,他欣然選擇了加入。“我想和 Jeff(TDengine 創始人與核心研發陶建輝) 一起,開發出一個行業領先的資料庫產品,重新點亮我的職業生涯,讓我十餘年的知識積累能夠發揮出更大的作用。”
到現在,關勝亮加入濤思也有了 6 年時間,而在這 6 年時間中,他也確實將自己的所學毫無保留地傾注在了 TDengine 這款產品之中。
“在濤思資料,我就是一塊磚,哪裡需要哪裡搬。 我組織開發了 TDengine 從 1.0 到 2.0 再到 3.0 的所有迭代版本,哪個模組缺人手,我就會補充到哪裡,不但做架構、管理,也寫了很多程式碼。開啟 Github 倉庫,檢視 TDengine 的貢獻者,可以看到我是排在第一位的。”
可以說,職業生涯到現在為止,專注於 TDengine 的產品研發就是讓關勝亮最有成就感的事情了。讓他欣慰的是,在濤思人的共同努力下,TDengine 已經發展成為了國內一線的時序資料庫產品,在國際上也有了一定的影響力,同時也得到了廣大開發者的認可——GitHub 上已經發展了兩萬多的 star。
在 IT 技術不斷髮展的今天,使用者要想實現一種功能,一定會有很多的待選方案,但想要在一定效能條件下去實現,選擇就不多了。TDengine 之所以硬核,就在於超高效能的資料處理能力。“回想 TDengine 1.x 的版本,產品的穩定性還達不到很高的標準,但我們的首批種子客戶依然堅定的選擇了 TDengine,一方面是對國產自研軟體的支援,另一方面就是市面上沒有可用的替代品。”
這也直觀地說明,物聯網領域確實需要一個能夠真正解決問題的時序資料儲存引擎。而隨著 TDengine 的發展,關勝亮在 6 年前做出的選擇也已經“開花結果”。
與 TDengine 同行,技術更新與海外市場兩手抓
作為一個基礎軟體,尤其是國產基礎軟體,發展難度是顯而易見的,也因此,從選擇加入 TDengine 的那一刻開始,關勝亮就做好了長期紮根打持久戰的準備。
“資料庫產品一定要靠豐富的應用場景,透過時間的沉澱和場景的打磨才能發展起來。好的資料庫是用出來的,不是靠幾個程式碼高手設計出來的,決定資料庫企業未來的是有效使用者和應用場景,我們要做的就是在真實的場景中解決使用者的痛點問題。”
從這一點出發,TDengine 開啟了核心程式碼完全開源的發展模式,獲得了數以千計的真實使用者場景,如關勝亮一般的 TDengine 技術人員在這些案例的基礎上總結提煉,抽象出使用者的真正需求,不斷調整迭代產品,不受定製開發等短期利益誘惑,始終保證著將核心研發力量投入在產品的主線發展方向上。
“開源軟體想要獲得長期發展,成為一個企業敢用的產品,背後一定需要一個強力的組織支撐,用以保證軟體的架構穩定,保證程式碼質量和測試覆蓋,保證軟體缺陷可以穩定且及時的得到處理,越是功能強大、架構複雜的 2B 軟體越是如此。”
藉助開源的力量,TDengine 發展了大量的使用者,為便於和使用者交流溝通,濤思資料目前已運營了 20 多個使用者群,各個使用者群日常都非常活躍。以 TDengine 3.0 為例,一經發布,每天就有 5~600 人安裝試用 TDengine,不到兩週的時間已經收集了 100 個最佳化建議,進一步推動著產品的快速迭代。
“有的競品攻擊我們,說 TDengine 迭代速度太快,產品怎麼可能穩定。這種說法非常有意思,產品穩定與否,是和質量體系有關的,和迭代速度關係不大。沒有使用者的使用,不要說大版本的迭代,小版本的迭代都成了無源之水。在國內競品把目光瞄準 TDengine 時,TDengine 已經把目光瞄準了全球。”
從聯合創始人的身份出發,關勝亮表示 TDengine 接下來的發展道路也已經非常清晰了。“TDengine 在國內時序資料庫領域已經有了一定的江湖地位,但是海外市場的擴充還很有限。隨著 TDengine 3.0 穩定性和易用性逐步增加,我對海外市場非常有信心,中國 IT 產業約佔全球市場的 20%,海外市場具備更大的發展空間。 在 IoT 領域,TDengine 已經解決了基礎的資料讀寫的問題,下一步就是引入時序資料分析,在更廣闊的領域推動技術的發展。”
再起航:繼續“六”下去
發展 6 年,TDengine 也已經沉澱了幾十萬行程式碼了,在產品架構設計和演進上,關勝亮也有著“經驗之談”。“在做開發之前,一定要考慮是在做一個產品,還是在做一個專案。作為專案,你可以選擇一些主流的開源產品,不要過度設計,讓專案可以快速上線;但作為一個產品,關鍵部分還是要以自研為主,控制核心程式碼,讓迭代升級快速有效。”
他以 TDengine 為例進行了說明,“一個裝置一張表的資料模型,作為其最核心的創新點,在三個大版本迭代時都沒有變化;但是在工程實現方面,其後設資料管理模組,從 1.0 的集中式管理,到 2.0 的半分散式管理,再到 3.0 的全分散式管理,完全是業務需求驅動的。 集中式管理可以處理百萬時間線,半分散式管理可以處理千萬時間線,而全分散式則可以處理上億的時間線,徹底解決了業界困擾的高基數問題。”
從他的陳述中我們可以看到,TDengine 從 1.0、2.0 到 3.0 的演進,不是簡單的數字堆積,每個版本都是真真正正的質的提升。它的成功不只是技術實現細節,更在於研發人員對時序資料特點的抽象融合,對於物聯網業務的深度理解。
行文至此,關勝亮與 TDengine 的第一個六年故事就告一段落了,而他們的下一個六年也已經起航。對於關勝亮來說,他的終極目標就是讓 TDengine 成為時序資料領域的事實標準,成為全球第一的時序資料庫,而他也將為此繼續奮鬥在產品第一線。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014783/viewspace-2989278/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實時資料庫與時序資料庫資料庫
- .NET使用TDengine時序資料庫和SqlSugar操作TDengine資料庫SqlSugar
- 時序資料庫 TDengine 3.0 引數體系使用方式彙總資料庫
- 時序資料庫 TDengine 3.0.2.0 版本正式釋出資料庫
- 時序資料庫資料庫
- 時序資料庫 TDengine 簽約新奧新智資料庫
- 時序資料庫influxdb資料庫UX
- 如何使用 taosKeeper 做好監控工作,時序資料庫 TDengine 3.0 監控工具詳解資料庫
- TDengine3.0:解決高基數問題的時序資料庫設計思路資料庫
- 初識時序資料庫資料庫
- MongoDB資料庫之主從複製配置實戰【轉】MongoDB資料庫
- 時序資料庫-01-時序資料庫有哪些?為什麼要使用資料庫
- 金航數碼選擇應用 TDengine 時序資料庫,改造現有資料庫架構資料庫架構
- Prometheus時序資料庫-資料的查詢Prometheus資料庫
- QuestDB時序資料庫介紹資料庫
- 時間序列化資料庫選型?時序資料庫的選擇?資料庫
- 時序資料庫 TDengine 簽約華銳技術,助力行情資料處理分析資料庫
- 時序資料庫 TDengine 榮獲 2022 金猿獎兩大獎項資料庫
- 新一代開源時序資料庫TDengine有哪些優勢?資料庫
- 時序資料庫的叢集方案?資料庫
- 資料庫系列:主從延時最佳化資料庫
- 從零寫一個時間序列資料庫資料庫
- OceanBase 生態產品:時序資料庫CeresDB 正式釋出 1.0 版本資料庫
- 時序資料庫連載系列:當SQL遇到時序TimescaleDB資料庫SQL
- 時序資料庫TDengine的叢集使用經驗分享,附上開源版本資料庫
- 從前世今生聊一聊,大廠為啥親睞時序資料庫資料庫
- 聊一聊時序資料庫和TimescaleDB資料庫
- 時序資料庫的秘密 —— 快速檢索資料庫
- 聊聊時序資料庫發展情況資料庫
- 時序資料庫InfluxDB的基本語法資料庫UX
- Spring Boot中使用時序資料庫InfluxDBSpring Boot資料庫UX
- 時序資料庫之InfluxDB的基本操作資料庫UX
- 新聞速遞 | KaiwuDB 1.0 - 時序資料庫系列產品正式釋出AI資料庫
- 大疆車載從多家資料庫中選定 TDengine資料庫
- 雲原生時代,資料庫該何去何從?資料庫
- 時序資料庫 TDengine SQL 查詢語法規則彙總,官方教程奉上!資料庫SQL
- 使用者投稿——詳解我瞭解的 TDengine 以及它所在的時序資料庫“戰場”資料庫
- 墨天輪國產資料庫沙龍 | 張瑋絢:TDengine,高效能、分散式、支援SQL的時序資料庫資料庫分散式SQL