社区动态
开源之夏|从 NebulaGraph 开启你的图数据库开源之旅!
在即将来临的暑假,尽情探索图数据库的新世界吧!2025 年开源之夏,NebulaGraph 社区发布了 4 个项目,更适合高校开发者的度假方式来啦~
参与开源社区的代码贡献,和世界各地的开发者一起成长,这经历可超有含金量,可媲美大厂实习经历!
2023 开源之夏参与者
NebulaGraph contributor 宋同学:
“参与 NebulaGraph 开源项目经历是我校招的加分利器,它让我积累了丰富代码经验,熟悉实战开发流程。还能学到课本外的前沿知识、热门技术框架。同时,许多大厂面试官都热衷贡献开源项目,这种共同爱好让面试更像朋友之间的技术交流。最终,我在秋招中顺利斩获了滴滴、小米、京东、快手等多个大厂 offer.”
(图源宋同学在 nMeetup 上的分享)
开源之夏
开源之夏是中国科学院软件研究所于 2020 年发起的“开源软件供应链点亮计划”系列暑期活动,旨在鼓励高校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。
活动联合各大开源社区,针对重要开源软件的开发与维护提供项目开发任务,并向全球高校学生(需年满 18 周岁)开放报名。学生可自主选择感兴趣的项目进行申请,中选后在项目开发者(社区导师)的指导下进行开发。根据项目的难易程度和完成情况,结项者将获取开源之夏劳务报酬和结项证书。
💰基础项目:8000
💰进阶项目:12000
NebulaGraph
NebulaGraph 是一个可靠的分布式、线性扩容、性能高效的图数据库,擅长处理千亿节点万亿条边的超大数据集,同时保持毫秒级查询延时的图数据库解决方案。
2019 年 5 月 15 日,NebulaGraph 在 GitHub 开源 alpha 版本,拥有遍布全球的用户和开发者以及活跃的社区,GitHub star 数超 11k.
作为开源项目,NebulaGraph 始终重视代码共建共享和高校开发者的培养,连续 5 年参与中国科学院软件研究所发起的开源之夏,鼓励全球高校开发者参与开源贡献,为社区注入新鲜血液。
为什么选择开源之夏 x NebulaGraph 项目?
代码能力跃升:你的代码将运行在支撑超大规模数据集群的图数据库中。
实习直通车:顺利结项并经导师推荐,将拥有 NebulaGraph 实习机会。
与大牛同行:4 位顶级导师带你玩转世界级分布式图数据库。
简历镀金:参与 GitHub 万星项目,开源贡献记录永久可见。
硬核成长:从内核到生态工具,贡献真实应用场景。
NebulaGraph 项目介绍
01 NebulaGraph 支持向量近似近邻检索
项目难度:进阶
编程语言:C++
技能要求:
熟悉 C++,对分布式数据库有一定开发经验。
掌握向量检索的基本原理和算法,如 HNSW、IVF、Annoy 等。
项目描述:LLM 的创新推动了很多 AI 应用的落地,构建此类应用通常采用 RAG(Retrieval-Augmented Generation) 架构模式,RAG 被认为是解决 LLM AI 幻觉的有效方式,并可以为其提供更丰富的上下文使得 LLM 的响应更准确。向量近似近邻检索,即 Approximate Nearest Neighbor (ANN) Search,可以在高维向量空间中快速检索相似向量并为 RAG 提供后端支持。然而,目前 NebulaGraph 尚未支持向量相关的功能,这限制了其在 AI 场景中的应用潜力。若在 NebulaGraph 中支持向量,将为其提供向量持久化存储能力、利用数据库的扩展性来满足业务数据规模扩张需求、实现知识图谱和向量检索结合的 GraphRAG 来改善传统 RAG 的一些痛点。
项目产出:
实现向量数据类型并支持其持久化。
实现向量相关的 DDL 语句,包括 create tag、create index 等语句。
实现向量相关的 DML 语句,包括 insert、update、delete 等语句。
设计并实现 ANN Search 语句。
满足分布式一致性和可用性要求,保证向量数据副本一致性及内存磁盘数据一致性。
导师:志鹏,NebulaGraph Committer.是一位开发经验丰富的图数据库内核研发工程师。在开源之夏,他以硬核的图数据库内核研发功底备受认可。志鹏的指导风格耐心细致,同时对新技术充满热情。
邮箱:kyle.cao@vesoft.com
02 NebulaGraph 集成 PyG
项目难度:基础
编程语言:Python
技能要求:需要熟悉 PyG 的 remote server 机制和 FeatureStore 与 GraphStore 抽象,并了解 NebulaGraph 的 基本知识,利用 NebulaGraph 的 GraphClient 和 StorageClient,实现 PyG FeatureStore 与 GraphStore.
项目描述:PyG 是一个用于在 PyTorch 中创建和训练图神经网络的强大而灵活的框架。它简化了图数据的处理,并提供了各种 GNN 模型的构建块,助力研究人员和开发者在图结构数据上进行创新。NebulaGraph 是一款开源的、分布式的、易扩展的原生图数据库,能够承载包含数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。PyG 作为 GNN 的训练推理框架、它的图抽象支持从远程的分布式基础设施上存取,这个抽象叫“remote server”,有了这个抽象,我们可以连接两个项目,让 PyG 社区受益于 NebulaGraph 的超大规模分布式图存储,驱动分布式图申请网络的训练。
项目产出:设计实现 PyG 的 NebulaGraph remote server ,作为其 FeatureStore 与 GraphStore.
导师:思为,NebulaGraph Committer, NebulaGraph GenAI Team Leader. 作为 GraphRAG 的提出者,思为拥有无限想象力,指导风格充满激情与活力,善于引导你突破常规思维,大胆尝试新的技术方案。在他的团队里,每一个创意都能得到充分的尊重与支持。
邮箱:wey.gu@vesoft.com
03 为 NebulaGraph 支持 Airbyte
项目难度:基础
编程语言:Java
技能要求:
对 Airbyte 框架有一定的了解,有丰富的 Java 开发经验,对反射有充足的实践经验和认知。
对数据的 ETL 过程有一定的了解。
项目描述:Airbyte 是一款领先的数据集成平台,专注于构建和管理 ETL(提取、转换、加载) 或 ELT(提取、加载、转换) 数据管道,帮助用户将来自多种源头(如 API、数据库、文件等)的数据高效迁移到现代数据存储与分析平台,包括 数据仓库、数据湖以及新兴的 数据湖仓等。期望在 NebulaGraph 上增加对 Airbyte 的支持,方便用户可以通过 Airbyte 将各种数据源的数据,导入到 NebulaGraph 中。
项目产出:
增加 Airbyte 的 Writer,支持数据通过 Airbyte 从 Mysql 到 Nebulagraph 的迁移
代码能够合入到 Airbyte 仓库,满足相关开发测试规范
导师:秋梵,NebulaGraph Contributor, 开源之夏 2024 年 NebulaGraph 项目导师,带领晓阳同学顺利结项,并获得 2024 年开源之夏“最快进步奖”。不仅热爱开源,秋梵还是一枚二次元爱好者,是能一起写代码也能一起追番的“中国好导师”。
邮箱:knqiufan@foxmail.com
04 为 NebulaGraph Exchange 支持数据源插件化
项目难度:基础
编程语言:Java、Scala
技能要求:
对 Spark 分布式框架有一定的了解,有丰富的 Java 或 Scala 开发经验,对反射有充足的实践经验和认知。
熟悉当前 NebulaGraph Exchange 项目的架构流程,了解 NebulaGraph Exchange 中的配置管理模块和数据源管理模块的逻辑流程。
项目描述:NebulaGraph Exchange 是一款专业的数据导入工具,致力于将各类异构数据源的高效导入到 NebulaGraph 图数据库中。当前版本已支持包括关系型数据库、NoSQL、大数据平台等在内的十余种主流数据源。但 NebulaGraph Exchange 的数据源都是内嵌在 NebulaGraph Exchange 的核心代码中,每添加一种新数据源都需要进行代码扩展和代码修改,然后进行重新打包发版,存在数据源与核心代码高度内聚的问题,使得添加新数据源和维护已有数据源的成本增加。基于以上背景,该项目旨在实现 NebulaGraph Exchange 数据源的插件化架构,通过标准接口和扩展机制,使 NebulaGraph Exchange 能够在无需修改核心代码的情况下,通过引入插件 JAR 包的方式灵活支持新的数据源。
项目产出:
对当前 NebulaGraph Exchange 架构进行优化改进,将数据源相关的功能流程抽象化,实现数据导入和数据源管理的低耦合结构。
实现不同数据源的插件化模块化开发,利用反射实现 NebulaGraph Exchange 对不同数据源插件 jar 包的动态加载和调用,从而实现各个数据源的独立化维护,增强 NebulaGraph Exchange 的数据源支持的能力,实现 NebulaGraph Exchange 数据源的插件化开发和维护,为用户自定义特殊的数据源提供抽象能力。
导师:昌圆,NebulaGraph Java 系列生态工具(NebulaGraph Exchange、NebulaGraph Flink Connector 等) Maintainer, 常被社区小伙伴称赞为“顶级大佬”。此外,昌圆发表了多篇图数据库相关专利,学术能力也一级棒,真·全能型导师。
邮箱:anqi.wang@vesoft.com
开源之夏活动流程
To Do List
如果你对 NebulaGraph 发布的项目感兴趣,在接下来的一个月内,你需要做的事:
进入开源之夏官网,了解开源之夏每个流程的时间,并查看 NebulaGraph 项目详情;
访问 NebulaGraph 官网,查看 NebulaGraph 文档,进一步了解我们;
填写项目意向问卷,与 NebulaGraph 官方近距离交流项目详情⬇️;
根据开源之夏规定时间,完善个人信息并填写项目申请;
等待中选结果。
祝大家在开源世界里,收获满满~
度过一个有意义的暑假:)