无码人妻精品一区二区三18禁,影音先锋男人AV橹橹色,污污污污污污www网站免费,日韩成人av无码一区二区三区,欧美性受xxxx狂喷水

啃源碼到主導查詢引擎優化,他靠什么贏得 CEO Award?

爾悅

2025-04-25 /

他曾在(zai)華為寫協議、在(zai)聯想設計全球負載均衡系(xi)統、在(zai) Oracle 深入區(qu)塊(kuai)鏈(lian)核(he)心模塊(kuai),參與過多個重量級(ji)項目。但(dan)直到(dao)他加入濤思數據,才真正(zheng)開啟了一段從“技術精英(ying)”到(dao)“團隊(dui)帶(dai)頭人”的深度蛻變旅程。

2024 年,潘魏成為首屆 TDengine 年度“CEO AWARD”的獲得者之一(yi)。這(zhe)份榮譽不(bu)僅(jin)是對他(ta)技術(shu)貢獻的(de)(de)肯定,也(ye)象征著(zhu)他(ta)在(zai)推動查詢引擎不(bu)斷(duan)進化、帶領團(tuan)隊(dui)突破極限(xian)方(fang)面的(de)(de)認可。但(dan)他(ta)和 TDengine 的(de)(de)故事還要(yao)從 2020 年(nian)的(de)(de)那個秋天講起。

啃源碼到主導查詢引擎優化,他靠什么贏得 CEO Award? - TDengine Database 時序數據庫

“看起來很酷,也很有挑戰”

2020 年,在 Oracle 工作了七年之后,潘魏短暫(zan)加(jia)入新東(dong)方(fang)在線,從事流媒體邊緣節點的開(kai)發。但真(zhen)正的轉(zhuan)折,發生在一次老(lao)同事的推薦中。

“他告訴我濤思在做一個時序數據庫,我就去官網看了一下。”潘魏回憶道。當時他對時序數據庫這個概念并不熟悉,但越了解越覺得:這玩意兒很酷,而且特別有挑戰性。“開源、高性能、國產時序數據庫,這不正是一個程序員應該投身的事業嗎?”更重(zhong)要的(de)是,他(ta)敏銳地捕捉到(dao)了趨勢:“隨著物聯(lian)網(wang)、車聯(lian)網(wang)等產業的(de)發(fa)展,數(shu)據呈指數(shu)級(ji)增長(chang),時序數(shu)據庫(ku)正是應對這類場(chang)景的(de)核心工具。這個(ge)方(fang)向,值得一搏。”

剛入職時,潘魏被安(an)排到交(jiao)付組鍛煉(lian)一個(ge)月。那段時間主(zhu)要是了解(jie)客戶(hu)、熟悉產品,但(dan)他(ta)作為程序員的“本能”讓他(ta)閑不住——“我經(jing)常(chang)偷偷去看代碼(ma)。”雖然(ran)那時并不知道將來要做(zuo)哪(na)一塊(kuai)開發,他(ta)卻從 shell 工具(ju)一路啃到數據庫引擎,把自(zi)己埋進了整個(ge)系(xi)統(tong)的脈絡里。

“那(nei)段時間(jian)很痛苦也(ye)很迷茫,畢竟我從沒接(jie)觸(chu)過數(shu)據庫內核(he)開發(fa)。”但靠(kao)著“看不懂就調試(shi)、看不清就查資料、實在不行就問同事(shi)”的硬(ying)核(he)方式,潘魏硬(ying)生(sheng)生(sheng)把自(zi)己“啃(ken)”進(jin)了(le)數(shu)據庫的世界。等(deng)到(dao)一個月后正式轉入查詢組,他已經準備好了(le)。

從開發者到負責人

入職三(san)年后,潘(pan)魏成為 TDengine 查詢組(zu)的(de)(de)負責人(ren)。這(zhe)段(duan)路走的(de)(de)并不容(rong)易,他坦(tan)言(yan):“技術上的(de)(de)收獲當(dang)然很多,但(dan)對我來說,最大的(de)(de)變(bian)化其實是觀念(nian)上的(de)(de)。”

