当前位置: 首页 > 科技观察

破解数据库内核的人才困境:PingCAP的思考与尝试丨人才计划访谈

时间:2023-03-19 02:15:46 科技观察

最早的数据库可以追溯到1960年代,与当代电子计算机是同一时代的产物。数据库从问世之日起,就承担了向上支撑应用软件,向下调动系统资源的功能。它处于IT架构的核心,被誉为“软件业皇冠上的明珠”。然而,国内数据库领域研发人才的短缺严重影响了数据库行业的发展。那么,为什么会出现数据库人才短缺的情况呢?以及如何解决数据库人才面临的挑战?带着这些问题,我们专访了PingCAP高校关系与人才生态负责人王延光先生,请他分享PingCAP在数据库人才领域的思考与尝试。数据库人才挑战以国内人才需求情况为例,每年只有6000-7000名高校毕业生投身于分布式数据库的开发者。但是对应到数据库行业,对人才的需求有多大呢?王延光老师给出了一个数字——10倍,也就是每年需要6万-7万人。不应低估这一差距。如果不重视,数据库开发人员将面临新鲜血液短缺,甚至缺乏源源不断的动力,面临“后继有人”的局面。目前,国内高校数据库的课程设置仍以SQLServer、MySQL或Oracle等数据库的使用和应用开发为主。从课程上看,以关系数据库为例,主要分为三类:一类是关于数据库表和数据的组织,如集合论、关系代数、关系范式、SQL语言等;另一个是关于DBMS实现的。培训班;还有一类是工业数据库的管理和操作课程。然而,近十年来,中国互联网经济带来的数据管理复杂性需求,催生了对更复杂的DBMS内核实现人才的需求。然而,将社会需求传回高等教育还需要时间。有人会问,除了高校,社会上还有各种数据库技术培训机构,为什么不能填补这个人才空缺呢?这主要是因为与数据库内核开发职位相比,数据库使用或管理运维职位的总需求量更大。社会培训机构一般针对更大的数据库运维市场,而对于DBMS开发这样的知识路径非常深,需要掌握编译原理、操作系统、分布式系统等基础知识。同时,就整体人才需求而言,不如前者大,缺乏投资动力。PingCAP人才计划的由来2018年,PingCAP创始人团队的刘奇和崔秋前往美国湾区参加一个数据库行业会议。他们注意到一个令人印象深刻的现象。那次会议的很多讲师都来自教育界和学术界,包括一些教授、讲师甚至博士生。他们发现这些人的理论水平、科研水平、工程水平都很好。这件事对他们触动很大,回国后他们敏锐地决定与高校开展一些科研合作。这就是人才计划的由来。为解决数据库核心人才挑战,PingCAP推出开源数据库开发课程——人才计划。通过优秀高校与企业的合作,为全国高校数据库开发人才培养打造最佳实践平台。通过结业评估的学生还将获得官方认证的结业证书。》分布式数据库和分布式系统是比较新的领域,回想当初学习这些内容的时候,最大的困难是没有系统理论+循序渐进实践相结合的平台和课程,工作摸索着,于是来了萌生了人才计划的想法,很高兴看到当时的初衷现在变成了现实。”——PingCAP联合创始人兼CTO黄东旭与高校开展科研合作,要求学生能够理解工业产品,TalentPlan成为连接学术界和产业界的桥梁,与PingCAP有合作关系的学校学生可以快速通过TalentPlan了解TiDB等产品,2018年开启了miniTalentPlan0.1版本,从0.1、0.2到1.0、2.0,TalentPlan的路径模块和素材不断增加,迭代升级。目前在校学生2000多人TalentPlan课程体系的特点在学习过程中,很多学生会将TalentPlan与MIT6.824等主打分布式理论的课程进行比较,其实TalentPlan是一个更大的课程系统比MIT6.824要严格,MIT6.824严格来说不是数据库课程系统,主要讲分布式系统,在TalentPlan中,PingCAPpay致敬并用Rust语言重新实现MIT6.824作为课程组件。据王艳光介绍,人才计划的课程体系包括如何使用GitHub、如何与开源协作,甚至包括Rust和Go语言的基本技能培训。为了帮助理解TiDB,人才计划课程还提供了TiDBServer教育版TinyKV和TinySQL。TalentPlan课程对学生来说非常具有挑战性。比如像TinyKV这样的模块,你想要完全理解,大概需要两个月的时间,每天需要花费四五个小时,这是一门非常具有挑战性的课程。所以有些同学在学习人才计划之前先学习MIT6.824,只有对Raft协议有了基本的了解之后,才会开始学习TinyKV。因为除了Raft,TinyKV还有MultiRaft、MVCC和分布式事务模块。光是这个模块就比MIT6.824的东西多了很多,学习的工作量非常大。可以说,它真的是一座“小火焰山”。如何保证学习体验?为了防止更多的同学被TalentPlan课程庞大的系统和难懂的内容吓倒,或者中途放弃,PingCAP也在采取一系列措施,让TalentPlan的学习更加顺畅。一是举办学习营。春节前,王延光老师的团队刚刚举办了人才计划学习营。学习营以线上自学为主,参加学习分享讲座为辅。PingCAP会邀请往年毕业的同学做导师,将学习过程中遇到的坑和必要的知识点分享给其他同学,帮助同学们打发时间。将它用于真正批判性的学习。游学营的规模在每期100-200人左右,春节前这期的参训人数甚至达到了400人。二是人才计划课程体系的演变。PingCAP目前正在进行Talentplan3.0的迭代。目的也是为了让学生学习的更顺利,补充一些必要的基础知识信息。同时,也会组织一些短期的培训。例如,与中国计算机学会合作,在VLDB夏令营进行了为期6天的短期强化培训。此外,PingCAP还会举办一些比赛,吸引在数据库开发和运维方面表现优秀,有学习数据库开发潜力的同学。同时,与课程相关的文档也在不断积累。但学习当然是密集和常态化的,也需要跟进“签到”。未来,PingCAP还将TalentPlan打造成一个学习社区,而不仅仅是PingCAP主导。参与其中的都是利益相关者,资深成员自然会形成导师制。副学员也可以成为导师,一线行业的工程师也可以进来指导开发经验。大家一起工作,一起享受,共同构建一个以开源模式为主导的开放、共享、共治的新型学习社区。第三,通过学习社区共同创建人才计划书。此前,人才计划虽然也有电子文档、论文、资料、PPT、实践课程等,但从来没有实体书。国内学生的习惯还是希望有一本比较系统的书,从概念到实操再到作业,就像教科书一样。有了这样的主线,学习体验会更好。拥抱开源课程作为PingCAP推出的项目,最大的特点当然是开源。TalentPlan的所有课程从0.1开始全部开源,PingCAP在课程制作完成后第一时间放到了GitHub上。目前在Github上有超过7000个好评star,这可能是数据库课程领域中最高的。后续的发展完全超出了PingCAP的预期。英才计划学生来自200多所学校,其中海外学校约50所。由于课程是全英文的,渐渐地,还没有和PingCAP建立合作关系的国际学校,包括MIT、CMU,以及日本和欧洲的一些学校也来了。人才计划的成功,不仅仅是解决了PingCAP的问题,更重要的是解决了行业的问题。面对人才困境,PingCAP的行业竞争对手都成了朋友。每个人面临的问题都是一样的。这是一件有利于行业和国家社会的事情,所以PingCAP会继续投入。给英才计划学员的建议王延光老师给学员们的第一个建议就是“拥抱开源”。在分布式数据库领域,网上和GitHub上其实有很多学习资料。如果不拥抱开源,可能很难进入这个领域。再者,如果同学们以后从事分布式数据库领域的开发,工作方式很可能围绕开源展开,拥抱开源是大势所趋。他认为,新时代学生求职时的简历不再是一页纸,很可能就是他的GitHubID。他做过哪些开源项目,提到过哪些问题,是哪些项目的Contributor,在GitHub上一目了然,比传统的一页简历更真实可信。同时,开源项目往往不仅仅指开源产品本身,而是指更大的开源生态系统。例如,TiDB生态中包含了很多周边工具、大数据工具,甚至是其他公司的发行版。所有这些生态系统都需要开发人才。如果你熟悉生态圈中的核心产品,你将成为生态圈中非常抢手的人才,就业机会也会非常多。第二个学习建议是学习路径。由于整个TalentPlan课程体系的难度较大,同学们可以从单机数据库课程入手,比如AndyPavlo的15445课程和MIT6.824课程,可以作为预购基础知识。TalentPlan的意义目前,数据库人才需求的挑战依然巨大,但TalentPlan和整个PingCAP教育都在不懈努力,让每一位有志之士通过开源学习通道快速进入开源分布式数据库发展生态系统。PingCAP以开源的方式融化了工程与学术的界限,改变了教学模式。师生关系不再是传统的教学关系,而是学习共同体中相互学习和研究的平等关系。欢迎更多朋友加入英才计划,通过学习终于踏上分布式数据库“高手”平台。也欢迎大家献计献策,贡献智慧,共同打造“共建共享”的学习共同体!