关于「开源之夏」
开源之夏(OSPP)是中国科学院软件研究所发起的“开源软件供应链点亮计划”系列暑期活动,旨在鼓励高校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。活动联合各大开源社区,针对重要开源软件的开发与维护提供项目开发任务,并向全球高校学生开放报名。

Cloudberry Database 是专为分析和 AI 场景打造的开源数据库,兼容 PostgreSQL 和 Greenplum 生态,遵循 Apache License 2.0 许可协议,致力于构建开放、友好、中立的开源社区。
GitHub 地址:https://github.com/cloudberrydb/cloudberrydb
官网主页:https://cloudberrydb.org/
Cloudberry Database 作为新兴项目和社区,很荣幸加入到 2024 年开源之夏活动中来,所申报项目也得到组委会审核通过。期待通过本次活动为 Cloudberry Database 社区发展吸引到新鲜血液。
下面,将为大家介绍下具体项目信息。
项目介绍
为 Directory Table 文件系统表提供 FTP/SFTP 协议支持
项目简述
Directory Table 文件系统表[1]是 Cloudberry Database 的特有特性,支持以表的形式列出、读取、管理文件系统中的文件。文件系统表是基于 TABLESPACE 特性实现的,每一个文件系统表都与一个 TABLESPACE 绑定。使用时,用户通过COPY FROM
语句将文件从本地文件系统导入到该 TABLESPACE 中,随后由内核向文件系统表添加元数据。文件系统表本身仅存储元数据,用户需通过另一 UDF directory_table 来读取文件内容。
该特性目前仅支持本地文件系统,希望以 Foreign Data Wrapper 的形式新增对 FTP/SFTP 协议的支持。
项目产出要求
1. 调研已有的开源 FTP/SFTP 客户端实现,引入依赖项(与 Apache License V2.0 许可兼容)
2. 在
contrib/
目录下新增插件,为 Cloudberry Database 引入 FTP/SFTP 协议的 Foreign Data Wrapper3. 对接
CopyFromDirectoryTable
,使COPY FROM
支持以 FDW 作为数据源4. 输出对应设计文档、使用方法和测试用例
5. 代码清晰简洁,逻辑性强,满足 Cloudberry Database 的代码风格和审查要求
项目技术要求
1. 熟悉数据库基本原理,学习了解 PostgreSQL 内核与 Cloudberry Database 基础功能
2. 熟悉 C 编程语言
3. 熟悉 FTP/SFTP 协议原理
4. 掌握基本的 Git GitHub 命令与操作使用
项目难度
基础
导师信息
Ray,ray.eldath@outlook.com[2]
学生参与指南
报名要求
• 活动面向年满 18 周岁的高校在校学生。
• 暑期即将毕业的学生,只要申请时学生证处在有效期内,就可以报名活动。
• 国内高校学生报名需提供身份证、教育部学籍在线验证报告(学信网)或学生证等在读证明材料。国外高校学生或外籍学生需提供显示学生姓名与预计毕业时间的录取通知书、学生卡或其他在读证明材料。
中选学生可以获得什么
• 结识开源界小伙伴和技术大牛
• 获得社区导师的专业指导,与开源项目开发者深度交流
• 丰富项目实践经验,提升项目开发技能
• 为学习方向提供参考,为职业发展积累人脉
• 通过结项考核的学生将获得组织方提供的结项奖金和结项证书
• Cloudberry Database 周边纪念品
优秀学生可获得 Cloudberry Database 官方开发团队实习/校招内推机会。
流程节点
• 04/30 - 06/04:学生注册、与导师沟通项目、提交项目申请
• 06/05 - 06/25:项目申请审核
• 06/26:中选公示
• 07/01 - 09/30:项目开发
• 10/01 - 10/31:结项审核-PR/MR 合并与导师审核
• 11/01 - 11/08:结项审核-组委会成果审核
• 11/09:结项公示
活动小贴士
• 申请人数较多,建议在正式提交项目申请前,确保与社区项目导师取得沟通,沟通意向和项目等情况。与导师沟通时,请遵守基本沟通礼仪。
• 避免在最后一天提交项目意向,避免因不熟悉申请流程、缺少申请材料、网络等问题造成无法在截止时间内完成申请。
• 认真阅读活动组织方整理的学生参与指南[3]。
更多
欢迎添加 Cloudberry Database 社区小助手,保持沟通与联络,咨询项目问题:

引用链接
[1]
Directory Table 文件系统表: https://github.com/cloudberrydb/cloudberrydb/pull/390[2]
ray.eldath@outlook.com: mailto:ray.eldath@outlook.com[3]
学生参与指南: https://summer-ospp.ac.cn/help/student/
👇🏻️关注公众号👇🏻️
⭐️为 Cloudberry Database 点个赞吧!⭐️