過去,他是一(yi)個沉浸在技術里的(de)(de)快(kuai)樂(le)開發者:寫(xie)代碼、解決難題、搞(gao)定優化(hua),就是最(zui)大的(de)(de)滿足。但當角色變成團隊負責人,快(kuai)樂(le)不(bu)再那么簡單。“責任更重,會議更多,壓力更大。”真正的(de)(de)轉變來自他對數據庫(ku)本質(zhi)的(de)(de)理解加深。

“數據庫系統太復雜了,靠(kao)個人(ren)或幾位高手(shou)根(gen)本撐不(bu)起來。要想把一(yi)個數據庫產品做得好,必須依靠(kao)團隊、依靠(kao)組(zu)(zu)織。”意識到這一(yi)點后,他開(kai)始接受甚至擁抱(bao)自己的(de)新角色:組(zu)(zu)織者(zhe)、推動者(zhe)、責(ze)任人(ren)。“雖然不(bu)如寫代碼那樣(yang)立竿(gan)見(jian)影(ying),但帶著大(da)家(jia)一(yi)起做成一(yi)件事(shi),其實也(ye)很有(you)成就(jiu)感。”而這種轉變的(de)背后,離不(bu)開(kai)他對自己的(de)高標準嚴要求。

TDengine 創始人陶(tao)建輝曾評(ping)價(jia)潘魏“自驅力強、對(dui)自己要求(qiu)高”,對(dui)此(ci),他坦(tan)然(ran)接受,笑言(yan)“這樣的(de)評(ping)價(jia)挺高的(de)”。在(zai)(zai)他看來,做數據庫產品是變量最(zui)多、挑戰最(zui)大的(de)領域之一,“甚至可能跟(gen)操作(zuo)系統媲(pi)美”。因此(ci)一個人對(dui)自己的(de)要求(qiu)高與不高,最(zui)終在(zai)(zai)產品上的(de)差距是顯而易見(jian)的(de)。

“比(bi)如你(ni)在做一個(ge)功(gong)能(neng)時,如果是按(an)自(zi)己(ji)的(de)能(neng)力(li)上(shang)限去思考和設(she)計,最后把(ba)心(xin)里所有的(de) TODO LIST 全(quan)部消滅,我(wo)覺(jue)得你(ni)就是一個(ge)很(hen)厲(li)害的(de)人了。如果能(neng)長(chang)期做到,我(wo)就敬你(ni)是個(ge)狠人。”

這樣的成長并沒有捷徑。“就是靠學習和思考。對程序員來說,就是讀博客、讀書、讀代碼。”潘魏分享了自己(ji)的(de)(de)讀代(dai)碼(ma)(ma)方式(shi)——不(bu)是(shi)為了看(kan)懂而看(kan),而是(shi)像一個(ge)老(lao)師(shi)面對(dui)學生一樣,不(bu)斷發問:“為什么這(zhe)(zhe)句這(zhe)(zhe)么寫?有沒有更(geng)好(hao)的(de)(de)方式(shi)?是(shi)不(bu)是(shi)寫錯了?”當(dang)你能回答這(zhe)(zhe)些(xie)問題,就真正讀懂了。這(zhe)(zhe)個(ge)過程在他看(kan)來(lai)也像是(shi)時序數據庫里的(de)(de) rollup 概(gai)念,“你不(bu)可能記(ji)住所有代(dai)碼(ma)(ma),但(dan)你能記(ji)住的(de)(de)是(shi)這(zhe)(zhe)些(xie)提問和(he)思考之后凝結(jie)下來(lai)的(de)(de)‘結(jie)果(guo)’。”而正是(shi)靠著這(zhe)(zhe)樣的(de)(de)方式(shi),他一步步從“獨自做得好(hao)”走向了“帶團隊做得更(geng)好(hao)”。

