你多久沒僅為 Have fun 去寫一段程式碼?
你多久沒為實現一個天馬行空的 idea 而興奮不已?
你又多久沒為和團隊一起 Coding 而幹勁十足了?
來 TiDB Hackathon 吧,這些體驗都能找到!
TiDB Hackathon 2021 已於 12 月 9 日起正式開啟報名,我們已經收到了許多新老朋友的組隊報名。本屆 Hackathon 主題為「Explore the Sky」,將在 2022.1.8 - 9 兩個比賽日進行,線上線下聯動。大賽邀請了資料庫領域知名專家、社群技術大咖、頂級投資人代表等超強陣容擔當評委,對專案進行全方位點評指導,為賽事體驗保駕護航。
在等待最終比賽日的這段時間,TiDB 社群對評委、選手進行了系列訪談,請他們分享自己關於開源、 Hackathon 的經驗,並分享對 Hackathon 參賽選手的建議。這次我們請來了本屆 Hackathon 特邀評委 —— 神州數碼集團 CIO 沈暘,一起看看他眼中的開源和 Hackathon 吧~
採訪物件簡介
神州數碼集團副總裁兼 CIO 沈暘,曾在 SAP 工作 10 年,為全球客戶做數字化轉型。2017 年加入神州數碼,負責神州數碼的數字化轉型工作。在過去 2 年參與了包括 TiDB 在內的多個開源專案建設。
以下為訪談記錄:
Q1:最早接觸到開源在什麼時候?
沈暘:我接觸開源比較早,像 Linux 等開源專案都接觸過。接觸比較深的是在 SAP 裡一個叫 ABAP 的開發平臺,它雖然不是 100% 開源,但是它的程式碼對所有客戶和合作夥伴都是開放的,其實有一點點開源的味道。
因為開放,平臺裡的所有 BUG、問題都可以讓客戶或合作伙伴自己去找到並解決,這樣就把我們找 BUG 和解決 BUG 的成本降得非常低,ABAP 裡大部分的問題可能都不是 SAP 自己找到的。這是我最初對開源比較深刻的體會,也可以把它當做一個類似於社群,或類似於生態的理解。這個生態是很難破的,如果是完全閉源的軟體,出現問題只能由廠商自己來解決,解決成本會非常高,而且這非常取決於廠商內部的效率和流程。稍微有一個流程出問題,可能都會對客戶造成很大的影響。
對於開源,我自己用三個關鍵詞總結:
- 連線:用開源可以最快接觸到更多客戶、合作伙伴、社群參與者;
- 開放:開源不僅僅是程式碼開放,還需要更開放的心態。我在 TiDB 社群裡面,經常會有很多人問 “你們是不是要做自己的版本?對 TiDB 有什麼影響?” 其實,TiDB 一直是非常開放的心態;
- 安全:開放和連線之外,安全也很重要。尤其在企業級的資料庫產品中,如何保證安全性至關重要。因為開源所有的程式碼都是開放的,不但對客戶開放,對潛在攻擊者也是開放的。比如最近出的阿帕奇(Apache)Log4j2 安全漏洞問題,其影響是非常巨大的。未來,我們需要把安全做得更好,讓客戶在開原始碼環境下也能夠獲得最好的安全保護。
Q2:中國企業級使用者對開源的態度發生了什麼樣的轉變?
沈暘:神州數碼就經歷了一個蠻大的轉變。我們自身是一家很大的企業,和中國很多企業類似,各種各樣的開源元件、產品都會去使用。以前國內的企業,往往對社群的反饋並不是特別多,自己去做開源產品的就更少。當然,這也是因為做一個頂級的開源專案其實是特別難的,你可能要有頂級的工程師,但工程師需要沒有太多生存的壓力,才能靜下心來想些長遠的事情。所以長久以來,國內雖然開源用得多,但是貢獻卻比較少。
這幾年隨著國內網際網路大廠內部有足夠的能量去做開源專案,開源開始興起。但更難能可貴的是,除了這些網際網路大廠外,還有很多新興的企業也開始做開源,比如 TiDB、Apache DolphinScheduler。他們不是一個網際網路大廠的團隊,而是從小團隊開始做起,也做出了頂級的開源專案。我覺得這些開源專案的興起在中國真正開啟了一種新模式,開源不是簡單地靠金錢,靠團隊規模,靠技術實力堆上去就能形成的產物,而是找到了一個很好的土壤,讓開源團隊哪怕只是一顆小種子也能夠生根發芽。
我覺得這樣的模式在中國已經完全形成,而且中國的市場規模足夠大,只要你的開源產品滿足了中國客戶的一些需求,它就能迅速地被接納,可能幾年時間就能把市場佔領。所以,我也希望中國的企業,哪怕是作為甲方也好,未來都能參與到開源建設中,甚至能夠有自己的開源專案,形成更好的中國開源生態體系。
Q3:您是什麼時候接觸到 TiDB 的?
沈暘:我們在 2017 年左右就開始接觸到 TiDB 。記得有一次 “雙十一” 期間,我們有一個業務系統和物流有關,它的系統資料量、訪問量比平時都會多很多倍。這種場景與 TiDB 的彈性伸縮場景非常類似,保證臨時擴節點系統不掛掉。當時,有一些比如硬碟的故障,導致系統臨時沒法用,如果再去做故障修復、資料恢復會花很多時間。
我們最後在 2017 年底就部署了 TiDB 叢集,這個系統到現在從沒掛過。甚至有一次,這個系統有一臺物理機掛掉了,我們過幾天才發現,但是它並沒有影響業務系統。這件事讓我們對分散式架構有了更直觀的認識,它的管理成本不需要那麼高,它不是很精密的儀器,需要精心地維護/保養,它就是一個非常實用的工具。
後來,我們也嘗試在社群裡面做貢獻。比如參加 TiDB Hackathon ,在知乎上發表大量關於 TiDB 的文章( TiDB 原始碼解析), TiDB for PostgreSQL 方向的專案等等……
Q4:開發「TiDB for PostgreSQL」專案的初衷?
沈暘:我原來的背景是在 SAP 裡做數字化轉型,面臨的體系與一些網際網路公司不太一樣。TiDB 的初期客戶大部分是網際網路公司,網際網路公司的業務其實彈性非常大,比如一下子碰到幾千萬/上億的使用者,瞬間資料量擴得特別大。這類使用者追求的是彈性、伸縮性,當然還有系統的高可用性。
但在企業級客戶裡,企業內部的各種應用系統,有一個很重要的訴求就是複雜度。比如 PG 的資料庫與 MySQL 比較起來,在多表關聯、複雜查詢上,會做得更好一些。而在企業級領域裡,一個企業大了,天生會有很多的煙囪。這個煙囪不是大家故意造成的,而是因為法律或其他方面的因素。
例如,法律規定企業的財務資料是不能提前披露的,財報之前可能只有幾個人知道,到了財報的時候才要對所有的人公開。在此之前,財務的資料就只能掌握在部分的部門手裡。人力資源的資料也一樣,公司的資料不可能所有人都知道,企業裡所有東西都是由專業的部門來處理。在資料上,天生就是由很多資料表組成的,但是它的資料量不可能達到網際網路的級別,它的複雜就體現在內部的許可權以及多表的關聯上。PG 在這方面做得非常好,我們一開始有一些內部的應用希望能做在 TiDB 上,但因為 MySQL 的天生侷限,適配起來比較困難。
我們當時也看過其他的,更能夠適配 PG 的資料庫,比如像 CockroachDB、YugabyteDB,但沒有一個是百分之百能夠適配 PG 的。因為 PG 的語法等各方面是非常複雜的,我相信不可能做到百分之百,所以這個領域是有空間可以做的。在很長時間內,沒有一個所謂的絕對第一名,這個時候你就有希望。第二我覺得在國內基於 PG 的分散式資料庫,尤其是開源領域,在市面上非常少,幾乎沒有很強的成熟的競爭對手。
所以在這個領域如果能做起來,第一方面是能夠彌補 TiDB 的一個短板,當未來有很多基於 PG 資料庫的客戶系統,想遷移到 TiDB 上,就不用做大量應用的改造。應用這個東西有複雜的應用有簡單的應用,複雜的應用改起來可能不比改造一個資料庫更容易。第二方面,我們能夠看到這會形成一個新的方向。
Q5:對其他也想參與到 TiDB 社群中的企業有什麼建議?
沈暘:無論是客戶還是合作伙伴,大家在使用產品的時候都會進行比較,網上很多文章有說好的,也有批評的。其實沒有哪個產品是沒有缺點的,我記得 TiDB 以前很早的一個版本連悲觀鎖都沒有。但這恰恰是使用者或合作伙伴的機會,比如說你自己是一個銀行客戶,剛開始使用 TiDB,發現沒有悲觀鎖,如果你投入自己的團隊,可能只要稍微做一點點工作,去把這個悲觀鎖做出來,就能為社群多建設一點。甚至你也能梳理一個自己的分支出來,把整個生態建設得更好,這是一個雙贏的過程。
我覺得在開源的生態裡,大家就是得想得更透徹更開放一點。TiDB 不僅僅是一個公司的產品,它未來可以是一個很多公司產品的合集,這個合集可以形成一個更大的產品群。也可能裡面某一個小的產品或小的功能,和任何公司都沒有任何關係,是百分之百由社群的人完全貢獻的。所以,我覺得大家要積極地去探索這些可能性,如果晚了可能好摘的水果都被摘完了,後面想貢獻就更難做了。
Q6:對 TiDB 社群的期待?
沈暘:對於社群的話,我覺得 TiDB 的社群在國內做得其實已經非常好了,你們可以去幫全國甚至全世界做開源的團隊和企業。未來,中國會有很多很多新的開源產品,但是很多人一開始真的只是純粹工程師的思維,就只是會寫程式碼。開源不僅僅是把程式碼放到 GitHub 上就行了,在社群運營方面,我相信很多工程師根本不知道怎麼做。
我們第一個開源專案是叫 DrawDocker 的一個專案,在 GitHub 上只有 8 個 Star ,它就缺乏這種社群的力量。但是另外一個我們做的 TiDB for PG , TiDB 社群幫助我們做了很多的工作,現在已經有了 300 個 Star。社群內有很多客戶、夥伴也盯著這個方向,他們很感興趣,一直在問什麼時候能做得出來。所以我非常希望 TiDB 社群的能力,未來能夠也開源開放出來。
Q7:是否會參加本屆 Hackathon ?
沈暘:我們還在討論中,今年如果參賽的話,方向應該和去年比較類似,還是在 TiDB for PG 這個方向上有所突破。我們內部其實最近在做一個比較大的應用,在我們的產品上做適配。我們會評估這個專案最近是否會有一些很大的產出,評估我們的工作量,看是否會參加今年的 Hackathon。
Q8:對本屆 Hackathon 有什麼期待?對參賽者有什麼建議?
沈暘:對於這次 Hackathon ,我非常期待能有一些有創新突破領域的選手出來。我希望 Hackathon 裡大家不僅僅是解決一些小的問題,更希望解決的這個問題未來能夠孵化出更有創意的產品,比如像 Chaos Mesh 這樣的產品。一開始可能只是一個理念或者是一個小工具,但是後來不僅對 TiDB 有很大的貢獻,也可以用在其他所有云原生的領域裡。
我希望這次 Hackathon 能夠在中國的開源界,做成一個由興趣驅動、目標驅動的頂級活動。也希望今年能夠誕生出一些對未來的軟體行業,對未來的開源行業,在基礎架構方面有一些貢獻的專案,或者說一些突破。雖然短期內做產品可能還是很難,但是哪怕短時間內只是一個 demo ,或是簡單的演示也好,希望大家的 idea 儘量往更大的方向去想。
TiDB Hackathon 2021
本屆 Hackathon 主題為「Explore the Sky」,將在 2022.1.8 - 9 兩個比賽日進行開發,線上線下聯動。從 Ti 星球到宇宙蒼穹,我們用 Hacking 連線更廣泛的生態,給予參賽者盡情發揮的想象空間。本屆 Hackathon 我們對賽道進行了全面升級,開闢出核心、工具、生態、「∞」四大賽道,參賽者不論是資料庫開發者,資料庫上下游生態,還是資料庫的使用者,都可以找到適合的領域,圍繞 TiDB 探索無限可能。
TiDB Hackathon 2021 自 12 月 9 日起正式開啟報名,選手可以自行組成 1 - 4 人的參賽隊伍,在參賽週期內完成作品,優勝團隊將獲得獎金、技術和資源上的支援。大賽邀請了資料庫領域知名專家、社群技術大咖、頂級投資人代表等超強陣容擔當評委,對專案進行全方位點評指導,掃除知識盲點,為賽事體驗保駕護航。此外,還有頂級投資人全程坐鎮,讓你的實力被更多人看到。