开源之夏活动简介
开源之夏是由中科院软件所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。
活动联合各大开源社区,针对重要开源软件的开发与维护提供项目,并向全球高校学生开放报名。
学生可自主选择感兴趣的项目进行申请,并在中选后获得该软件资深维护者(社区导师)亲自指导的机会。根据项目的难易程度和完成情况,参与者还将获得开源之夏活动奖金和结项证书。
了解PolarDB开源社区
PolarDB是阿里云自主研发的新一代云原生数据库,既拥有分布式设计的低成本优势,又具有集中式的易用性。数年来,阿里云针对 PolarDB 进行了诸多创新,通过采用存储计算分离、软硬一体化设计,PolarDB 实现成本仅为传统商业数据库的十分之一。所实现的计算、内存与存储资源的“三层解耦”架构、多主多写、基于IMCI(内存列存索引)的 HTAP、Serverless 等功能已是全球首创或业内领先的技术。从 PolarDB 发布以来,它在技术和商业化上都获得了迅猛发展,如今已经成为阿里云数据库产品家族中最闪耀的产品。2021年,阿里云正式开源PolarDB,将PolarDB PostgreSQL 版(简称 PolarDB-PG )和 PolarDB分布式版(简称 PolarDB-X )进行了全内核开源,与社区一起共建云原生分布式数据库生态。
PolarDB 开源社区是阿里云数据库开源产品PolarDB的技术交流平台。作为开源的数据库产品, 离不开用户和开发者的支持, 大家可以在社区针对PolarDB产品提问题、功能需求、交流使用心得、分享最佳实践、提交issue、贡献代码等。
项目简介
项目名称:PolarDB for PostgreSQL:优化BTree索引的写入速度
项目难度:进阶
导师:北侠
导师邮箱:zunbao.fengzb@alibaba-inc.com
项目简述:
背景:
在OLTP的数据库中一般会为一张表创建多个索引,在PostgreSQL中最常用的索引是BTree索引。插入数据时需要维护表和索引的对应关系,概括的说有两个步骤:
先在heap表中插入,然后将对应的ctid插入到索引中。
在第二个步骤中,需要先在索引中查找到对应的叶子节点再插入,过程中需要读取从根节点到叶子节点沿途上的页面。当索引较多时,插入性能取决于索引树的命中率。
方案:
在插入heap表之后,插入索引树的这个步骤可以先写入临时的内存区间,由后台进程异步批量写索引,以此来提升性能。
项目产出要求 :
- 在PolarDB for PostgreSQL项目中实现异步写索引的方案
项目技术要求:
- 1. 精通C语言;
- 2. 了解BTree索引;
项目仓库:https://github.com/ApsaraDB/PolarDB-for-PostgreSQL
任务详情:https://summer-ospp.ac.cn/org/prodetail/2409e0424?list=org&navpage=org
入群交流
扫码添加PolarDB小助手,备注开源之夏,邀请您入群交流!