TiDB Contributor 资料汇总
作者: Billmay 表妹原文来源:https://tidb.net/blog/cf95cdb7
开源社区建设
TiDB 社区是由 TiDB 生态中的开发者、用户、合作伙伴一起建立的分享、学习平台。TiDB 线上社区汇聚了 29149 位 TiDB 资深用户(注册用户数),所有成员都可以在这里自由发声,互相协助解决问题。社区线上论坛 asktug.com 已经积累了 19799 个问题帖(主题帖数),90% 的问题都得到了解决,累计总回复数 126359 个(主题帖回复数)。
用户组
TUG(TiDB User Group) 汇聚了全球数据库、大数据技术从业者,是一个独立、自治、不以盈利为目的的社区组织。组织使命:连接用户,共建未来数据生态。
TUG 成员近 20% 为技术决策者,覆盖了互联网、金融、银行、电信、物流等行业,成立了北京、上海、石家庄、济南、天津、杭州、华南(深圳 & 广州)、西南(成都 & 重庆)、华中(武汉)和 APAC(新加坡)10 个本地小组,沉淀了 909 篇优质技术文章。
贡献者
TiDB:目前 TiDB 项目在 GitHub 上已总计获得超过 34.1k 颗星,累计超过 1714 位开源贡献者,目前项目已经合并的 Pull request 数 28151 个,已经解决的 Issue 数 11807 个。TiDB 项目来自 PingCAP 以外的社区贡献者(Contributor)占比 75% 以上,吸引了腾讯云、韩国三星研究院等企业和机构的优秀开发者共同参与。
目前 Chaos Mesh 项目在 GitHub 上已总计获得超过 5.7k 颗星,累计超过 188 位开源贡献者,项目已经合并的 Pull request 数 2419 个,已经解决的 Issue 数 1141 个。
目前 TiKV 项目在 GitHub 上已总计获得超过 13.1k 颗星,累计超过 589 位开源贡献者,项目已经合并的 Pull request 数 10171 个,已经解决的 Issue 数 3221 个。TiKV 项目主要开发者来自 PingCAP、知乎、京东云、一点资讯等企业,来自 PingCAP 以外的社区贡献者(Contributor)占比 65% 以上。
治理
如下图所示,TiDB 贡献者社区的治理结构如下:
image100%75%50%
Technical Oversight Committee (TOC) 是各公司和组织之间协调和信息共享的主要桥梁和渠道。它是解决当前社区和合作项目中资源调动、技术研究和发展方向等问题的协调中心。
Teams 是持久的开放性小组,专注于 TiDB 项目的某一模块。每个 team 都有自己的 reviewer、Committer 和 Maintainer,并负责一个或多个代码库。每个 team 的 Maintainer 拥有该 team 的决策权。目前 TiDB 一共有 9 个 team,详情见 Github。
交流
Forum: https://internals.tidb.io
如何开始贡献?
我们为 Contributor 准备了一份 Development Guide,旨在帮助贡献者从新手成长为 TiDB 专家,熟悉 TiDB 的设计和实施,从而能够在现实世界中流畅地使用它,并进行深入开发工作。主要包含以下内容:
Chapter 1 . 开始准备工作:假设你是一个 TiDB 新手,本章节将教你安装开发环境,构建并连接到 tidb-server。
Chapter 2 . 为 TiDB 做贡献:帮助你快速参与社区,描述了贡献类型以及如何快速实现你的 first contribution。
Chapter 3 . 深入了解 TiDB:帮助你熟悉分布式数据库的基本概念,在脑海中建⽴知识库,包括但不限于分布式数据库中的 SQL 语⾔、关键组件、算法。已经熟悉这些内容的同学可以跳过本节。
Chapter 4 . 项目管理:帮助你参与团队⼯作,主导功能开发,管理 TiDB 社区中的项⽬。
Contributor 学习资料
此外你可以可以通过 TiDB 核心研发产出的文章学习更多技术点,比如:
高性能 TiDB 教程:https://university.pingcap.com/courses/High-Performance-TiDB
Talent Plan 教程:https://university.pingcap.com/talent-plan/
如何成为 TiFlash Contributor?
TiFlash 源码阅读活动
今年 4 月,TiFlash 刚刚开源,社区组织了九期 TiFlash 源码阅读活动,带你深入浅出认识 TiFlash 源码:
TiFlash 源码阅读(一) TiFlash 存储层概览:TiFlash 是 TiDB 的分析引擎,是 TiDB HTAP 形态的关键组件。TiFlash 源码阅读系列文章将从源码层面介绍 TiFlash 的内部实现。本文为系列文章的第一篇,将对 TiDB HTAP 的整体形态进行介绍,并详细解析存储层 DeltaTree 引擎进行优化的设计思路以及其子模块。
TiFlash 源码解读(二)计算层 Overview:本文将对 TiFlash 计算层进行介绍,包括架构的演进,DAGRequest 协议、dag request 在 TiFlash 侧的处理流程以及 MPP 基本原理。
TiFlash 源码阅读(三) DeltaTree 存储引擎设计及实现分析 - Part 1:从本文开始,我们将对 TiFlash 各个组件的设计及实现进行详细分析。**
TiFlash 源码解读(四) | TiFlash DDL 模块设计及实现分析:本文将介绍 TiFlash DDL 模块的相关内容,包括 DDL 模块的设计思路, 以及具体代码实现的方式。
TiFlash 源码阅读(六) DeltaTree Index 的设计和实现分析: 在前面的源码分析中对 TiFlash 存储层的读写流程进行了完整的梳理,本文将在这两篇文章的基础上对 DeltaTree Index 在读取时的作用以及如何维护 DeltaTree Index 进行讲解。
TiFlash 源码阅读(七)TiFlash Proxy 模块:本文主要介绍的是 TiFlash Proxy 模块的实现,即 TiFlash 副本是如何被添加以及获取数据的。
TiFlash 源码阅读(八)TiFlash 表达式的实现与设计:本文主要介绍的是 TiFlash 表达式的实现与设计,系统性地介绍了 TiFlash 表达式的基本概念,包括表达式体系,标量函数、聚合函数等,以期望读者能够对 TiFlash 的表达式计算有一个初步的了解。
TiFlash 源码阅读(九)TiFlash 中常用算子的设计与实现:本文主要介绍了数据库系统中常用的算子 Join 和 Aggregation 在 TiFlash 中的执行情况,包括查询计划生成、编译阶段与执行阶段,以期望读者对 TiFlash 的算子有初步的了解。
另外,我们也计划发布一些 TiFlash 的简单 issue,方便更多有参与意愿的贡献者参与进来,近期会通过文章的形式发布出来,欢迎关注。
Contributor 访谈
最后,你还可以通过其他优秀 Contributor 的经验中学习,以下都是关于他们的故事:
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/d5dfef265ee9cda0f8ca62def】。文章转载请联系作者。
评论