暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

社区故事|华科同学在TuGraph社区的开源之路

TuGraph 2025-06-12
143
点击蓝字,关注我们
天工开物开源创新实践毕业设计活动(简称:开源毕设)是由天工开物开源基金会发起,并联合开源企业、开源社区、高校教师多方提供支持的一项面向高校学生的开源技术实践活动。开源毕设是一种结合开源社区实践和高等教育实践的创新模式,旨在通过参与真实的开源项目,为高校学生提供一个将理论知识应用于实践、培养创新思维和团队协作能力的平台,鼓励青年学子积极参与开源,为开源事业的发展贡献自己的力量。

来自华中科技大学的操宇同学参与了 TuGraph 社区的课题「动手实现一个mini图数据库」,并顺利完成毕设,为推动项目进展作出优秀贡献。
为帮助更多人了解如何参与开源贡献,TuGraph社区从项目贡献经历、个人感受与成长、对社区及开发者的建议等方面采访了操宇同学,本文由TuGraph根据采访内容整理。


 1、参与背景


TuGraph:什么因素促使你参与开源项目,并决定参与 TuGraph 开源贡献?


操宇同学2024年,我过天工开物平台的本科毕业设计选题加入TuGraph开源项目,这是我首次参与开源社区开发。


我对开源项目本身很感兴趣。参与实际项目贡献既有趣,又能积累知识和经验,实现自我成长。


参与 TuGraph 开源贡献是因为我在本科期间有后端开发和中间件学习经验,对数据库内核这类底层方向感兴趣。同时后端开发常需与数据库交互,学习内核知识有助于提升相关技能。



 2、项目贡献


TuGraph:能简单介绍一下你这次参与的项目吗?


操宇同学这次参与的项目是MiniGU,负责存储层的OLAP部分,通过开发一种动态图存储方案,满足OLAP工作负载下的需求。


TuGraph:在贡献过程中,你遇到了哪些挑战,如何克服的?


操宇同学最大的困难在于Rust。其上手难度高,尤其是Ownership与我惯用的Java和Golang等传统GC语言差异显著,Code结束一Compile的爆红多与Ownership相关,同时生命周期部分也较复杂。


过程中克服问题要感谢AI大模型(Deepseek、Copilot、ChatGPT)的帮助及技术博客辅助学习,通过边学边写逐步解决报错。


TuGraph:对于顺利完成项目,有哪些经验可以分享给其他想参与开源项目的同学?


操宇同学:因为间有限,能分享的经验有限建议多学、多问、多写。若时间精力允许,建议研读他人源码,借鉴优秀编码风格与习惯,了解主流写法,并对自己的Code多做review等等。


3、个人感受与成长


TuGraph在整个贡献过程中,你学到了哪些新技能或知识?


操宇同学在贡献过程中,积累了一定的Rust开发经验。虽然主要通过Code实践而非系统性学习Rust和八股,但总体上已形成初步认知。


虽主要参与存储模块开发,但也提升了对数据库整体架构的认知。


另外就是Git流程与开发规范的学习,在校生除实习外,参与开源是了解实际开发流程的有效途径。因为这方面没有系统教学且自学搜集资料也比较难,个人demo就直接clone和commit+push了,缺乏规范。而参与开源上手实践,能学习很多这方面的知识。


最后最重要的是对图数据库的认知有了显著提升。此前我做后端开发主要接触的关系型数据库,非关系型数据库也主要是Redis、MongoDB、ES等,对图数据库虽有耳闻但未深入研究。这段经历更新了原有认知,系统理解了其原理与应用。此外,数据库内核层面(如MVCC、隔离级别等)曾在MySQL里面背过相关的八股,但此次通过论文研读与问题请教,也有了新的认识和理解。


TuGraph:这次开源经历对你的技术成长或职业发展有何帮助?


操宇同学:首先是比较功利性的,比如能写进简历里。即使未来转向其他方向,开源经历仍然有非常大的帮助。非功利性层面,参与开源能接触业界实践,学习开发流程与规范。开源经历能系统学习设计逻辑,理解为何某种实现方式更优、为何避免其他做法,以及如何满足特定场景需求,从而提升工程思维与实践能力。



4、对社区的印象与建议


TuGraph:TuGraph 社区有哪些令你印象深刻或有帮助的地方?

操宇同学:TuGraph社区氛围友好,提问时能获得详细解答,论文指导上也提供了很多帮助。此外,戚仕鹏老师作为资深学长,在个人成长与职业规划方面也给予了帮助与建议。

TuGraph:未来希望社区继续提供哪些支持,有什么建议?

操宇同学:建议加大高校项目支持力度,多来高校宣传。以华科为例,许多同学热衷技术并积极提升自我,若能提供多样化参与机会,将激发更多学生主动参与开源实践。



5、对开发者的建议


TuGraph:对于正在观望或者刚刚接触开源的同学,你有什么建议?


操宇同学:建议从基础任务入手,特别是初次接触开源的同学,可通过循序渐进的方式熟悉流程并逐步上手。从个人经验来看,如何快速上手并融入项目是主要挑战之一,也需要提供针对性的引导帮助。


TuGraph:如果有人想参与TuGraph社区的项目,你认为需要具备哪些基础或者心态?


操宇同学:参与TuGraph社区项目,具备计算机基础和一定的coding能力即可。核心在于学习能力和动用搜索引擎(运用工具)的能力,快速高效的去学习专门的知识,并且能实现在Code中。遇到问题多搜、多学、多问即可。




TuGraph社区一直积极携手高校和开源组织,共同推动技术发展与人才培养。我们通过高校公开课、共建项目以及OSPP开源之夏、GLCC编程夏令营、DBCI大赛等活动,为同学们提供丰富的实践机会和成长平台。许多同学在社区中展现了出色的才华,不仅贡献了优秀成果,还入选了年度社区优秀贡献者。期待更多同学关注并加入我们,一起推动社区的发展!


目前OSPP开源之夏、GLCC编程夏令营还在开放报名中~


开源之夏课题介绍:开源之夏召集令!TuGraph 社区课题等你来解锁

项目申报地址:https://summer-ospp.ac.cn/org/projectlist?lang=zh&orgName=TuGraph&pageNum=1&pageSize=50&programName


GLCC活动介绍:https://www.gitlink.org.cn/glcc

  • 课题1「MiniGU查询引擎的factorization优化」申报地址:https://github.com/TuGraph-family/miniGU/issues/31

  • 课题2「GeaFlow基数排序算法的实现与优化」申报地址:https://github.com/TuGraph-family/tugraph-analytics/issues/528

  • 课题3「Chat2Graph分层记忆机制的探索创新」申报地址: https://github.com/TuGraph-family/chat2graph/issues/178


欢迎同学们积极报名TuGraph社区项目课题,参与社区贡献。与TuGraph一起发现图的无限可能!




·END·



欢迎关注TuGraph代码仓库✨

TuGraph-DB 图数据库

https://github.com/tugraph-family/tugraph-db

GeaFlow 流式图计算引擎

https://github.com/tugraph-family/tugraph-analytics

Chat2Graph 图原生智能体系统
https://github.com/tugraph-family/chat2graph



最后修改时间:2025-06-13 15:40:42
文章转载自TuGraph,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论