Talent Plan 是 PingCAP 联结华东师范大学、华中科技大学、中国科学技术大学、武汉大学和神州数码面向高校和工程师的将来数据库内核人才培养打算。通过结业考核的学员将取得官网认证的证书,并具备进入 TiDB 生态企业交换、实习和工作的机会。
为了让更多学员不会对体系宏大、内容艰深的 Talent Plan 课程望而生畏,或是大功告成,Talent Plan 学习社区推出了 Talent Plan 学习营流动。学习营以线上自学为主,加入学习分享讲座为辅,邀请往届毕业的学员做导师,将本人学习过程中遇到的坑和必要的知识点分享给其余学员,帮忙学员们将工夫用在真正要害的学习上。
Talent Plan KV 2021 学习营学员来自福州大学、华东师范、清华大学、武汉大学、卡内基梅隆大学、早稻田大学、纽约大学等高校,参加人数达到 400 人,可见大家对数据库常识学习的渴望。Talent Plan 课程有如下 5 个学习门路:Rust 编译原理和实现、实现一个 mini 版本分布式关系型数据库、实现一个 mini 版本分布式 KV 数据库、参加工业级开源分布式数据库 TiDB 开发、参加工业级开源分布式 KV 数据库 TiKV 开发。
从课程内容上讲,有如下 3 个系列:
系列 1: 开源合作
- TP101: 开源软件简介
- TP102: 如何应用 Git 和 Github
- TP103: 建设一个社区
系列 2: Rust 编程
- TP201: Rust 网络编程
- TP202: Rust 分布式系统
系列 3: 分布式数据库
- TP301: 用 Go 语言实现 TinySQL 分布式数据库
- TP302: 用 Go 语言实现 TinyKV 分布式 KV 数据库
学习内容涵盖了 SQL 语句基础知识、编译原理前端、DDL 异步变更算法、SQL 优化原理与优化器实现、统计信息与代价估算、Join reorder、执行引擎、物理算子的实现、KV 单机存储引擎(LSM-Tree)、Raft 一致性协定、Percolator 分布式事务模型、Go 语言、Rust 语言及开源协同工具等方面。
来自福州大学的「奥特曼都是假的」战队以优异的问题取得了一等奖,咱们在学习营结业后对「奥特曼都是假的」战队的黄章衡同学进行了专访,请他分享在学习营中的播种以及获奖教训。
“我之前也加入过一些软件设计类的比赛,比方中国大学生服务外包翻新守业大赛等。但这些较量可能更关注我的项目的包装,在 Talent Plan 学习营中,更关注的是学生的入手能力,以及是否坚持到底将我的项目实现。”
<div align = right>——黄章衡 </div>
开源为学习数据库关上一扇新大门
黄章衡来自福州大学 2019 级计算机系,平时在校的生存中,常常会和实验室的小伙伴参加一些软件设计类的比赛,拿过不少奖项。从大二下学期开始,逐步开始接触分布式系统和数据库相干畛域,并参加到一些开源我的项目中,之后就一发不可收拾,开始一直地学习分布式数据库相干常识。
之所以可能在本次学习营中获得一等奖的好问题,黄章衡坦言这段时间的学习起到了十分要害的作用:“我的根底比拟扎实,在加入学习营之前,我有学习到很多分布式数据库相干的理论知识。还有就是要不懈保持,在做我的项目的过程中会遇到很多 bug,只有一直地保持,批改那些 bug,缓缓就会胜利了。”
与开源的接触也为章衡学习分布式数据库关上一扇新的大门。他介绍,首次接触开源是一个叫 sofajraft 的开源我的项目。参加开源带给他最大的扭转,是从前学习一些软件我的项目,源码根本都看不懂。然而当支付一些开源我的项目的老手打算或者一些高难度的我的项目后,在做的过程中缓缓就发现之前一些看不懂的代码忽然能够看懂了。而后,通过缓缓地消化这些代码,继而学习整个零碎架构,就能够把所学的常识与实际相结合,这对于集体倒退是十分有帮忙的。
遇到困难多交换
在学习营之前,黄章衡其实曾经对 TiKV 的整体架构有了肯定理解,但他自我调侃理解水平还只是浮于外表,并且因为之前没有零碎学习过 Rust 语言,并没有深入研究它的代码。起初,章衡在一些前辈的敌人圈里看到了 Talent Plan 学习营的告诉,就报名加入了。
在本次 Talent Plan 学习营中,次要学习的课程是 TinyKV 我的项目。该课程中蕴含了四个 Project:
- Project1 是构建一个单机 kv server;
- Project2 是基于 raft 算法实现分布式键值数据库服务端;
- Project3 是在 project2 的根底上反对多个 raft 集群;
- Project4 是在 project3 的根底上反对分布式事务。
其中 Project 3 是泛滥学员公认难度最大的一个。黄章衡也示意 Project 3 里的每一个测试都会让人狐疑人生。事实上,每一个战队都会在 Project 3 卡很久。Project 3 中有一些 bug 不太好找,很多人可能在调试的过程中,调试了好几天都没有什么后果,就放弃了。
章衡认为这时候有一个比拟好的解决方案:去找一些别的战队或者导师交流经验,看看他们是否有产生过相似的问题,并且他们是如何解决的。因为很多 bug 大家都会遇到,可能有些人会有思路,去求教他们的思路,就能够解决本人的 bug。学习营中的导师通常都会非常热心地帮忙学员解决问题。
在交换的过程中,因为章衡的队名「奥特曼都是假的」比拟奇异,很多小伙伴都会间接叫他“奥特曼”,这也给短短两个月的学习过程中留下了乏味的回顾。章衡就靠着这个办法一直地改良着本人的我的项目,并最终获得成功。
学习倡议
作为过来人,章衡也为其余想学习 Talent Plan 学习营的小伙伴,分享了一些本人的学习教训:第一点,要把我的项目文档浏览好。实际上文档里曾经把要做的事件都曾经说分明了。第二点,要坚定不移,不要轻言放弃。在做我的项目的过程中你可能会遇到各种各样奇怪的 bug,多去和他人交换,多去看一些前辈的教训,理解他们是如何解决遇到的 bug,不要遇到 bug 就轻易放弃了,这其实对集体倒退也不好。
集体播种
在采访中,章衡走漏本人也报名了下一届学习营的导师,心愿将本人的学习教训分享给更多参加学习营的小伙伴们。不出意外的话,你就会在下一届学习营导师名单中看到“黄章衡”。
目前,章衡曾经在 PingCAP 实习中,集体对将来倒退的方向也心愿偏差基础架构、分布式数据库等方向。“我会持续往数据库这一畛域去倒退,在学习数据库的过程中,包含底层的存储和下层的计算,集体都是十分感兴趣的。从事分布式数据库相干的研发是我最感兴趣的事件。将来,我想我也会找这一块相干的工作。”
最近,Talent Plan 新流动——Talent Plan 2022 分布式事务短训营开营!专为 VLDB Summer School 2021 开发的课程——《分布式事务实现》通过前期降级上线,在本次学习营中正式亮相。本次学习营是 Talent Plan 学习社区针对有肯定数据库根底的学员发展的线上学习流动,意在帮忙大家利用两周的工夫疾速、透彻地学习分布式事务编程根底,在 TinyKV 中实现 Percolator、实现隔离与并发管制以及实现分布式时钟等实用主题。感兴趣的小伙伴能够点击浏览原文理解学习。