2024 开源之夏|报名 NebulaGraph 项目,领取你的 ¥12,000 奖金

滴滴滴~ NebulaGraph 今年再次参与由中科院软件所“开源软件供应链点亮计划”发起的开源之夏啦!

关于开源之夏

“开源之夏”(简称 OSPP)是中国科学院软件研究所发起的“开源软件供应链点亮计划系列”暑期活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。

今年已是开源之夏举办的第五届,如果你对开源项目感兴趣,想要提升开发能力和结交技术大佬。那么在这个夏天,NebulaGraph 能陪伴同学们一起参与开源软件的开发维护,培养和发掘出更多的优秀在校开发者,也希望能吸引更多同学陪伴我们一同成长~

项目介绍

在 2024 开源之夏活动中,NebulaGraph 社区准备了 5 个项目。成功通关结项的同学可以获得 ¥ 12,000 奖金与荣誉证书,同时也有可能掉落工作机会哦~

01. 基于图数据库 nebula 增加对 List / Set 类型的支持

NebulaGraph 是一款开源的分布式图数据库,目前支持的数据类型有基础的数值、布尔、字符串、时间、地理空间、类型转换等多种数据类型。但 List / Set 这两个重要的基础数据类型,在 Nebula 最新版中,缺少了对它们的支持。

大部分场景下,只要用到 List 数据类型,只能转化为多属性,或者平行边来实现,结果会带来使用上的各种不变。转换为多属性会导致属性的定义冗长,以及属性的频繁变更;转化为平行边会导致数据的冗余,以及一些超级节点的问题。

项目难度:进阶(结项奖金 ¥ 12,000)

技术要求:

  1. 熟练使用 C++、对数据库有一定了解

  2. 对数据库内核有一定了解,了解如何实现数据类型、如何处理图的遍历以及如何优化数据查询和存储更佳

  3. 深入理解数据结构和算法,特别是与图论和数据库索引、查询优化相关的算法

  4. 熟悉分布式系统的原理和技术

导师信息:

新秀导师-小红鸡

风格特点: 幽默风趣 思维活跃

邮箱:mailbox::flyphp@outlook.com

02. 基于 NgBatis,实现从实体对象出发完成数据直查

目前作为 ORM 工具的 NgBatis 内置的基类查询接口只支持从 Schema 出发进行 CRUD,但这点并没有跳脱出关系型数据库的思维方式。图数据库的 ORM 应该符合其特点基类方法,从而使 ORM 能真正成为 OGM。本项目旨在完成 ORM 到 OGM 的转变。

项目难度:进阶(结项奖金 ¥ 12,000)

技术要求:

  1. 熟练使用 Java 编程语言

  2. 具备扎实的图论基础

  3. 熟练掌握图数据库的使用

导师信息:

新秀导师-秋梵

风格特点: 细致认真待人友善

邮箱:mailbox::knqiufan@foxmail.com

03. 面向 NebulaGraph ArkTS 语言的客户端

随着 HarmonyOS 的兴起,OpenHarmony 的生态也在逐渐完善,并且以 OHPM 为中心构建了有别于其他技术的包管理仓库,但是仓库中尚缺少可以为其他项目所用的 NebulaGraph 驱动程序,希望可以借助这次机会促成图数据库与鸿蒙生态的进一步融合。

项目难度:进阶(结项奖金 ¥ 12,000)

技术要求:

  1. 能熟练使用 TypeScript,对 Node.js 及 npm 的包管理流程有一定了解,掌握 Socket

  2. 对 RPC(远程过程调用协议)框架有一定了解

  3. 擅长 debug,并需要有十足的耐

  4. 理解相同数据的在计算机中不同的存在形式及其编解码过程

导师信息:

两届元老—大叶

风格特点/往届学生评价: 善于沟通十分 nice

邮箱:mailbox::corvusy@foxmail.com

04. 基于图数据库 nebula 的 LOOKUP 语法支持 UPDATE

作为一个数据库使用者,日常会遇到的一个需求是批量更新部分数据。如果更新已知的部分数据,直接用 UPDATE 语句便可。

但是如果要更新满足特定条件的部分数据,目前查询条件数据的 LOOKUP 不支持将其查询结果传递给 UPDATE 做更新操作,用户只能繁琐地将数据查询出来之后,再做一次 UPDATE。所以希望通过支持 LOOKUP | UPDATE 语法来减少不必要的二次处理工作。

项目难度:进阶(结项奖金 ¥ 12,000)

技术要求:

  1. 熟练使用 C++

  2. 对数据库的内核开发有一定了解,如果对图数据库有所了解更佳

  3. 了解 NebulaGraph 原生查询语言 nGQL

  4. 了解解析器和查询优化器,知晓查询语句是如何被高效执行

导师信息:

两届元老—Milittlez

风格特点/往届学生评价: 严谨认真乐于助人

邮箱 :mailbox: Milittlez@163.com

05. 图数据库 NebulaGraph 对接数据访问层 OpenDAL

OpenDAL 是一个数据访问层,允许用户以统一的方式轻松有效地从各种存储服务中检索数据。目前 OpenDAL 尚未对接图数据库 NebulaGraph,希望通过这个项目完成 NebulaGraph 和 OpenDAL 的对接,让 OpenDAL 能直接访问 NebulaGraph 存储的数据。

项目难度:进阶(结项奖金 ¥ 12,000)

技术要求:

  1. 熟练使用 Rust

  2. 对数据库访问层有所了解,了解如何提取底层的数据

  3. 对图数据的格式有所了解,了解底层 NebulaGraph 数据存储更佳

导师信息:

新秀导师—Suyan

风格特点: 开朗健谈细致入微

邮箱 :mailbox::suyanhanx@gmail.com

活动日程及参与方式

目前正处于学生注册、沟通导师、提交项目申请环节,各位学生如果对上述项目感兴趣,欢迎添加客服小姐姐微信加入【2024 NebulaGraph 项目&导师沟通群】,与对应的导师进行沟通了解。

:point_right:入群方式:请扫码添加 NebulaGraph 客服小姐姐微信,并务必备注「开源之夏」哦~

以上,希望优秀的你能积极加入到 NebulaGraph 社区的项目中,在这个盛夏一起探讨开源之美。