破解数据库内核人才困局:PingCAP 的思考与尝试丨Talent Plan 专访

本文主要是介绍破解数据库内核人才困局:PingCAP 的思考与尝试丨Talent Plan 专访,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据库最早可以追溯到上世纪 60 年代,和当代电子计算机属于同一时代的产物。从问世那一天起,数据库就承担着向上支撑应用软件,向下调动系统资源的功能,在 IT 架构中处于核心位置,被誉为“软件行业皇冠上的明珠”。但国内数据库领域研发人才紧缺,严重影响着数据库产业发展

那么,数据库人才究竟为什么会短缺?又该如何解决数据库人才面临的挑战?带着这些问题,我们采访了 PingCAP 高校关系与人才生态负责人王岩广老师,请他分享 PingCAP 在数据库人才领域的思考与尝试

,时长20:22

数据库的人才挑战

以国内的人才需求状况为例,高校毕业科班出身并投身于分布式数据库的开发者,每年只有 6000 — 7000 人。但对应到数据库行业,对人才的需求量究竟有多大呢?王岩广老师给出了一个数字—— 10倍,也就是每年需要 60000 — 70000 人。这个缺口不容小觑,如果不加以重视的话,数据库开发者就会面临新鲜血液短缺,甚至缺乏持续动力,面临“后继无人”的境地。

目前,国内高校中关于数据库的课程设置,还是以数据库使用及基于 SQL Server、MySQL 或 Oracle 等数据库做应用开发为主。从课程角度看,以关系型数据库为例,主要分为三类:一类是关于数据库表、数据的组织方式,如集合论、关系代数、关系范式、SQL 语言;一类是关于 DBMS 实现的课程;还有一类是工业界数据库的管理运维课程。

然而,在近十几年中,中国互联网经济带来的对于数据管理复杂度的需求,已经催生了对更复杂 DBMS 内核实现人才的需。但社会需求传导回高校教育尚需时间。

可能有人会问,除高校外,社会中也存在各种各样的的数据库技术培训机构,他们为什么不能填补这个人才空缺呢?这主要是因为相对于数据库内核开发岗位而言,对数据库使用或管理运维的岗位需求总量更大,社会培训机构普遍瞄准的肯定是更大空间的数据库运维市场,而对于 DBMS 开发这样知识路径很深,且需要掌握编译原理、操作系统、分布式系统等基础知识,同时从整体人才需求量而言又不像前者这样大的课程缺乏投入动力

PingCAP Talent Plan 的缘起

2018 年,PingCAP 创始人团队的刘奇和崔秋一起去美国湾区,参加了一个数据库行业会议。他们注意到一个令其印象深刻的现象,那个会议里有很多讲师是从教育界和学术界来的,包括一些教授、讲师甚至博士生。他们发现,这些人的理论水平、科研水平、工程水平都很厉害,这件事情对他们触动很大,于是回国后他们敏锐地决定要与高校开启一些科研合作。

这就是 Talent Plan 的缘起。为了解决数据库内核人才挑战,PingCAP 推出了开源数据库开发课程 ——Talent Plan 。通过联合优秀高校和企业,面向全国各高校数据库开发人才培养打造最佳实践平台,通过结业考核的学员还将获得官方认证的结业证书。

“分布式数据库和分布式系统都是比较新的领域,回想起当年刚学习这些内容时最大的困难就是没有系统的理论+循序渐进的实践结合的平台和课程,只能一边看零散的资料一边在工作中摸索,于是就有了做 Talent Plan 的想法,很高兴看到当时的初心现在变成了现实。” 

—— PingCAP 联合创始人兼 CTO 黄东旭

与高校进行科研合作,需要学生能够理解工业界产品,Talent Plan 就成为将学术界与工业界连接起来的那座桥梁。与 PingCAP 有合作关系的学校学生都能通过 Talent Plan 快速地了解 TiDB 等产品。

2018 年,一个迷你的 Talent Plan  0.1 版本开设起来了。从 0.1、0.2 到 1.0、2.0, Talent Plan 的路径模块、材料不断增加,不断迭代升级,目前学员已经累计超过 2000 多名

Talent plan 课程体系特点

在学习过程中,很多学员会将 Talent Plan 与 MIT 6.824 这样的侧重分布式理论的课程相比较。实际上,Talent Plan 是一个比  MIT 6.824 大得多的课程体系。MIT 6.824 严格意义并不是个数据库课程体系,它主要讲的是分布式系统,在 Talent Plan 中,PingCAP 为了致敬,用 Rust 语言重新实现了一遍 MIT 6.824 ,将其作为一个课程组件。

据王岩广介绍,Talent Plan 的课程体系中包括了 GitHub 如何用、开源怎么协作,甚至还有 Rust 和 Go 语言的基本功训练。为了帮助理解 TiDB ,Talent Plan 课程中还提供了 TinyKV 和 TiDB Server  的教学版本 TinySQL。

对于学员而言,Talent Plan 的课程具有很高的难度。例如,如果想要全面理解像 TinyKV 这样的模块大概要用两个月时间,每天需要花四到五个小时,是非常挑战的一门课。所以有些学生在学 Talent Plan 前,就会先去学 MIT 6.824 ,对 Raft 协议有一个基本的认识后,才会着手去学习 TinyKV。因为 TinyKV 里面除了 Raft 还有 Multi Raft、 MVCC 以及分布式事务模块,光这一个模块就比 MIT 6.824 要多很多东西,学习的工作量很大,可以说真的是一个“小火焰山”。

