黄东旭解析 TiDB 的核心优势
401
2024-03-19
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
Slack:https://pingcap.com/tidbslack
我们为 Contributor 准备了一份 Development Guide,旨在帮助贡献者从新手成长为 TiDB 专家,熟悉 TiDB 的设计和实施,从而能够在现实世界中流畅地使用它,并进行深入开发工作。主要包含以下内容:
Chapter 1 . 开始准备工作:假设你是一个 TiDB 新手,本章节将教你安装开发环境,构建并连接到 tidb-server。
Chapter 2 . 为 TiDB 做贡献:帮助你快速参与社区,描述了贡献类型以及如何快速实现你的 first contribution。
Chapter 3 . 深入了解 TiDB
Chapter 4 . 项目管理
此外你可以可以通过 TiDB 核心研发产出的文章学习更多技术点,比如:
How we build TiDB: English, Chinese
TiDB Internal (I) - Data Storage: English, Chinese
TiDB Internal (II) - Computing:English, Chinese
TiDB Internal (III) - Scheduling: English, Chinese
TiDB 源码阅读
TiKV 源码解析
Binlog 源码阅读
DM 源码阅读
TiDB Operator 源码阅读
高性能 TiDB 教程:https://university.pingcap.com/courses/High-Performance-TiDB
Talent Plan 教程:https://university.pingcap.com/talent-plan/
今年 4 月,TiFlash 刚刚开源,社区组织了九期 TiFlash 源码阅读活动,带你深入浅出认识 TiFlash 源码:
TiFlash 源码阅读(一) TiFlash 存储层概览:TiFlash 是 TiDB 的分析引擎,是 TiDB HTAP 形态的关键组件。TiFlash 源码阅读系列文章将从源码层面介绍 TiFlash 的内部实现。本文为系列文章的第一篇,将对 TiDB HTAP 的整体形态进行介绍,并详细解析存储层 DeltaTree 引擎进行优化的设计思路以及其子模块。
活动视频回放 :TiFlash 存储引擎的设计思路_哔哩哔哩_bilibili
TiFlash 源码解读(二)计算层 Overview:本文将对 TiFlash 计算层进行介绍,包括架构的演进,DAGRequest 协议、dag request 在 TiFlash 侧的处理流程以及 MPP 基本原理。
视频回放:源码解读 - TiFlash 计算层 Overview_哔哩哔哩_bilibili
TiFlash 源码阅读(三) DeltaTree 存储引擎设计及实现分析 - Part 1:从本文开始,我们将对 TiFlash 各个组件的设计及实现进行详细分析。**
视频回放:TiFlash DeltaTree 引擎设计及实现解析_哔哩哔哩_bilibili
TiFlash 源码解读(四) | TiFlash DDL 模块设计及实现分析:本文将介绍 TiFlash DDL 模块的相关内容,包括 DDL 模块的设计思路, 以及具体代码实现的方式。
视频回放:源码解读 | TiFlash 存储层 DeltaTree 引擎(读路径)_哔哩哔哩_bilibili
TiFlash 源码阅读(五) DeltaTree 存储引擎设计及实现分析 - Part 2:
视频回放:源码解读 | TiFlash DDL 模块设计及实现解析_哔哩哔哩_bilibili
TiFlash 源码阅读(六) DeltaTree Index 的设计和实现分析: 在前面的源码分析中对 TiFlash 存储层的读写流程进行了完整的梳理,本文将在这两篇文章的基础上对 DeltaTree Index 在读取时的作用以及如何维护 DeltaTree Index 进行讲解。
视频回放:源码解读 | TiFlash 中常用算子的设计与实现_哔哩哔哩_bilibili
TiFlash 源码阅读(七)TiFlash Proxy 模块:本文主要介绍的是 TiFlash Proxy 模块的实现,即 TiFlash 副本是如何被添加以及获取数据的。
视频回放:TiFlash DeltaTree Index_哔哩哔哩_bilibili
TiFlash 源码阅读(八)TiFlash 表达式的实现与设计:本文主要介绍的是 TiFlash 表达式的实现与设计,系统性地介绍了 TiFlash 表达式的基本概念,包括表达式体系,标量函数、聚合函数等,以期望读者能够对 TiFlash 的表达式计算有一个初步的了解。
视频回放:TiFlash Proxy 模块介绍_哔哩哔哩_bilibili
TiFlash 源码阅读(九)TiFlash 中常用算子的设计与实现:本文主要介绍了数据库系统中常用的算子 Join 和 Aggregation 在 TiFlash 中的执行情况,包括查询计划生成、编译阶段与执行阶段,以期望读者对 TiFlash 的算子有初步的了解。
视频回放:TiFlash 表达式的实现与设计_哔哩哔哩_bilibili
另外,我们也计划发布一些 TiFlash 的简单 issue,方便更多有参与意愿的贡献者参与进来,近期会通过文章的形式发布出来,欢迎关注。
最后,你还可以通过其他优秀 Contributor 的经验中学习,以下都是关于他们的故事:
创造了不起丨TiKV Committer 的最快养成方法
创造了不起 | Little-Wallace 和 Yisaer 的 Committer 之路
TiKV Committer 庄天翼:只要能提升 Codebase 质量,就值得提交 PR
做一切为了好玩的极客,TiDB Committer 王贺的心路历程
TiDB Committer | 男友力 max 的典型工程师马钰杰
从使用者到开发者,知乎参与 TiDB 社区背后的故事
开源社区怎么玩?明星项目 TiKV 的 Maintainer 这样说……
感受开源的魅力,TiDB Committer 白珅的数据库探索之路
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。