开源之夏活动简介
开源之夏是由中科院软件所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。
活动联合各大开源社区,针对重要开源软件的开发与维护提供项目,并向全球高校学生开放报名。
学生可自主选择感兴趣的项目进行申请,并在中选后获得该软件资深维护者(社区导师)亲自指导的机会。根据项目的难易程度和完成情况,参与者还将获得开源之夏活动奖金和结项证书。
了解PolarDB开源社区
PolarDB是阿里云自主研发的新一代云原生数据库,既拥有分布式设计的低成本优势,又具有集中式的易用性。数年来,阿里云针对 PolarDB 进行了诸多创新,通过采用存储计算分离、软硬一体化设计,PolarDB 实现成本仅为传统商业数据库的十分之一。所实现的计算、内存与存储资源的“三层解耦”架构、多主多写、基于IMCI(内存列存索引)的 HTAP、Serverless 等功能已是全球首创或业内领先的技术。从 PolarDB 发布以来,它在技术和商业化上都获得了迅猛发展,如今已经成为阿里云数据库产品家族中最闪耀的产品。2021年,阿里云正式开源PolarDB,将PolarDB PostgreSQL 版(简称 PolarDB-PG )和 PolarDB分布式版(简称 PolarDB-X )进行了全内核开源,与社区一起共建云原生分布式数据库生态。
PolarDB 开源社区是阿里云数据库开源产品PolarDB的技术交流平台。作为开源的数据库产品, 离不开用户和开发者的支持, 大家可以在社区针对PolarDB产品提问题、功能需求、交流使用心得、分享最佳实践、提交issue、贡献代码等。
项目简介
本次活动,PolarDB 开源社区共发布了 3 个开发类项目课题:
任务一:PolarDB-X 向量化计算性能优化
项目难度:进阶
导师:思昀
导师邮箱:youtianyu.yty@alibaba-inc.com
项目简述:
向量化引擎为 PolarDB-X 的表达式计算带来了显著的性能提升,尤其在 HTAP 场景下,向量化计算是整个执行链路的重要一环。本项目的核心目标是在当前的向量化引擎框架下,针对不同数据类型进行算子和表达式的性能优化,提升执行效率。
本任务包括的功能点:
1. 搭建向量化计算性能测试框架,构造 benchmark
2. 向量化四则运算性能优化,包括常量与列之间的混合运算
3. 向量化 Agg 性能优化,包括 sum/count/avg 等
4. 向量化 Filter 性能优化
5. (可选)向量化 Join 性能优化
6. (可选)结合以上优化点,力争在部分 benchmark 场景有 5 到 10 倍的性能提升
项目技术要求:精通Java语言、熟悉性能优化
任务详情:https://summer-ospp.ac.cn/org/prodetail/2309e0088
任务二:PolarDB-X 支持列式存储文件的导入导出
项目难度:进阶
导师:离九
导师邮箱:lijiu.lzw@alibaba-inc.com
项目简述:
PolarDB-X 作为一款 HTAP 分布式数据库,正在逐步加强 AP 能力,在高计算场景下,大部分数据库都是采用列式存储数据。PolarDB-X 目前在冷热数据归档和正在开发的列式存储引擎都是采用列式存储文件保存数据,为了丰富用户对列式存储文件进行操作,本项目的核心目标是支持列式存储文件的导入导出。
本任务包含的功能点 :
1. 支持 Load Data 兼容列式存储文件的导入
2. 支持用户将行存文件(csv格式)转成列式文件(orc格式)
3. 支持导出数据以列式文件格式导出
4. 优化列式文件导入导出性能,超过行式文件
项目技术要求: 熟悉Java语言、了解数据库导入导出方式、列式存储格式和SQL基本执行流程
任务详情: https://summer-ospp.ac.cn/org/prodetail/2309e0089
任务三:利用pgreplay解析审计日志,提取PolarDB-PG数据库真实workload
项目难度:基础
导师:陌痕
导师邮箱:mohen.lhy@alibaba-inc.com
项目简述:
PolarDB 在升级或者不同环境中迁移时,需要关心迁移前后的稳定性、正确性以及性能指标。一个很好的测试方式是利用实例真实的 workload ,在不同实例上运行,然后对比结果。
pgreplay 是开源社区提供的一个解析日志,提取真实 workload 的工具,但目前支持解析的日志格式较少。
本项目希望 pgreplay 能够支持解析 PolarDB 中常用格式的审计日志,在此基础上解决解析的 SQL 未记录完整的场景,解析的 SQL search_path 未知的场景,解析的 SQL 参数化类型未知的场景,更进一步,能够提供进行结果比较与性能比较的能力。
项目技术要求:熟悉C语言,了解PostgreSQL的日志,了解pgreplay工作原理。
任务详情:https://summer-ospp.ac.cn/org/prodetail/2309e0138
学生报名要求
学生报名时间:2023 年 4 月 29 日至 6 月 4 日
学生指南:https://summer-ospp.ac.cn/help/student/
报名要求:
- 本活动面向年满 18 周岁在校学生。
- 暑期即将毕业的学生,只要在申请时学生证处在有效期内,就可以提交申请。
- 中国籍学生参与活动需提供身份证、学生证、教育部学籍在线验证报告(学信网)或在读证明。
- 外籍学生参与活动需提供护照,同时提供录取通知书、学生卡、在读证明等文件用于证明学生身份。
学生参与报名流程
各阶段流程操作均在点亮计划管理系统内进行,默认时区为北京时间(UTC+8)
1. 项目沟通
注册报名
- 学生可通过活动官网首页学生登录入口,注册并登录点亮计划管理系统(以下简称:系统),并按活动要求填写信息完成报名。
- 往届学生可登录原账号更新信息并报名。
- 学生在社区开源仓库中提交的 git email 必须使用学生报名时所用的邮箱。
- 学生不得同时以导师身份参加本活动。
挑选项目
- 从 官网-查看项目 中,获取项目列表。
- 学生最多可以提交三个项目的申请书,但最终只能承担一个项目。
- 每个项目最多由一名学生承担。
与导师沟通
- 官网项目描述中有项目指定导师的姓名与联系邮箱,学生可通过电子邮箱与导师进行沟通,邮件沟通是参与社区活动的基本方式。
- 请学生注意与导师沟通的基本礼仪,导师仅提供力所能及的指导和建议,项目本身的申请、设计和开发都是由学生自己完成。
- 此阶段既是了解项目详情的时期,也是了解社区运作方式、熟悉社区礼仪的时期。
2. 项目申请
准备项目申请材料
- 查看 项目申请模板 并根据要求准备相关材料。
- 项目申请书的质量是评定学生申请是否通过的最主要标准。
提交项目申请
- 通过系统提交申请材料。
- 学生最多可以提交三个项目的申请书,但最终最多只能承担一个项目。
- 在提交项目申请时,需要对本人申请的所有项目的中选优先级进行排序,若同时被多个项目选中,则根据该学生提交的项目排序,优先中选优先级高的项目。
加入PolarDB项目交流群