OpenMLDB在开源之夏2022中,上线了5个项目,汇总见下表:

项目名称 OpenMLDB 在线数据库的数据导出工具 OpenMLDB Go SDK 开发 OpenMLDB C++ SDK 重构 OpenMLDB 英文文档验证和优化 OpenMLDB 图形化运维管理工具
项目简介 在这个项目中,你将开发一个相对独立的数据导出工具,可以高效的对于某一个在线数据库中指定的数据表格进行导出。该导出工具将会基于解析 OpenMLDB 的 binlog(protobuf 格式),来实现快速的数据导出。 在这个项目里,你将会参照 OpenMLDB 现有的 Java SDK,高优实现其中的核心 API。 在这个项目中,你将重新整理目前的 C++ APIs,通过合理的重构,发布一个面向外部开发者友好的 OpenMLDB C++ SDK。 在这个项目中,我们需求进行一次对比最新中文文档做一次严格的功能和描述验证,改进相关的英文描述,达到产品级别。 在此项目中,我们期望你可以开发一个图形化的运维管理工具,包含核心的运维操作,类似工具如参考 phpMyAdmin 等。
编程语言 C++/Java/Python Go C++ Markdown HTML/JavaScript/Vue.js
项目难度 基础 进阶 基础 基础 基础
导师及联系方式 邓龙(denglong@4paradigm.com) 祁利国(qiliguo@4paradigm.com) 黄威(huangwei@4paradigm.com) 卢冕(lumian@4paradigm.com) 陈迪豪(chendihao@4paradigm.com)

每个项目的具体信息如下。

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