多做些算子,少谈些创新

算子不是孤立存在的。一个优秀的执行引擎,需要让算子之间高效协作,减少不必要的数据物化、内存复制和线程切换,让数据尽可能以最低的代价完成整个执行过程。

国产数据库的创新速度似乎越来越快了。前几年大家还在谈分布式、HTAP、云原生,这两年又开始谈AI数据库、多模态、超融合、智能自治。几乎每次数据库厂商召开产品发布会,都能听到几个新名词,似乎不搞出点新概念,就不好意思说自己的数据库技术有了进步。创新当然是好事,中国数据库产业发展到今天,如果没有技术创新,就很难打破国外数据库厂商长期形成的技术壁垒。不过,我始终有一个疑问:我们的数据库真的已经把基础能力做好了,必须开始卷创新了吗?

数据库的最基础的能力是什么?说到底,就是高效、可靠地存储和检索数据。无论数据库采用什么架构,支持多少种数据模型,最终都绕不开数据的读写、过滤、连接、排序、聚合等基本操作。

这些操作在数据库内核中,主要是由一个个执行算子完成的。一个数据库的SQL执行能力,很大程度上取决于它拥有哪些算子,这些算子实现得怎么样,以及优化器能否正确地选择和组合这些算子。

比如同样执行一个Hash Join,有些数据库能够充分利用内存,减少数据复制和Hash冲突;有些数据库则可能频繁申请内存,甚至因为内存管理不合理导致性能急剧下降。同样是一次排序,有些数据库能够利用Top-N优化避免全量排序,有些数据库却需要把大量无用的数据也排一遍。

再比如,一个看起来十分简单的Index Range Scan,涉及索引定位、范围扫描、谓词下推、批量读取以及回表等多个环节。不同的实现方式,可能带来数倍甚至数十倍的性能差异。

这些技术听起来没有AI数据库那么时髦,却实实在在地决定了数据库的性能。

实际上,数据库执行引擎的发展远没有走到尽头。向量化执行、流水线执行、自适应连接、Runtime Filter、分区裁剪、Late Materialization,以及面向不同数据分布的聚合算法,都还有大量值得深入研究的地方。

即使是传统的Nested Loop Join、Hash Join、Merge Join,也不是实现了就算完成任务。不同的应用场景、数据规模、数据倾斜程度和内存条件,对算子的要求完全不同。一个成熟的数据库,需要的不仅是算子种类齐全,还需要多种实现策略,以及优化器对这些策略的准确选择。

更重要的是,算子不是孤立存在的。一个优秀的执行引擎,需要让算子之间高效协作,减少不必要的数据物化、内存复制和线程切换,让数据尽可能以最低的代价完成整个执行过程。

这背后需要长期的工程积累,也需要大量真实业务场景的检验。它不像增加一个新的SQL语法,或者接入一个大模型接口那样容易展示成果,却可能需要研发人员花费几个月甚至几年时间,才能把某个算子的性能提高百分之几。

遗憾的是,这些基础工作往往不容易成为产品发布会上的亮点,也很少在国产数据库产品的发布会上被重点提及。我们的一些国产数据库,功能清单已经相当漂亮了,支持的特性甚至比某些国际主流数据库还要多。但是在实际生产环境中,一条复杂SQL的执行效率、一个错误执行计划的纠正能力、一次大规模数据更新的稳定性,仍然可能暴露出不少问题。有时候,数据库不是缺少某个先进功能,而是连已有的基础功能都没有做到足够好。

当然,我并不是反对AI数据库、HTAP或者多模态数据库。恰恰相反,这些方向都有实际价值,也可能成为未来数据库发展的重要方向。但是,新功能不应该成为忽视基础能力的理由。

AI可以帮助优化器选择执行计划,却不能让一个低效的Hash Join自动变得高效。HTAP可以把事务处理和分析处理融合在一起,但如果底层扫描、连接和聚合算子的效率不高,融合又能带来多少实际价值?多模态数据库同样需要高效的索引、检索和执行机制,而不仅仅是增加几种数据类型。

真正有价值的创新,最终还是要落实到数据库的基础能力上。

我希望未来国产数据库厂商在介绍技术进步的时候,除了告诉我们又支持了什么新功能,也能够多介绍一些内核层面的改进:增加了哪些执行算子,优化了哪些算法,解决了哪些长期存在的性能问题,在什么样的负载下取得了多大的性能提升。这些进步或许不够吸引眼球,但对于真正使用数据库的企业和DBA来说,可能比十个新概念更有价值。

数据库是一个需要长期积累的基础软件,技术竞争最终比拼的不是谁提出的新名词更多,而是谁能够把那些看似普通的基础能力做到极致。少一些概念包装,多一些内核打磨;多做些算子,少谈些创新。这或许才是国产数据库真正走向成熟必须经历的过程。

这个周末参加的内容太充实了,以至于今早起床时候还有点疲态。连续参加了金仓数据库的智能运维工具开发大赛总决赛、年度产品发布会、开发者大会和客户与意见领袖建言大会。从这几个会上,我们看到了金仓数据库在内核上的进步,也感受到了金仓的研发团队对客户使用体验的重视。多一些聆听客户吐槽的交流,少一些高大上的宣发,国产数据库会做得越来越好。很幸运的是,我在产品发布会上不仅听到了hello ai的理念,还听到了今年我们又开发了4个算子,离学习榜样又近了一步这样的总结,这才是一个“数据库”的产品发布会上必须有的内容。

请扫码关注数字化经济观察网
责编:左翊琦
参与评论
文明上网,理性发言!请遵守新闻评论服务协议
0/200