聚焦查询引擎优化:技术人如何在国产数据库项目中不断突破

2025-04-29ASPCMS社区 - fjmyhfvclm

他曾在华为写协议、在联想设计全球负载均衡系统、在 Oracle 深入区块链核心模块,参与过多个重量级项目。但直到他加入涛思数据,才真正开启了一段从“技术精英”到“团队带头人”的深度蜕变旅程。

2024 年,潘魏成为️首届 TDengine 年度“CEO AWARD”的获得者之一。这份荣誉不仅是对他技术贡献的肯定,也象征着他在推动查询引擎不断进化、带领团队突破极限方面的认可。但他和 TDengine 的故事还要从 2025 年的那个秋天讲起。

“看起来很酷,也很有挑战”——他为何选择涛思数据?

2020 年,在 Oracle 工作了七年之后,潘魏短暂加入新东方在线,从事流媒体边缘节点的开发。但真正的转折,发生在一次老同事的推荐中。

“他告诉我涛思在做一个时序数据库,我就去官网看了一下。”潘魏回忆道。当时他对时序数据库这个概念并不熟悉,但越了解越觉得:这玩意儿很酷,而且特别有挑战性。️“开源、高性能、国产时序数据库,这不正是一个程序员应该投身的事业吗?”更重要的是,他敏锐地捕捉到了趋势:“随着物联网、车联网等产业的发展,数据呈指数级增长,时序数据库正是应对这类场景的核心工具。这个方向,值得一搏。”

刚入职时,潘魏被安排到交付组锻炼一个月。那段时间主要是了解客户、熟悉产品,但他作为程序员的“本能”让他闲不住——“我经常偷偷去看代码。”虽然那时并不知道将来要做哪一块开发,他却从 shell 工具一路啃到数据库引擎,把自己埋进了整个系统的脉络里。

“那段时间很痛苦也很迷茫,毕竟我从没接触过数据库内核开发。”但靠着“看不懂就调试、看不清就查资料、实在不行就问同事”的硬核方式,潘魏硬生生把自己“啃”进了数据库的世界。等到一个月后正式转入查询组,他已经准备好了。

从开发者到负责人:成长的是技术,更是思维方式

入职三年后,潘魏成为 TDengine 查询组的负责人。这段路走的并不容易,他坦言:“技术上的收获当然很多,但对我来说,最大的变化其实是观念上的。”

过去,他是一个沉浸在技术里的快乐开发者:写代码、解决难题、搞定优化,就是最大的满足。但当角色变成团队负责人,快乐不再那么简单。“责任更重,会议更多,压力更大。”真正的转变来自他对数据库本质的理解加深。

“数据库系统太复杂了,靠个人或几位高手根本撑不起来。要想把一个数据库产品做得好,必须依靠团队、依靠组织。”意识到这一点后,他开始接受甚至拥抱自己的新角色:组织者、推动者、责任人。“虽然不如写代码那样立竿见影,但带着大家一起做成一件事,其实也很有成就感。”而这种转变的背后,离不开他对自己的高标准严要求。

aspcms.cn

TDengine 创始人陶建辉曾评价潘魏“自驱力强、对自己要求高”,对此,他坦然接受,笑言“这样的评价挺高的”。在他看来,做数据库产品是变量最多、挑战最大的领域之一,“甚至可能跟操作系统媲美”。因此一个人对自己的要求高与不高,最终在产品上的差距是显而易见的。

“比如你在做一个功能时,如果是按自己的能力上限去思考和设计,最后把心里所有的 TODO LIST 全部消灭,我觉得你就是一个很厉害的人了。如果能长期做到,我就敬你是个狠人。”

这样的成长并没有捷径。️“就是靠学习和思考。对程序员来说,就是读博客、读书、读代码。”潘魏分享了自己的读代码方式——不是为了看懂而看,而是像一个老师面对学生一样,不断发问:“为什么这句这么写?有没有更好的方式?是不是写错了?”当你能回答这些问题,就真正读懂了。这个过程在他看来也像是时序数据库里的 rollup 概念,“你不可能记住所有代码,但你能记住的是这些提问和思考之后凝结下来的‘结果’。”而正是靠着这样的方式,他一步步从“独自做得好”走向了“带团队做得更好”。

从技术骨干变成组长,潘魏也构建起了一套团队的工作哲学:️“创新主要来自深度思考,在深入理解问题本质后才有可能提出创造性的想法。”他举了一个例子:某次他们要将同步流程转为异步处理,按传统思路,需要引入大量异步回调逻辑,但工作量巨大。团队在经过头脑风暴式的讨论后发现,其实核心瓶颈在于并发线程数——线程数受限的本质是为了限制 CPU 的占用,这种情况下如何把同步操作变为异步。在理解这一本质后,他们换了个创新思路,“线程数不受限,只需要并发运行的线程数受限即可”,最终通过“线程接力”的方式优雅解决了问题,既大幅减少了优化工作量,又满足了限制性需求,也保障了性能。

