活动介绍
开源之夏是由“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,由中国科学院软件研究所与 openEuler 社区共同举办,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展,培养和发掘更多优秀的开发者。
学生可自主选择感兴趣的项目进行申请,并在中选后获得该软件资深维护者(社区导师)亲自指导的机会。根据项目的难易程度和完成情况,参与者还将获取开源之夏活动奖金和结项证书。
OpenMLDB 社区的 5 个精选项目已经正式发布,任务包括数据导出工具开发、SDK开发&重构、图形化界面开发和英文文档优化,欢迎同学们关注、咨询和参与!
OpenMLDB 社区简介
OpenMLDB 是一个开源机器学习数据库,致力于闭环解决 AI 工程化落地的数据治理难题,并且已经在上百个企业级人工智能场景中得到落地。OpenMLDB 优先开源了特征数据治理能力,依托 SQL 的开发能力,为企业提供全栈功能的、低门槛特征数据计算和管理平台。
自开源以来,承蒙各位开发者的支持和贡献,OpenMLDB 社区得以不断成长和进步。这个夏天,OpenMLDB 期待更多同学参与到开源之夏活动当中,成为社区贡献者的一员!
开源之夏活动节点
开源之夏官网:
https://summer-ospp.ac.cn/
项目简介
本次活动,OpenMLDB 开源社区共提交了
5 个项目课题,任务包括
数据导出工具开发、SDK开发&重构、图形化界面开发和英文文档优化。具体如下:
OpenMLDB 在线数据库的数据导出工具
OpenMLDB 目前缺少一个在线数据库的高效数据导出工具。该数据导出工具在程序调试、数据备份等场景下具有很大的用处。在这个项目中,你将开发一个相对独立的数据导出工具,可以高效的对于某一个在线数据库中指定的数据表格进行导出。该导出工具将会基于解析 OpenMLDB 的 binlog(protobuf 格式),来实现快速的数据导出。
产出要求:
● 连接数据库获取指定表的元数据信息,如表 id, 分片信息等
● 根据表的元信息获取数据表的存储路径,然后到对应目录下读取 snapshot 和 binlog 文件,解析并解码出每一行数据,然后把结果存储到指定的位置上
● 构建易用且高性能的数据导出工具
● 补充相关说明使用文档
编程语言:C++/Java/Python
导师及联系方式:邓龙(denglong@4paradigm.com)
项目链接:https://summer-ospp.ac.cn/#/org/prodetail/22a7c0140
OpenMLDB Go SDK 开发
目前 OpenMLDB 尚未支持 Go SDK。随着 Go 使用群体的快速增长,提供一个 Go SDK 将会是一件非常有价值的事情。在这个项目里,你将会参照 OpenMLDB 现有的 Java SDK,高优实现其中的核心 API。
产出要求:
● 参照 Java SDK 和 Go SQL 标准接口,实现所需要的核心功能,至少实现如下接口: Open, ExecContext, QueryContext, QueryRowContext (参考:https://github.com/golang/go/wiki/SQLInterface)
● 整理相关文档,附上使用说明和样例
编程语言:Go
导师及联系方式:祁利国(qiliguo@4paradigm.com)
项目链接:https://summer-ospp.ac.cn/#/org/prodetail/22a7c0143
OpenMLDB C++ SDK 重构
目前 OpenMLDB 支持 Java/Python SDK。这两者在底层其实都是通过调用同一套 C++ APIs 来实现。但是目前 C++ APIs 并没有抽象成为一个可以供开发者友好使用的 SDK。在这个项目中,你将重新整理目前的 C++ APIs,通过合理的重构,发布一个面向外部开发者友好的 OpenMLDB C++ SDK。
产出要求:
● 分离出 C++ SDK 需要的头文件,放到 include/sdk 目录里
● 编译产出 C++ SDK 的静态库文件
● 补充 C++ SDK test cases
● 补充 C++ SDK 相关文档
编程语言:C++
导师及联系方式:黄威(huangwei@4paradigm.com)
项目链接:https://summer-ospp.ac.cn/#/org/prodetail/22a7c0452
OpenMLDB 英文文档验证和优化
OpenMLDB 目前的英文文档较为不完善,并且经过几次产品迭代,没有严格的校对和验证。因此在这个项目中,我们需求进行一次对比最新中文文档做一次严格的功能和描述验证,改进相关的英文描述,达到产品级别。
产出要求:
● 验证现有英文文档内容的正确性
● 产出完整可上线的高质量英文文档
编程语言:Markdown
导师及联系方式:卢冕(lumian@4paradigm.com)
项目链接:https://summer-ospp.ac.cn/#/org/prodetail/22a7c0453
OpenMLDB 图形化运维管理工具
目前 OpenMLDB 并没有一个图形化的运维界面。所有安装、部署、运维管理相关均通过命令行进行。其较为复杂的运维流程,通过命令行模式较容易产生误操作,并且非常不易用。在此项目中,我们期望你可以开发一个图形化的运维管理工具,包含核心的运维操作。
产出要求:
● 熟悉 OpenMLDB 的运维操作
●开发可视化图形安装部署以及运维工具,通过包装命令行,实现核心运维功能,其可以选择包括的功能比如:安装、升级、备份、恢复、扩缩容等(相关运维命令可参考 https://openmldb.ai/docs/zh/main/maintain/index.html)
●开发者根据自己的能力经验来选择图形化工具需要实现的若干功能,并不要求实现所有完整的运维命令,但是其实现的框架具备可扩展性,方便以后其他开发者进行扩展
● 相关的测试代码
● 相关的产品文档
编程语言: HTML/JavaScript/Vue.js 等
导师及联系方式:陈迪豪(chendihao@4paradigm.com)
项目链接:https://summer-ospp.ac.cn/#/org/prodetail/22a7c0454
沟通交流渠道
邮件联系导师
欢迎大家主动向导师们发送邮件进行沟通,也鼓励附上自己的 proposal 和简历,让导师更加了解你~
加入交流群
为了方便高校同学与 OpenMLDB 社区项目导师进行及时交流,我们建立了 OpenMLDB Summer 2022 交流群,大家可以通过扫描最上方的二维码进入微信群。