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