從技術骨干變成組長,潘魏也構建起了一套團隊的工作哲學:“創新主要來自深度思考,在深入理解問題本質后才有可能提出創造性的想法。”他舉了(le)(le)一個例子:某(mou)次他們要將同(tong)步(bu)流(liu)程(cheng)轉(zhuan)為(wei)異(yi)步(bu)處理,按(an)傳(chuan)統思(si)路,需(xu)要引入大(da)量(liang)異(yi)步(bu)回調邏輯,但(dan)工(gong)作量(liang)巨大(da)。團(tuan)隊(dui)在經過頭腦(nao)風暴式(shi)的討論后發現,其(qi)實(shi)核(he)心瓶頸在于并(bing)發線(xian)程(cheng)數(shu)——線(xian)程(cheng)數(shu)受限的本質是為(wei)了(le)(le)限制 CPU 的占用,這種情況(kuang)下如何把(ba)同(tong)步(bu)操作變(bian)為(wei)異(yi)步(bu)。在理解這一本質后,他們換了(le)(le)個創新思(si)路,“線(xian)程(cheng)數(shu)不受限,只需(xu)要并(bing)發運(yun)行的線(xian)程(cheng)數(shu)受限即可”,最終通過“線(xian)程(cheng)接(jie)力(li)”的方式(shi)優(you)雅(ya)解決(jue)了(le)(le)問題,既大(da)幅減少了(le)(le)優(you)化工(gong)作量(liang),又滿足了(le)(le)限制性需(xu)求,也保障了(le)(le)性能。

這(zhe)種以(yi)問(wen)題為中心、以(yi)本質(zhi)為目標的(de)討論方式,已經成為 TDengine 查詢組的(de)團(tuan)隊(dui)文化。

查詢引擎技術演進趨勢

查詢引擎是數據庫的核心模塊之一,而優化查詢性能,就是在刀尖上跳舞。“你要走 SQL 語句這條‘陽關道’,用戶不滿意;你要抄近路,讓用戶覺得快,但一旦抄錯了,用戶也會第一個罵你。因此我們要練就的就是‘穩準狠’。”從(cong)潘(pan)魏的形容來看,查詢(xun)引擎的性能優化(hua)工(gong)作(zuo)就是要(yao)(yao)放著(zhu)陽關道不走,非要(yao)(yao)過獨(du)木橋,同時還要(yao)(yao)做到(dao)不濕鞋,屬(shu)實是一個“高風險工(gong)種”。

TDengine 作為純自研的查詢引擎,查詢性能優化的工作自然不會少。潘魏也主導了多個層面的優化:從框架重構、執行器改進,到計劃層算法優化。比如在實現關聯查詢時,為了減小處理數據的體量,他們設計了最多六層的數據過濾機制,每一層的目的都是為了減少下層需要處理的數據。為了實現更優的性能,更是巧妙地將 hash join 嵌入 sort merge join 的流程中以應對相同時間戳的場景

這些優化為 TDengine 的查詢性能帶來了顯著提升。在內部測試中,大多數查詢性能遠超 PostgreSQL,和 ClickHouse 相比,在單核性能上也占據優勢。接下(xia)來,他正計(ji)劃向多核并(bing)行查詢發起沖擊,“我對勝出是樂觀的。”

TDengine 在查詢層的獨特性,來自于整體架構的深度配合。潘魏總結道(dao):“我(wo)們采用分(fen)布(bu)式(shi)(shi)的(de)(de)(de) share-nothing 架構,結合超(chao)級表的(de)(de)(de)設(she)計(ji),使得(de)(de)查(cha)詢任務能夠(gou)分(fen)布(bu)式(shi)(shi)執行(xing);一(yi)個設(she)備一(yi)張表 + 列式(shi)(shi)存(cun)(cun)(cun)儲的(de)(de)(de)設(she)計(ji),能夠(gou)實現子表級別(bie)的(de)(de)(de)數據(ju)快(kuai)速定位,并(bing)支持高效(xiao)(xiao)的(de)(de)(de)列向量化(hua)處(chu)理;虛擬表概(gai)念的(de)(de)(de)引(yin)入使得(de)(de)數據(ju)建模不再有(you)任何難(nan)度,數據(ju)存(cun)(cun)(cun)儲與查(cha)詢分(fen)析(xi)不再具有(you)綁定關系(xi),根據(ju)業務的(de)(de)(de)需(xu)要(yao)可以實現千(qian)人(ren)千(qian)面的(de)(de)(de)效(xiao)(xiao)果;在(zai)數據(ju)塊和時間(jian)維度上的(de)(de)(de)預計(ji)算機制,則顯(xian)著(zhu)提(ti)升了大(da)數據(ju)量場景(jing)下(xia)的(de)(de)(de)查(cha)詢效(xiao)(xiao)率(lv);而通過存(cun)(cun)(cun)算分(fen)離(li)的(de)(de)(de)架構設(she)計(ji),查(cha)詢資(zi)源可以彈(dan)性(xing)擴展,系(xi)統整體的(de)(de)(de)吞吐能力也(ye)得(de)(de)到(dao)大(da)幅提(ti)升。”