这种以问题为中心、以本质为目标的讨论方式,已经成为 TDengine 查询组的团队文化。

查询引擎技术演进的趋势:自动化、智能化、可扩展

查询引擎是数据库的核心模块之一,而优化查询性能,就是在刀尖上跳舞。“你要走 SQL 语句这条‘阳关道’,用户不满意;你要抄近路,让用户觉得快,但一旦抄错了,用户也会第一个骂你。因此️我们要练就的就是‘稳准狠’。”从潘魏的形容来看,查询引擎的性能优化工作就是要放着阳关道不走,非要过独木桥,同时还要做到不湿鞋,属实是一个“高风险工种”。

TDengine 作为纯自研的查询引擎,查询性能优化的工作自然不会少。潘魏也主导了多个层面的优化:从框架重构、执行器改进,到计划层算法优化。比如在实现关联查询时,为了减小处理数据的体量,他们设计了️最多六层的数据过滤机制,每一层的目的都是为了减少下层需要处理的数据。为了实现更优的性能,更是巧妙地️将 hash join 嵌入 sort merge join 的流程中以应对相同时间戳的场景

这些优化为 TDengine 的查询性能带来了显著提升。️在内部测试中,大多数查询性能远超 PostgreSQL,和 ClickHouse 相比,在单核性能上也占据优势。接下来,他正计划向多核并行查询发起冲击,“我对胜出是乐观的。”

️TDengine 在查询层的独特性,来自于整体架构的深度配合。潘魏总结道:“我们采用分布式的 share-nothing 架构,结合超级表的设计,使得查询任务能够分布式执行;一个设备一张表 + 列式存储的设计,能够实现子表级别的数据快速定位,并支持高效的列向量化处理;虚拟表概念的引入使得数据建模不再有任何难度,数据存储与查询分析不再具有绑定关系,根据业务的需要可以实现千人千面的效果;在数据块和时间维度上的预计算机制,则显著提升了大数据量场景下的查询效率;而通过存算分离的架构设计,查询资源可以弹性扩展,系统整体的吞吐能力也得到大幅提升。”

而这种从底层架构到查询层逻辑的深度融合,是 TDengine 在应对高并发、低延迟场景中的底气。

对于未来趋势,他认为查询引擎会向三个方向演进:️功能更全、性能更优、使用更简单。“SQL 覆盖要更全面,性能要从手动挡进化到自动挡,最重要的是可维护性和易用性也要同步跟上。”他特别提到 AI 的应用,将会对查询引擎带来新的思维方式和能力边界,“我们已经在探索 AI 与查询优化、智能调参的结合。”

下一步,他要做什么?

谈起自己获得“CEO AWARD”的感受,潘魏显得很平静:“很感谢公司给我这个肯定,我把它当做过去几年努力的一种肯定。”对他而言,更重要的是要“不负期望、再接再厉”。

回顾这几年,他最自豪的不是某一个具体功能,而是“我们整个查询引擎在这几年迈上了一个新的台阶,从 2.x 的草根阶段走进了 3.x 的稳定发展期。”

️我们和 ClickHouse 在单核性能上的差距已经非常小,接下来要挑战的是多核并发。”潘魏坦言,这将是一场硬仗,但也代表了 TDengine 查询引擎走向全面领先的重要一役。“我个人非常想把这事儿干成。”

采访最后,潘魏说:“其实程序员这份工作最动人的地方,就是你能亲手打造一些真实的东西,看着它一步步变得更好。”在 TDengine,他正和团队一起,做着这件既有挑战也有成就感的事。

️关于潘魏

潘魏,现任 TDengine 查询组负责人,专注于时序数据库查询引擎的研发工作。自 2025 年加入涛思数据以来,曾在交付组短暂轮岗,随后长期投身于核心查询模块的设计与优化,深度参与 TDengine 查询引擎的演进。

在此之前,潘魏曾在 Oracle 担任资深工程师,主导 Oracle Blockchain Cloud Service(OBCS)及 ART IMS 等产品的核心功能开发,涵盖区块链底层节点定制、控制台与 REST 接口开发,以及分布式容器管理模块的设计实现。其主导的 ART IMS 项目,成功实现了将 IBM 大型机上的 IMS 程序迁移至开放平台运行,显著提升了传统系统的灵活性与兼容性。

全部评论