
「社区人物志」是 Apache Doris 社区推出的系列专栏,我们关注每一个对 Doris 做出过贡献的 Contributor ,会定期从对 Doris 做出突出贡献的小伙伴中选出一位「社区之星」,并会对「社区之星」进行专访,希望 TA 与 Doris 的故事可以被大家听见,也希望有更多的小伙伴参与到社区建设中来。
本期我们采访了 Apache Doris PPMC、主导 Apache Doris 1.0 向量化引擎的百度资深研发工程师李昊鹏,来听听昊鹏与 Apache Doris 的故事以及他参与开源社区建设过程中的思考。
关于自己
Q:请先简单介绍一下自己以及过往技术经历。
大家好,我是李昊鹏,本科就读于西安电子科技大学,硕士毕业于北京大学。毕业后加入百度大数据部从事基础架构的研发工作,目前是百度基础架构部 Doris 团队 SQL 执行引擎负责人。
在这之前曾负责开发与运维百度内部 NoSQL 系统 SimpleDB,承载了百度内部用户画像与idmapping 等核心业务的TB级别数据服务,支撑包括百度基础的广告与用户数据百亿/日请求。
Q:除了 OLAP 方向以外,还在关注哪些技术方向或领域呢?
分布式 NewSQL 系统和 NoSQL 系统。之前也是 SimpleDB 方向的负责人,当时调整到 Doris 团队的时候还有些小的遗憾,有很多之前在分布式 NoSQL 系统上的一些想法没有和同学们一起继续落地。
与 Doris 的故事
Q:你是怎么和 Doris 结缘,并从一个 Contributor 最终成长为 PPMC 的?
毕业之际,加入百度前就了解到后续参与开发的是一个叫做 `Palo` 的产品,当时就进行了一些学习和 paper reading ,还给当时的 Palo 提交了一个编译的 pr。
正式加入 Doris 团队之后,开始了系统性参与对 OLAP 系统的学习开发工作。这里很感谢当年团队们很多老司机的带领(还帮我兜底了很多 bug~~),让我从一个个简单的 pr 开始,一步步对深入了解 Doris 整体。
后续不满足只做一些简单的工作,开始逐步挑战自己,和社区的同学们合作一起完成复杂程度更高的工作,自己的工作也慢慢被社区的同学接受和认可。这个过程其实也是个人成长的一个过程,小到一个文档的修改,大到 Doris 未来的发展的讨论,在一个开放且包容的社区,你一点一滴的付出都能被大家看到的。
Q:你觉得从你认识 Apache Doris 到现在,哪些地方 Apache Doris 做得好?还有哪些地方需要持续优化?
比较好的地方
简单是 Apache Doris 的一贯哲学,目前看我们一直坚持得不错,简单的事情简单做。
Apache Doris兼容了 mysql 协议,即使没有数据分析的基础,通过官网文档也能快速搭建环境运行起来,并且有着不俗的性能体验。
需优化的地方
可观测性:可观测性是很重要的维度,对于不熟悉 Apache Doris 的用户能够快速定位问题。比如导入,查询,compaction 等工作对于资源的占用。并且能快速定位到执行热点并进行问题分析。
功能的丰富度:Apache Doris需要快速迭代来解决用户的痛点,很多用户期待已久的功能都会在后续的版本陆续提供给大家的,敬请期待。
参与社区
Q:你觉得自己从参与 Apache Doris 社区到现在最大的收获是什么?
有两个方面:
个人成长:无论是技术维度还是团队配合协作,都在社区获得很多锻炼,自己在这个过程之中学习到了很多。现在也可以作为老司机给新手同学提供开源工作上的上路指引了。
志同道合的伙伴:在社区认识了各个领域的开源爱好者,技术大拿,还有一些很优秀的年轻人。和大家一起通力合作,思维碰撞,是一件很快乐的事情。
Q:我们了解到你是 Apache Doris 1.0 版本向量化引擎的主导者,能谈一下整个过程中的难点以及如何克服的吗?
这段历程对于我个人和整个社区来说应该都是一场难忘的旅程。当时许多事情是有很大困难的,坦白说,我好多次都想过要放弃了,但是最终还是坚持了下来。这里真诚的感谢每一个参与进来的小伙伴们,尤其是美团,小米,腾讯,阿里的同学,每一周大家热情似火的讨论,过进度,日拱一卒的努力。再次谢谢大家。
难点主要是工程素养要求高和工程量巨大
向量化的难点在于看起来理论简单,实践起来需要对细节把控精准。可能只是简单的一两行代码,性能可能有10倍的差距,这对于每一个参与进来的开发者的工程素养是很大的挑战。
Doris 已经有了一个很成熟的 SQL 执行引擎,涉及到二十多个 SQL 执行的算子,上百个 SQL 函数,工作量确实非常大。
当时还经历过团队动荡,能参与进来的人很少,中间也有重要的战友离开。当时每天工作压力和强度都很大。但其实随着我们一点点的做起来,也逐渐吸引到了社区很多同学的参与,后续推进的开发工作反而比我想象中的顺利很多,就是组织好大家一步步按照既有的节奏和模板推进工作就 ok 了。
Q:对于 Apache Doris 社区的发展您有什么建议和寄语呢?
现在社区的发展很快,参与进来的小伙伴越来越多了,这是一个喜人的变化。但是这也会带来更多的功能需求和开发迭代,每个人都会有自己的想法和诉求。就像 Bjarne Stroustrup 对于C++发展提出的警告:《想想瓦萨号》
是否做到了简单的事简单做,很多功能的加入过程中,要警惕功能和代码复杂度的扩散
需要足够的测试确保快速的功能与迭代开发过程中的稳定性
展望未来
Q:未来您有什么话要对自己和 Apache Doris 社区的小伙伴要说?
有三点想要分享的:
坚持做自己认为对的事情,功力必不唐捐
罗马不是一天建成的,脚踏实地写好每一行代码
总有人正年轻,永远欢迎社区的下一个小伙伴
革命尚未成功,同志仍需努力。取之开源,用之开源,很荣幸和大家一起携手,共建更好的 Apache Doris,希望社区的未来的每一天,有我,也有你。
写在最后
自从加百度 Apache Doris 团队后,昊鹏就一直积极参与Apache Doris 社区的建设,并且成长迅速,尤其是经过 Apache Doris 1.0 对整个向量化引擎部分的主导工作之后,昊鹏已经迅速成长起来。在 2022 年第一季度,经过 Apache Doris PPMC (孵化器项目管理委员会)的推荐和投票,正式成为 Apache Doris PPMC,正应了“日拱一卒,功不唐捐”这句话。
在此也向昊鹏一直以来对 Apache Doris 作出的诸多贡献表示感谢。
最后是恰饭时间,我们诚邀社区的小伙伴一同参与开发,共同打造一款世界级高效易用、性能卓越、技术领先的分析型数据库系统。如果你对 Apache Doris 的技术方向感兴趣,希望一同开发,或者有其他建议或意见,可以通过以下渠道参与:
1.订阅并发送邮件至dev@doris.apache.org
以 Apache Way 的方式参与社区,订阅方式见官网:
http://doris.incubator.apache.org/zh-CN/community/subscribe-mail-list.html
邮件列表是 Apache 社区最常用的沟通方式。我们会积极回复邮件列表中的问题。
2. 微信公众号后台留言
直接在 ApacheDoris 微信公众号后台留言,您可以留下您的联系方式,我们将与您取得联系。
Apache Doris 开源社区链接参考
Apache Doris官方网站:
http://doris.apache.org
Apache Doris Github:
https://github.com/apache/incubator-doris
Apache Doris 开发者邮件组:
dev@doris.apache.org




