自 2018 年 12 月份 Talent Plan 项目启动至今(北京时间 2020 年 3 月 7 日),线上课程共吸引国内外实名认证课程爱好者 400 余人,40 余人顺利通过线上课程的考核;线下实训项目成功举办 4 期,38 名同学顺利结业,15 名同学在通过 Talent Plan 课程考核后陆续加入 PingCAP,其他同学也持续在 TiDB Community 中发挥自己的光和热。

    Talent Plan 是为社区提供的学习资料,也在社区的建议和反馈中不断优化成长。在社区小伙伴的共同努力下,Talent Plan 正在进行新一轮的升级,这是一个涵盖了开源协作、Rust 语言、分布式数据库、分布式系统、TiDB/TiKV 原理精讲等线上学习课程以及 TiDB 开源社区项目线下实训课程的更大的学习版图。课程框架见下图:

    Talent Plan Framework

    1. 线上课程

    线上课程包括 4 个课程系列,分别是:、Programming Language 课程系列、、Deep Dive into TiDB Ecosystem 课程系列

    每个课程系列中会有相关的课程供大家选择,课程之间是相互解耦的,大家可以结合自己需求自由规划学习路径。

    Series 1: Open Source Collaboration(WIP)

    这是专门为零基础开源爱好者准备的全新课程系列,我们希望通过这个系列课程的学习,即使是技术小白也能快速了解开源是什么、不同开源软件许可协议的差异、知名开源基金会(Linux、Apache、CNCF 等)的运作方式以及 TiDB 在开源方面的实践,快速掌握参与开源项目的小技巧。

    Series 2: Programming Language

    这个课程系列中将逐步对当下常用的编程语言学习课程进行整合,包括但不限于 Go、Rust、C++、Python 等。

    需要特别介绍的是由 Rust 核心作者 Brian Anderson 精心设计的 Rust 学习课程—— ,通过这部分课程的学习,你将能够独立创建一个基于 Rust 语言的 Key-Value 数据库。

    Series 3: Infrastructure Systems

    这个课程系列专为基础设施爱好者设计,其中包括:

    • 用 Go 语言全新设计的分布式关系型数据库(TinySQL)课程(WIP)
    • 用 Go 语言全新设计的分布式 Key-Value 数据库()课程(WIP)
    • 用 Rust 语言打造的分布式系统(Distributed Systems in Rust)课程

    TinySQL 几乎涵盖了分布式数据库 SQL 层最重要的部分,课程介绍按照由简单到复杂,由静态到动态的顺序展开:

    • 首先对 SQL 和关系代数做简要介绍,为后面的课程做准备。
    • 然后关注于一个只读 SQL 的执行,从 Parser 开始解析语义,到执行器如何执行语义,再去了解优化器如何选出最优的执行计划;
    • 最后关注于那些改变数据状态的 SQL(包括 DML 以及 DDL),以及如何处理它们和只读语句之间的相互影响。

    TinyKV 类似已有的 课程,它同样受著名的 MIT 6.824 所启发,但这次将更加接近 TiKV 的实现,引入调度相关逻辑,学员可以从 0 到 1 实现一个完整可用的分布式 KV 服务。课程主要分为四个部分:

    • LAB1: 实现单机 KV server
    • LAB2: 基于 Raft 实现多副本高可用 KV server
    • LAB3: 实现 multi-Raft 以及数据均衡调度
    • LAB4: 基于 percolator 模型实现分布式事务

    通过 TinyKV 课程的学习,你将会从实践中对 Raft 协议,Percolator 分布式事务模型有一个更深刻的理解。同时,在实现 TinyKV 的过程中也有助于了解 TiDB + TiKV + PD 的实际框架,之后深入研究 TiDB/TiKV/PD 的源码会更加游刃有余。

    目前,全新设计的 TinySQL 和 TinyKV 课程已经基本实现了一个可用的课程框架和相关测试,接下来会进行进一步的优化调整,同时课程材料也在紧锣密鼓地进行编写中。如果你对于这个课程感兴趣,欢迎通过 参与通道 与我们取得联系。

    Series 4: Deep Dive into TiDB Ecosystem

    2. 线下实训——Talent Challenge Program

    线上课程成绩优秀的小伙伴将会被邀请参与线下实训项目,实训项目以小组方式进行,每个小组选择一个与 TiDB 生态系统相关的实训项目,在 1 个月左右的时间里通力协作完成项目并进行最终答辩,答辩通过的同学将获得专属 PingCAP Talent Plan 结业证书,线下实训期间表现优秀的还将有机会拿到 PingCAP 校招/实习免面试绿色通道/Special Offer、 PingCAP/TiDB 全球 Meetup 的邀请函等。

    截止目前,线下实训已成功举办 4 期,累计线下学员数 41 人,累计覆盖 10 所高校,38 名同学顺利结业。

    路径 1: Distributed Storage Engineer

    如果你想要成为一名分布式存储工程师,可以选择以下课程组合:

    路径 2: Distributed Relational Database Engineer

    如果你想要成为一名分布式关系型数据库工程师,可以选择以下课程组合:

    路径 3: Cloud TiDB Engineer

    如果你想要成为一名云数据库工程师,可以选择以下课程组合:

    • Programming Language: ““
    • Container & Container Orchestration (Docker、K8s …)
    • “Deep Dive into Cloud TiDB(WIP)”

    路径 4: 开源社区运营

    如果你对开源社区运营感兴趣,可以选择:

    Talent Plan 规划了一个巨大的学习版图,我们期待着能与社区小伙伴一起逐步实现、不断优化,真正做到“Made for Community, by Community”。

    • 如果你想要为 Talent Plan 升级版课程贡献自己的一份力量,我们在 中开通了channel: #wg-talent-plan-courses,欢迎感兴趣的小伙伴们加入进来,一起打造更加“酷炫”的 2.0 版本!