數(shù)據(jù)庫(kù)最早可以追溯到上世紀(jì) 60 年代,和當(dāng)代電子計(jì)算機(jī)屬于同一時(shí)代的產(chǎn)物。從問(wèn)世那一天起,數(shù)據(jù)庫(kù)就承擔(dān)著向上支撐應(yīng)用軟件,向下調(diào)動(dòng)系統(tǒng)資源的功能,在 IT 架構(gòu)中處于核心位置,被譽(yù)為“軟件行業(yè)皇冠上的明珠”。但國(guó)內(nèi)數(shù)據(jù)庫(kù)領(lǐng)域研發(fā)人才緊缺,嚴(yán)重影響著數(shù)據(jù)庫(kù)產(chǎn)業(yè)發(fā)展。
那么,數(shù)據(jù)庫(kù)人才究竟為什么會(huì)短缺?又該如何解決數(shù)據(jù)庫(kù)人才面臨的挑戰(zhàn)?帶著這些問(wèn)題,我們采訪(fǎng)了PingCAP 高校關(guān)系與人才生態(tài)負(fù)責(zé)人王巖廣老師,請(qǐng)他分享 PingCAP 在數(shù)據(jù)庫(kù)人才領(lǐng)域的思考與嘗試。
數(shù)據(jù)庫(kù)的人才挑戰(zhàn)
以國(guó)內(nèi)的人才需求狀況為例,高校畢業(yè)科班出身并投身于分布式數(shù)據(jù)庫(kù)的開(kāi)發(fā)者,每年只有 6000 — 7000 人。但對(duì)應(yīng)到數(shù)據(jù)庫(kù)行業(yè),對(duì)人才的需求量究竟有多大呢?王巖廣老師給出了一個(gè)數(shù)字—— 10倍,也就是每年需要 60000 — 70000 人。這個(gè)缺口不容小覷,如果不加以重視的話(huà),數(shù)據(jù)庫(kù)開(kāi)發(fā)者就會(huì)面臨新鮮血液短缺,甚至缺乏持續(xù)動(dòng)力,面臨“后繼無(wú)人”的境地。
目前,國(guó)內(nèi)高校中關(guān)于數(shù)據(jù)庫(kù)的課程設(shè)置,還是以數(shù)據(jù)庫(kù)使用及基于 SQL Server、MySQL 或 Oracle 等數(shù)據(jù)庫(kù)做應(yīng)用開(kāi)發(fā)為主。從課程角度看,以關(guān)系型數(shù)據(jù)庫(kù)為例,主要分為三類(lèi):一類(lèi)是關(guān)于數(shù)據(jù)庫(kù)表、數(shù)據(jù)的組織方式,如集合論、關(guān)系代數(shù)、關(guān)系范式、SQL 語(yǔ)言;一類(lèi)是關(guān)于 DBMS 實(shí)現(xiàn)的課程;還有一類(lèi)是工業(yè)界數(shù)據(jù)庫(kù)的管理運(yùn)維課程。
然而,在近十幾年中,中國(guó)互聯(lián)網(wǎng)經(jīng)濟(jì)帶來(lái)的對(duì)于數(shù)據(jù)管理復(fù)雜度的需求,已經(jīng)催生了對(duì)更復(fù)雜 DBMS 內(nèi)核實(shí)現(xiàn)人才的需求。但社會(huì)需求傳導(dǎo)回高校教育尚需時(shí)間。
可能有人會(huì)問(wèn),除高校外,社會(huì)中也存在各種各樣的的數(shù)據(jù)庫(kù)技術(shù)培訓(xùn)機(jī)構(gòu),他們?yōu)槭裁床荒芴钛a(bǔ)這個(gè)人才空缺呢?這主要是因?yàn)橄鄬?duì)于數(shù)據(jù)庫(kù)內(nèi)核開(kāi)發(fā)崗位而言,對(duì)數(shù)據(jù)庫(kù)使用或管理運(yùn)維的崗位需求總量更大,社會(huì)培訓(xùn)機(jī)構(gòu)普遍瞄準(zhǔn)的肯定是更大空間的數(shù)據(jù)庫(kù)運(yùn)維市場(chǎng),而對(duì)于 DBMS 開(kāi)發(fā)這樣知識(shí)路徑很深,且需要掌握編譯原理、操作系統(tǒng)、分布式系統(tǒng)等基礎(chǔ)知識(shí),同時(shí)從整體人才需求量而言又不像前者這樣大的課程缺乏投入動(dòng)力。
PingCAP Talent Plan 的緣起
2018 年,PingCAP 創(chuàng)始人團(tuán)隊(duì)的劉奇和崔秋一起去美國(guó)灣區(qū),參加了一個(gè)數(shù)據(jù)庫(kù)行業(yè)會(huì)議。他們注意到一個(gè)令其印象深刻的現(xiàn)象,那個(gè)會(huì)議里有很多講師是從教育界和學(xué)術(shù)界來(lái)的,包括一些教授、講師甚至博士生。他們發(fā)現(xiàn),這些人的理論水平、科研水平、工程水平都很厲害,這件事情對(duì)他們觸動(dòng)很大,于是回國(guó)后他們敏銳地決定要與高校開(kāi)啟一些科研合作。
這就是 Talent Plan 的緣起。為了解決數(shù)據(jù)庫(kù)內(nèi)核人才挑戰(zhàn),PingCAP 推出了開(kāi)源數(shù)據(jù)庫(kù)開(kāi)發(fā)課程 ——Talent Plan 。通過(guò)聯(lián)合優(yōu)秀高校和企業(yè),面向全國(guó)各高校數(shù)據(jù)庫(kù)開(kāi)發(fā)人才培養(yǎng)打造最佳實(shí)踐平臺(tái),通過(guò)結(jié)業(yè)考核的學(xué)員還將獲得官方認(rèn)證的結(jié)業(yè)證書(shū)。
“分布式數(shù)據(jù)庫(kù)和分布式系統(tǒng)都是比較新的領(lǐng)域,回想起當(dāng)年剛學(xué)習(xí)這些內(nèi)容時(shí)最大的困難就是沒(méi)有系統(tǒng)的理論+循序漸進(jìn)的實(shí)踐結(jié)合的平臺(tái)和課程,只能一邊看零散的資料一邊在工作中摸索,于是就有了做 Talent Plan 的想法,很高興看到當(dāng)時(shí)的初心現(xiàn)在變成了現(xiàn)實(shí)。”
—— PingCAP 聯(lián)合創(chuàng)始人兼 CTO 黃東旭
與高校進(jìn)行科研合作,需要學(xué)生能夠理解工業(yè)界產(chǎn)品,Talent Plan 就成為將學(xué)術(shù)界與工業(yè)界連接起來(lái)的那座橋梁。與 PingCAP 有合作關(guān)系的學(xué)校學(xué)生都能通過(guò) Talent Plan 快速地了解 TiDB 等產(chǎn)品。
2018 年,一個(gè)迷你的 Talent Plan 0.1 版本開(kāi)設(shè)起來(lái)了。從 0.1、0.2 到 1.0、2.0, Talent Plan 的路徑模塊、材料不斷增加,不斷迭代升級(jí),目前學(xué)員已經(jīng)累計(jì)超過(guò) 2000 多名。
Talent plan 課程體系特點(diǎn)
在學(xué)習(xí)過(guò)程中,很多學(xué)員會(huì)將 Talent Plan 與 MIT 6.824 這樣的側(cè)重分布式理論的課程相比較。實(shí)際上,Talent Plan 是一個(gè)比 MIT 6.824 大得多的課程體系。MIT 6.824 嚴(yán)格意義并不是個(gè)數(shù)據(jù)庫(kù)課程體系,它主要講的是分布式系統(tǒng),在 Talent Plan 中,PingCAP 為了致敬,用 Rust 語(yǔ)言重新實(shí)現(xiàn)了一遍 MIT 6.824 ,將其作為一個(gè)課程組件。
據(jù)王巖廣介紹,Talent Plan 的課程體系中包括了 GitHub 如何用、開(kāi)源怎么協(xié)作,甚至還有 Rust 和 Go 語(yǔ)言的基本功訓(xùn)練。為了幫助理解 TiDB ,Talent Plan 課程中還提供了 TinyKV 和 TiDB Server 的教學(xué)版本 TinySQL。
對(duì)于學(xué)員而言,Talent Plan 的課程具有很高的難度。例如,如果想要全面理解像 TinyKV 這樣的模塊大概要用兩個(gè)月時(shí)間,每天需要花四到五個(gè)小時(shí),是非常挑戰(zhàn)的一門(mén)課。所以有些學(xué)生在學(xué) Talent Plan 前,就會(huì)先去學(xué) MIT 6.824 ,對(duì) Raft 協(xié)議有一個(gè)基本的認(rèn)識(shí)后,才會(huì)著手去學(xué)習(xí) TinyKV。因?yàn)?TinyKV 里面除了 Raft 還有 Multi Raft、 MVCC 以及分布式事務(wù)模塊,光這一個(gè)模塊就比 MIT 6.824 要多很多東西,學(xué)習(xí)的工作量很大,可以說(shuō)真的是一個(gè)“小火焰山”。
如何保證學(xué)習(xí)體驗(yàn)?
為了讓更多學(xué)員不會(huì)對(duì)體系龐大、內(nèi)容艱深的 Talent Plan 課程望而卻步,或是半途而廢,PingCAP 也在通過(guò)一系列舉措,將學(xué)習(xí) Talent Plan 的順滑度變得更加平緩。
第一,舉辦學(xué)習(xí)營(yíng)。
春節(jié)前,王巖廣老師的團(tuán)隊(duì)剛剛舉辦了一期 Talent Plan 學(xué)習(xí)營(yíng)。學(xué)習(xí)營(yíng)以線(xiàn)上自學(xué)為主,參加學(xué)習(xí)分享講座為輔,PingCAP 會(huì)邀請(qǐng)往屆畢業(yè)的學(xué)員做導(dǎo)師,將自己學(xué)習(xí)過(guò)程中遇到的坑和必要的知識(shí)點(diǎn)分享給其他學(xué)員,幫助學(xué)員們將時(shí)間用在真正關(guān)鍵的學(xué)習(xí)上。學(xué)習(xí)營(yíng)規(guī)模每期大概在 100-200 名學(xué)員,春節(jié)前這期參與人數(shù)甚至達(dá)到 400 人。
第二,Talent Plan 課程體系演進(jìn)。
PingCAP 目前正在進(jìn)行 Talentplan 3.0 的迭代。目標(biāo)也是為使學(xué)員學(xué)習(xí)課程更加平緩,增加一些必要的基礎(chǔ)知識(shí)信息。同時(shí)也會(huì)辦一些短期培訓(xùn),比如和中國(guó)計(jì)算機(jī)學(xué)會(huì)合作,在 VLDB 夏令營(yíng)上就做過(guò)為期 6 天的集中短訓(xùn)。
另外,PingCAP 還會(huì)通過(guò)舉辦一些比賽,吸引一些在數(shù)據(jù)庫(kù)的開(kāi)發(fā)和運(yùn)維方面比較優(yōu)秀,有學(xué)習(xí)數(shù)據(jù)庫(kù)開(kāi)發(fā)潛質(zhì)的學(xué)員。同時(shí),課程相關(guān)的文檔也在不斷積累。但是學(xué)習(xí)當(dāng)然是密度較大的、常態(tài)化的,也是需要一直跟進(jìn)“打卡”。
未來(lái),PingCAP 還會(huì)將 Talent Plan 變成一個(gè)學(xué)習(xí)社區(qū),這就不僅僅是 PingCAP 一家公司來(lái)主導(dǎo)了,里面的所有參與者都是利益相關(guān)方,資深的成員會(huì)很自然地形成幫帶制度,高分學(xué)員還可以成為導(dǎo)師,來(lái)自一線(xiàn)工業(yè)界的工程師也可以進(jìn)來(lái)指導(dǎo)開(kāi)發(fā)經(jīng)驗(yàn)。大家共同努力,共同享用,建設(shè)一個(gè)全新的、開(kāi)放的、共享的、共治的,以開(kāi)源模式引領(lǐng)的一種學(xué)習(xí)社區(qū)。
第三,通過(guò)學(xué)習(xí)社區(qū)共創(chuàng)一本 Talent Plan 的書(shū)。
之前,Talent Plan 雖然也有電子文檔、論文、資料、PPT、實(shí)操課等,但一直沒(méi)有一本實(shí)體的書(shū)。國(guó)內(nèi)學(xué)生的習(xí)慣還是希望能有一本比較系統(tǒng)的書(shū),
從概念到實(shí)操到作業(yè),像是教材一樣。有了這樣的主線(xiàn),學(xué)習(xí)體驗(yàn)也會(huì)更好一些。
擁抱開(kāi)源的課程
作為 PingCAP 出手的項(xiàng)目,最重要的特點(diǎn)當(dāng)然是開(kāi)源。Talent Plan 所有課程從 0.1 起就是開(kāi)源的,課程做出來(lái)以后,PingCAP 立刻將其放在 GitHub 上面。目前,它在 Github 上的贊星數(shù)高達(dá) 7000 余,在數(shù)據(jù)庫(kù)課程領(lǐng)域里面可能是最高的一個(gè)。
后來(lái)的發(fā)展,完全超出了 PingCAP 的預(yù)期。Talent Plan 學(xué)員來(lái)源于 200 多所學(xué)校,其中包括約 50 所境外學(xué)校。由于課程是英文的,逐漸地,與 PingCAP 還沒(méi)建立合作關(guān)系的國(guó)際學(xué)校,包括 MIT、CMU,以及日本和歐洲的一些學(xué)校也都來(lái)了。
Talent Plan 的成功,不僅僅是解決了 PingCAP 的問(wèn)題,更大的動(dòng)力是因?yàn)樗鉀Q的是行業(yè)問(wèn)題。在人才這個(gè)困局面前,PingCAP 所有的行業(yè)競(jìng)爭(zhēng)對(duì)手都變成友商,大家面臨的問(wèn)題是一樣的,這是一個(gè)有利行業(yè)、有利于國(guó)家社會(huì)的事情,所以 PingCAP 會(huì)一直持續(xù)地投入下去。
對(duì) Talent Plan 學(xué)員們的建議
王巖廣老師對(duì)學(xué)員們的第一條建議就是“擁抱開(kāi)源”。在分布式數(shù)據(jù)庫(kù)領(lǐng)域,互聯(lián)網(wǎng)、GitHub 里的學(xué)習(xí)資料其實(shí)有很多,如果不去擁抱開(kāi)源,可能就很難進(jìn)入這個(gè)領(lǐng)域。再者,學(xué)員們未來(lái)如果從事分布式數(shù)據(jù)庫(kù)領(lǐng)域開(kāi)發(fā)工作,工作的方式很可能還是圍繞著開(kāi)源方式展開(kāi),擁抱開(kāi)源是大勢(shì)所趨。他認(rèn)為,新時(shí)代學(xué)生求職時(shí)的簡(jiǎn)歷不再是一頁(yè)紙,很可能會(huì)是他的 GitHub ID。他做過(guò)哪些開(kāi)源項(xiàng)目,提過(guò)哪些 issue,是哪些項(xiàng)目的 Contributor,從 GitHub 上一目了然,它比傳統(tǒng)一頁(yè)紙的簡(jiǎn)歷更加真實(shí)可信。
同時(shí),開(kāi)源項(xiàng)目往往都不僅僅是指開(kāi)源產(chǎn)品本身,而是更大的開(kāi)源生態(tài)范疇。如 TiDB 生態(tài)中包含著眾多周邊工具,大數(shù)據(jù)工具,甚至還有其他企業(yè)做的發(fā)行版。這些生態(tài)都需要開(kāi)發(fā)人才,如果你對(duì)生態(tài)中的核心產(chǎn)品很熟,會(huì)成為生態(tài)中非常受歡迎的人才,就業(yè)空間也會(huì)很大。
第二條學(xué)習(xí)建議是學(xué)習(xí)路徑。由于 Talent Plan 整個(gè)課程體系難度較大,學(xué)員們可以先從單機(jī)數(shù)據(jù)庫(kù)課程開(kāi)始學(xué)習(xí),比如 Andy Pavlo 的15445 課程、MIT 6.824 課程,這些都可以作為前序基礎(chǔ)知識(shí)。
Talent Plan 的意義
目前,數(shù)據(jù)庫(kù)人才需求的挑戰(zhàn)還很大,但是 Talent Plan,以及整個(gè) PingCAP Education 都在不懈努力,讓每一個(gè)有志學(xué)生都能夠很快地通過(guò)一個(gè)開(kāi)源的學(xué)習(xí)通道,進(jìn)入開(kāi)源分布式數(shù)據(jù)庫(kù)的開(kāi)發(fā)生態(tài)里。
PingCAP 用開(kāi)源融化了工程界和學(xué)術(shù)界之間的界限,并改變了教學(xué)模式,老師和學(xué)生之間不再是傳統(tǒng)的授課關(guān)系,而是變成學(xué)習(xí)社區(qū)里共同學(xué)研的平等關(guān)系。歡迎更多小伙伴們加入 Talent Plan 中,通過(guò)學(xué)習(xí)最終踏上分布式數(shù)據(jù)庫(kù)“高階玩家”的平臺(tái),也歡迎大家提供建議、貢獻(xiàn)智慧,一起打造“共建共享”的學(xué)習(xí)社區(qū)!
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )