社区人物志|李荣谦:取之社区,回馈社区
「社区人物志」是 Apache Doris 社区推出的系列专栏,我们关注每一个对 Doris 做出过贡献的 Contributor ,会定期从对 Doris 做出突出贡献的小伙伴中选出一位「社区之星」,并会对「社区之星」进行专访,希望 TA 与 Doris 的故事可以被大家听见,也希望有更多的小伙伴参与到社区建设中来。
本期我们采访了网易有道精品课数据中台负责人李荣谦,来听听他与 Doris 的故事。
关于自己
Q:请先简单介绍一下自己过往的技术经历?
大家好,我是李荣谦,目前是网易有道精品课数据中台负责人,负责数据中台整体架构设计以及 Doris 相关的开发工作
2019 年毕业于山东财经大学,毕业后加入网易有道从事服务端研发的工作,后来转做大数据相关工作,主要负责 Doris 和 Flink 相关需求开发。
Q:除了 OLAP 方向以外,还在关注哪些技术方向或领域呢?
消息队列,链路追踪,图数据库,微服务,云原生。
关于 Doris
Q:您是如何了解到 Doris 的?
通过网络搜索 OLAP 引擎,当时看到了美团和京东同学的文章,从那以后开始深入调研 Apache Doris。
Q:使用 Doris 期间您有没有遇到过什么问题或挑战,是如何解决的呢?
Routine Load 丢数问题:由于我们通过 Flink 做实时数据处理,会将数据都 sink 到 Kafka 中,所以当时选择了 Routine Load 导入的方式,后来发现 Doris 数据总是和 MySQL 数据量对不上,当时和明雨排查了很多日志,最终终于定位到是由于集群负载高的时候,部分 Task 失败的异常没有向上传递,导致 Offset 提交的问题,在 0.13.15 版本已经完成了修复。
Join 在并发高的时候性能不太好:通过定时生成应用表,将 Join 查询的并发降低,同时也减少了数据重复计算,使得集群稳定性得到了进一步提升。
Q:除了遇到的问题以外,还有没有一些有趣的案例或故事可以分享呢?
之前在使用别的开源中间件的时候,遇到问题一般都是向社区提 Issue 等待解决,但是 Doris 社区比较 open,十分推荐大家贡献代码,也让我有机会参与到了 Doris 的开发中,有两个比较记忆深刻的事情。
一是我们之前一直在使用 DOE( Doris On Es )的功能,但是由于考虑到安全问题,ES 集群添加了 ssl 认证,导致 DOE 无法继续使用,经过与 Doris 社区的武云峰同学的多次沟通,完成了 DOE 支持 ssl 的 PR,自己的业务也可以正常跑了。
二是有一次在做一个节点的集群迁移,新建表的过程中报容量不足,但是磁盘还有空间,后来经过排查发现有一行计算剩余容量的代码有错误,当时快速打了 patch 修复了问题,后来也向社区提交了 PR。
Q:您认为 Doris 有哪些做得比较好的地方?有哪些方面还需要继续优化?
比较好的地方
运维简单,通过一些简单命令就能实现扩缩容;
社区响应速度很快,对于遇到的问题能够及时讨论解决;
数据导入支持方式很多,能给满足各种业务场景。
稳定性提升:需要对回归测试进行不断完善,降低新功能引入对已有功能的影响;
性能提升:提升 Join 查询性能,提升聚合计算性能;
资源隔离:对于长耗时大查询和短耗时即席查询能够有隔离策略,解决需要根据场景部署多套集群的情况;
存算分离
Q:有没有尝试把 Doris 推荐给更多的人使用呢?被推荐的人对 Doris 的反馈如何?
有推荐给公司其他部门使用,也收获了很多反馈:运维十分简单,基本不需要怎么管,查询性能也能够满足要求,能够同时满足明细 + 聚合的场景。
参与社区
Q:是什么样的契机,让您开始向 Doris 提交 PR 及贡献代码呢?
第一次提交 PR,是为了解决业务遇到的问题,将遇到的 Bug 自行修复后,贡献到了社区中。这既帮助了自己,又能帮助到社区的其他人,后来也会主动接一些自己能做的社区需求去做。
Q:后续会更关注或计划参与哪些方面的 Issue 呢?
资源隔离,存算分离,DOE,语法支持(向 Hive / MySQL 靠拢)
Q:在参与社区建设的过程中,您有什么样的收获?
自己原来 C++ 是一点也不会的,在写完了 DOE 支持 ssl 后,算是能够比葫芦画瓢写一点了;
社区的同学们对代码 Review 还是比较严格的,让我写代码的时候更加的规范,也给我提出了很多优秀的思路,开阔了我的视野;
认识了一群来自不同公司的小伙伴,大家都在为了更好的支撑自己业务去努力;
Q:对于 Doris 社区的建设,您有什么样的建议呢?
可以将一些不太紧急的需求放在 Github 上,并打上难易度标识,让社区开发者去根据兴趣认领,增加社区活跃度,也方便新人的上手;
整合一些代码或者原理文档,方便后续新人理解老代码;
创建各个方向的 SIG,比如 TiDB 那样,方便大家沟通相关方向的需求,只在 PR 中去 comment 可能只局限在 2-3 人之间的沟通,但是 SIG 可以让更多的人参与进去。
Q:对 Doris 社区有什么想吐槽的么?
代码风格不统一,我在写代码的时候,一般会先找些参考,但总会遇到老代码风格不统一的情况;
文档需要进一步完善,有些在官网,有些在 help 中,还有些参数没有补充全。
展望未来
Q:您如何看待 OLAP 引擎未来的技术趋势呢?
支持多场景分析:既能支持 QPS 要求较高的短耗时明细查询,又能支持耗时较长的大型分析查询,提升数据的价值,希望能够完全取代之前离线 Hadoop/ Hive 那一套。
云原生:未来的 OLAP 引擎都是应该支持上云,支持存算分离的,这样会比较方便一些需要弹性调度的场景,如果计算节点能够拆分出来作为无状态节点,集群的扩缩容也会方便许多。
实时:OLAP 引擎未来会和 Flink 紧密结合,做各种实时导入的支持,目前分层数据的实时计算是痛点,无法通过 OLAP 引擎去解决,需要引入外部中间件去做,未来如果 Doris 能解决掉这块会使实时数据架构更加简单。
Q:最后有什么话想对社区的小伙伴说的呢?
取之社区,回馈社区。当我们选择使用开源代码时,自己就是这个社区的一份子,我们每个人都有能力让社区变得更好,在社区帮助我们成功支持业务的同时,我们也应该尽自己所能,去回馈社区,帮助社区,哪怕只是一个文档的修复,也是帮助。希望未来能看到更多的人去贡献社区,也希望 Doris 能够越来越好,能够帮助到更多的人。
写在最后
感谢荣谦给 Doris 社区的宝贵建议,“取之社区,回馈社区”,这也是我们美好的期许。希望每一个社区小伙伴能因为 Doris 而受益,也希望有更多的小伙伴参与社区中,帮助 Doris 从不够好到足够好。对于文中提到的所有待优化的地方,作为 Doris 开发团队其实我们一直在努力完善。在 Q3 ,我们将会推动 Doris 全新向量化执行引擎的发布,届时性能方面将会有巨大提升,同时稳定性、资源隔离、存算分离等需求也一直在我们的 Roadmap 中( Apache Doris Roadmap 2021 ),这也是我们持续努力的方向之一。
在社区建设方面,我们已成立多个专项兴趣小组,专注于 Doris 功能模块的开发攻坚和深入研究,帮助每一位成员也能收获到宝贵的成长。并且我们近期将开始组织「社区开发者」会议,希望以此让社区开发者和用户更好去了解 Doris 的发展方向和开发计划,更希望能更清晰聆听用户的声音,也欢迎大家持续关注社区动态。
最后依然是恰饭时间,我们诚邀社区的小伙伴一同参与开发,共同打造一款世界级高效易用、性能卓越、技术领先的分析型数据库系统。如果你对 Doris 的技术方向感兴趣,希望一同开发,或者有其他建议或意见,可以通过以下渠道参与:
1.订阅并发送邮件至dev@doris.apache.org
以 Apache Way 的方式参与社区,订阅方式见官网:
http://doris.incubator.apache.org/master/zh-CN/community/subscribe-mail-list.html#_1-发送订阅邮件
邮件列表是 Apache 社区最常用的沟通方式。我们会积极回复邮件列表中的问题。
2.在Doris论坛发帖留言
在百度开发者社区Doris论坛发帖留言讨论:
https://ai.baidu.com/forum/topic/list/209
我们也会不定期的将一些用户常见问题在论坛中进行汇总和答复,方便用户查找。
3. 微信公众号后台留言
直接在 ApacheDoris 微信公众号后台留言,您可以留下您的联系方式,我们将与您取得联系。
4. 加入 Baidu Doris 团队
Baidu Doris 团队主要负责 Doris 内核研发、商业化支持、云端服务和私有化部署。同时也负责维护 Doris 开源社区,欢迎有大数据系统内核研发经验的同学加入我们。您可以通过公众号后台留言或者发送简历至 talent-doris@baidu.com,我们虚位以待。
社区人物志|王博:每一位你,都是前进道路上的一团星光。社区人物志|张家锋:一个人可能走得更快,但一群人会走得更远活动回顾| Apache Doris 的过去、现在与未来活动回顾| 基于 Iceberg 拓展 Doris 数据湖能力的实践
欢迎扫码关注:
Apache Doris(incubating)官方公众号
相关链接:
Apache Doris官方网站:
http://doris.incubator.apache.org
Apache Doris Github:
https://github.com/apache/incubator-doris
Apache Doris 开发者邮件组:
dev@doris.apache.org