而這種(zhong)從底層架(jia)構到(dao)查詢層邏輯的深(shen)度融合,是 TDengine 在應對高并發、低延遲場景中的底氣。

對于未來趨勢,他認為查詢引擎會向三個方向演進:功能更全、性能更優、使用更簡單。“SQL 覆(fu)蓋要更全面,性能要從手動擋進化(hua)到(dao)自動擋,最(zui)重要的是可維(wei)護性和易用(yong)性也要同步跟(gen)上。”他特別提到(dao) AI 的應用(yong),將會(hui)對(dui)查詢(xun)(xun)引(yin)擎帶來新的思維(wei)方式和能力(li)邊界,“我們(men)已經在探(tan)索 AI 與查詢(xun)(xun)優化(hua)、智能調(diao)參的結合。”

下一步

談起自己獲得(de)“CEO AWARD”的(de)感受(shou),潘魏顯得(de)很平靜:“很感謝公(gong)司給我這個肯定,我把它當做(zuo)過去幾年努(nu)力的(de)一(yi)種(zhong)肯定。”

對他而(er)言(yan),更重(zhong)要(yao)的(de)是要(yao)“不負期望、再(zai)接再(zai)厲”。回顧這(zhe)幾(ji)年(nian),他最自豪的(de)不是某一個具體(ti)功能,而(er)是“我(wo)們(men)整個查詢引擎在這(zhe)幾(ji)年(nian)邁上了一個新(xin)的(de)臺階(jie),從(cong) 2.x 的(de)草(cao)根階(jie)段走進了 3.x 的(de)穩定(ding)發展期。”

我們和 ClickHouse 在單核性能上的差距已經非常小,接下來要挑戰的是多核并發。”潘魏坦言,這將是一場硬仗,但(dan)也代表(biao)了 TDengine 查詢(xun)引擎走向全(quan)面領先的重要一役。“我個(ge)人非常想把這事兒干成。”

采訪最后,潘魏(wei)說:“其(qi)實程序員這(zhe)份工作最動人的(de)地方,就是你能親手(shou)打造一些真(zhen)實的(de)東(dong)西,看(kan)著它一步步變得更好。”在 TDengine,他正和團隊一起,做著這(zhe)件既(ji)有挑戰也有成就感的(de)事。

關于潘蔚

潘魏,現任 TDengine 查(cha)詢(xun)組負(fu)責(ze)人,專注于(yu)時序數據庫查(cha)詢(xun)引擎(qing)的研發工(gong)作。自 2020 年加入(ru)濤思數據以來,曾在交付組短暫輪崗(gang),隨后長期投身于(yu)核心(xin)查(cha)詢(xun)模塊的設計(ji)與優(you)化(hua),深度(du)參與 TDengine 查(cha)詢(xun)引擎(qing)的演進。

在此之前,潘魏曾在 Oracle 擔任資深工程師,主(zhu)導(dao) Oracle Blockchain Cloud Service(OBCS)及(ji) ART IMS 等產品(pin)的核心功能開發(fa),涵蓋(gai)區(qu)塊鏈底層(ceng)節(jie)點(dian)定制、控制臺(tai)與(yu) REST 接口開發(fa),以及(ji)分(fen)布式容器管理模塊的設計實(shi)現。其(qi)主(zhu)導(dao)的 ART IMS 項目,成功實(shi)現了(le)將 IBM 大型機(ji)上的 IMS 程序(xu)遷移至(zhi)開放平臺(tai)運行,顯(xian)著提升了(le)傳統(tong)(tong)系(xi)統(tong)(tong)的靈活性與(yu)兼容性。