如何保证学习体验?

为了让更多学员不会对体系庞大、内容艰深的 Talent Plan 课程望而却步,或是半途而废,

平缓。

第一,举办学习营。

春节前,王岩广老师的团队刚刚举办了一期 Talent Plan 学习营。学习营以线上自学为主,参加学习分享讲座为辅,PingCAP 会邀请往届毕业的学员做导师,将自己学习过程中遇到的坑和必要的知识点分享给其他学员,帮助学员们将时间用在真正关键的学习上。学习营规模每期大概在 100-200 名学员,春节前这期参与人数甚至达到 400 人。

第二,Talent Plan 课程体系演进。

PingCAP 目前正在进行 Talentplan 3.0 的迭代。目标也是为使学员学习课程更加平缓,增加一些必要的基础知识信息。同时也会办一些短期培训,比如和中国计算机学会合作,在 VLDB 夏令营上就做过为期 6 天的集中短训

另外,PingCAP 还会通过举办一些比赛,吸引一些在数据库的开发和运维方面比较优秀,有学习数据库开发潜质的学员。同时,课程相关的文档也在不断积累。但是学习当然是密度较大的、常态化的,也是需要一直跟进“打卡”。

未来,PingCAP 还会将 Talent Plan 变成一个学习社区,这就不仅仅是 PingCAP 一家公司来主导了,里面的所有参与者都是利益相关方,资深的成员会很自然地形成帮带制度,高分学员还可以成为导师,来自一线工业界的工程师也可以进来指导开发经验。大家共同努力,共同享用,建设一个全新的、开放的、共享的、共治的,以开源模式引领的一种学习社区。

第三,通过学习社区共创一本 Talent Plan 的书。

之前,Talent Plan 虽然也有电子文档、论文、资料、PPT、实操课等,但一直没有一本实体的书。国内学生的习惯还是希望能有一本比较系统的书,

从概念到实操到作业,像是教材一样。有了这样的主线,学习体验也会更好一些。

拥抱开源的课程

作为 PingCAP 出手的项目,最重要的特点当然是开源。Talent Plan 所有课程从 0.1 起就是开源的,课程做出来以后,PingCAP 立刻将其放在 GitHub 上面。目前,它在 Github 上的赞星数高达 7000 余,在数据库课程领域里面可能是最高的一个。

后来的发展,完全超出了 PingCAP 的预期。Talent Plan 学员来源于 200 多所学校,其中包括约 50 所境外学校。由于课程是英文的,逐渐地,与 PingCAP 还没建立合作关系的国际学校,包括 MIT、CMU,以及日本和欧洲的一些学校也都来了。

Talent Plan 的成功,不仅仅是解决了 PingCAP 的问题,更大的动力是因为它解决的是行业问题。在人才这个困局面前,PingCAP 所有的行业竞争对手都变成友商,大家面临的问题是一样的,这是一个有利行业、有利于国家社会的事情,所以 PingCAP 会一直持续地投入下去。

对 Talent Plan 学员们的建议

王岩广老师对学员们的第一条建议就是“拥抱开源”。在分布式数据库领域,互联网、GitHub 里的学习资料其实有很多,如果不去拥抱开源,可能就很难进入这个领域。再者,学员们未来如果从事分布式数据库领域开发工作,工作的方式很可能还是围绕着开源方式展开,拥抱开源是大势所趋。他认为,新时代学生求职时的简历不再是一页纸,很可能会是他的 GitHub ID。他做过哪些开源项目,提过哪些 issue,是哪些项目的 Contributor,从 GitHub  上一目了然,它比传统一页纸的简历更加真实可信。

同时,开源项目往往都不仅仅是指开源产品本身,而是更大的开源生态范畴。如 TiDB 生态中包含着众多周边工具,大数据工具,甚至还有其他企业做的发行版。这些生态都需要开发人才,如果你对生态中的核心产品很熟,会成为生态中非常受欢迎的人才,就业空间也会很大。

第二条学习建议是学习路径。由于 Talent Plan 整个课程体系难度较大,学员们可以先从单机数据库课程开始学习,比如 Andy Pavlo 的15445 课程、MIT 6.824 课程,这些都可以作为前序基础知识。

Talent Plan 的意义

目前,数据库人才需求的挑战还很大,但是 Talent Plan,以及整个 PingCAP Education 都在不懈努力,让每一个有志学生都能够很快地通过一个开源的学习通道,进入开源分布式数据库的开发生态里。

PingCAP 用开源融化了工程界和学术界之间的界限,并改变了教学模式,老师和学生之间不再是传统的授课关系,而是变成学习社区里共同学研的平等关系。欢迎更多小伙伴们加入 Talent Plan 中,通过学习最终踏上分布式数据库“高阶玩家”的平台,也欢迎大家提供建议、贡献智慧,一起打造“共建共享”的学习社区!

这篇关于破解数据库内核人才困局:PingCAP 的思考与尝试丨Talent Plan 专访的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/540707

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

DM8数据库安装后配置

1 前言 在上篇文章中,我们已经成功将库装好。在安装完成后,为了能够更好地满足应用需求和保障系统的安全稳定运行,通常需要进行一些基本的配置。下面是一些常见的配置项: 数据库服务注册:默认包含14个功能模块,将这些模块注册成服务后,可以更好的启动和管理这些功能;基本的实例参数配置:契合应用场景和发挥系统的最大性能;备份:有备无患;… 2 注册实例服务 注册了实例服务后,可以使用系统服务管理,

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争