9

nStar 美团陈旭:享受开源贡献,我与 Nebula 社区的故事

 3 years ago
source link: https://zhuanlan.zhihu.com/p/340404920
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

nStar 美团陈旭:享受开源贡献,我与 Nebula 社区的故事

Nebula 社区旁白:自 19 年开源到现在,Nebula Graph 社区出现了一群有想法、有实力的用户,将他们的优雅留在 Nebula Graph 的代码中,他们是 nStar,是 Nebula 社区不可或缺的一部分。

v2-28203511a4a06df34e762679f92f4e82_720w.jpg

在第一期的 nStar 专访 中,我们请到了美团分布式存储技术专家——陈旭,同我们分享下他和 Nebula 的故事 ^^

Hello,大家好,我是陈旭(GitHub ID:chenxu14),是美团分布式存储技术专家,NebulaHBase 社区活跃用户 & Contributor,近期主要在做 RocksDB 的异步化访问以及 SPDK 的集成工作,以便提升上层 Nebula Graph 服务的访问性能和吞吐能力,欢迎有兴趣的小伙伴一块交流,加入美团大家庭。(此处应有招人广告,简历投递绿色通道:[email protected]

v2-14881a079577a58289727b9745d5e3cf_720w.jpg

什么机缘巧合认识到了 Nebula Graph?

正式接触 Nebula Graph 大概是在 2020 年的 6 月份,在此之前公司的图数据库产品主要还是围绕 JanusGraph 来构建,使用过程中遇到了很多槽点,比如:Data model 的设计将顶点的所有属性和临接边放到一个 row 里,导致类型边的检索效率并不高效,另外由于底层依 HBase,MTTR 的恢复问题是很多在线服务难以规避的痛点。于是,我便开始尝试调研其他的图数据库产品。我们(美团)对开源的 graphdb-benchmark 做了相关的功能定制和调整,基于相同的 workload 和数据集对不同的图数据库产品做了相应的压测比较,而 Nebula Graph 的表现是相对比较出色的,因此开始投入到对 Nebula 的建设中了。

参与到开源社区做贡献是什么样的体验?

最大的体验是能够提升自己的参与感增加做事情的动力。Nebula 社区的响应效率还是比较快的,毕竟大家都在同一个时区,之前使用 JanusGraph 的时候我们也提过一些 PR,但基本上一个月左右才能得到 Committer 的回复,导致个人的参与感不是那么强,不愿意投入到社区建设。

给 Nebula Graph 贡献最大的困难,和最愉快的经历是什么?

愉快的经历很多,早期对 Nebula Graph 进行初步调研的时候,由于团队整体实力还不成熟,一些功能的定制与修改心里并没有底,不知道是否会产生不好的级联影响,提给社区之后得到了很多 Committer 的反馈与修改意见,代码的质量与规范性得到了很大的保障,在此非常感谢 @dangleptr 同学给予的意见和帮助。

困难层面,个人感觉有关第三方库的维护目前不太好合入社区分支,比如我们最近在做 SPDK 的集成,对 RocksDB 和 SPDK 做了很多个性化的调整,包括将 RocksDB 的读请求进行异步化处理,同时扩展了 SPDK 的 Reactor 模型以便采用独立 QPair 与底层 NVMe 设备交互,这部分定制对 RocksDB 的吞吐能力改善是非常有帮助的,同时也间接影响上层的 Nebula 服务,但是想要整合进社区分支还是比较困难的。

带个路,新的社区用户如何更快融入社区,成为 Contributor 晋升为 Committer?

Nebula 社区还是比较 open 的,有好的想法和修改意见可以及时提issue 或在论坛发起提问,提 PR 过程中注意代码的规范性

如果是 BUG 修复需要有 UT 可以复现,如果是性能改善最好有相关的 Benchmark 测试,与社区交流互动的过程比较利于自己的技术成长。

怎么看待开源这件事?

从企业和用户角度来讲,开源是一个双赢的事情,企业能够带来更多的使用客户,从中收集一些反馈和意见;而用户能够增加对项目的掌控能力,并从开源社区吸收更多的营养,双方的共同努力建设可以促进生态的进一步成熟和完善。

以上为 Nebula Graph Committer 陈旭的专访,Nebula Graph Committer 授予仪式将在 2021 年 1 月 10 日 nMeetup 北京场开启,欢迎感兴趣的小伙伴到现场来见识下陈旭风采 ^^

v2-2759e3040febfedef2f92686b38731c4_720w.jpg


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK