6 月 14—15 日,由 TGO 鯤鵬會主辦的 GTLC 全球技術領導力峰會總站將在上海舉行。 上圖中黃色 TiKV 是分布式的 Key-Value 存儲引擎,左邊 TiDB 是 Application via MySQL 引擎,不管是業務還是管理工具,它可以把以前的東西無縫牽引過來。最右側是 TiKV Spark 項目,能讓 Spark 理解下面存的數據如何編碼,包括關系型數據的表結構、統計信息,可以讓 Spark 實時讀取到 TiKV 原始數據。 除此之外,我們還有一些周邊工具,比如 Binlog 組件,它可以把 TiDB 中的數據實時變更,用戶可以直接用這個組件做二次定制開發。 上面的 DM 工具是一個數據遷移平臺,可以將 MySQL 數據通過 Binlog 同步到 TiDB 中,它還可以將已經分表好的 MySQL 數據同步到一個 TiDB 中,之后再進行數據格式裁減和內容轉換。中間的 TiFlash 組件是我們最新做的分析產品,可以通過 RUF(音)將數據從 TiKV 無縫同步到這個組件當中,在上面的計算層可以選擇將計算請求通過行存或者搜索引擎查數據,最底層還有 TiDB Operator 和 kubernetes 相結合。 未來,云將成為非常主流的方式。目前,我們正在考慮如何將 TiDB 這個復雜的分布式系統,包括周邊的監控、運維等工具都可以通過 kubernetes 進行管理和調度,以便于降低用戶的使用成本,因此我們希望 TiDB 是和 kubernetes 深度整合的產品。 這兩張圖是從 GitHub 獲得的數據,左邊是 stars 的數量,我們和幾個競品對比,我們的產品最晚出來,但是增長趨勢更加陡峭,并且超過他們的關注度。 我們整個貢獻者有三百多個,除了我們公司的員工之外,還有很多來自外部的貢獻者,同時,他們來自于世界不同的國家。 上圖是 DB-engines 的排名,目前 TiDB 的整體還不算高(一部分原因是這個排名只關注英文網頁),不過相比競品增長速度還是非常快。 上圖是 CNCF 發布的 Big Date Landscape,如果大家想對大數據領域做一些調研、技術選型等,可以參考這張圖。 去年,TiKV 項目已經捐獻給 CNCF,現在隸屬于 CNCF。在 CNCF 指導下,我們做了許多關于整個項目治理包括開源社區怎么推進、管理,如何吸引外部貢獻者等等方面做了很多規范性的工作,我們應該是中國第二個進入 CNCF 的項目。 除了國內,我們也會參加很多國際上的會議,比如去年時,我們參加了 VLDB 學術會議,在會議現場我們與大家同步了 PingCAP 的最新進展。同時,我們和高校也有合作,聯合做一些項目研究。 海外的媒體對我們也進行了一些報道,去年被 InfoWorld 評為數據存儲和分析領域最佳項目。
這個網站記錄了開源社區的相關資料,比如如何去提 PR,如何去寫文檔,如何去起草案等等。 上圖是我們所使用的開源架構,包括 PMC、核心貢獻者的組織,用戶可以參與到社區,來提一些想法、建議,甚至可以提代碼、改文檔。 我們會在一些頁面上把 contributor 的名字放上去,當 contributor 貢獻的 PR 數比較多時,通過他所提供內容的數量、質量以及實用性判斷 contributor 是否達到 committer 的門檻。而 committer 經過很長時間的貢獻后,能夠對幾個模塊有深入的掌握,那么將會成為 Maintainer,Maintainer 可以對整個項目有更進一步的話語權。 我們將所有的規范都放在 github 上,幫助大家了解如何參與到社區,同時有利于社區良性發展。 上圖是教你如何從一名 contributor 成為 committer 以及你需要了解在成為 committer 后,所需要擁有的權利和義務。 另外,圖中下半部分是我們新進的兩個 committer,上面是在知乎上線后萬億級別的數據,下面是三星研究院的 committer,這些都是通過我們的官方渠道出來的。 contributor 寫代碼時,我們會有相應的要求,因為我們希望 contributor 的代碼風格是非常統一、高質量的,所以我們有相應的工具自動修改代碼風格、注釋和注釋格式等,同時還設立了專業的團隊指導,有利于提高 PR 的質量。 包括提 commit 時,我們也會嚴格監管 commit message 的格式、理由、內容等方面。 如果是一個比較大的提案,那么我們會要求你先提一個 proposal,描述一下你要干什么、為什么要干這個事情、它能帶來什么收益、方案是什么以及分析備選方案的優缺點等,我們會讓你提個 PR 進行討論,最后以討論后的 proposal 為基礎,開始后面的開發。 無論是 pull request 還是 issue,它們都有相應的模板要求,比如 pull request 需要寫清楚你干了什么事情,PR 解決什么問題,它是怎么工作的,包括如何測試,test 是必選的還是可選的。因為我們希望能讓整個社區看到你的 PR 后,就知道你干了什么,為什么要干,再以這些為基礎來瀏覽你的 PR。 而不是只呈現一堆代碼,這樣會導致他人很難理解你想要做什么。 我們內部主要做的事情也都會通過 Github Project 的形式發布出來,要做哪些比較大的事項,這些事項里面有哪些 issue,這些 issue 的規劃是什么等等,大家可以通過 project 了解我們在做什么,它的進展是如何。我們希望通過 Github 的方式將我們的開發盡可能的對外透明,讓大家知道我們在做什么,這樣也有利于社區參與進來。 另外,我們的 roadmap 也是對外公布的。我們希望社區知道我們的未來計劃,可以根據自己的需求和興趣,跟我們設計的場景規劃能夠更好地 match,更好地去做貢獻。 開源其實是一種生態,我們只有把生態建設起來,才會促進你項目的成熟。不管是用戶還是貢獻者都是非常寶貴的一部分,我們在生態建設這一塊做了很多的工作。很多人接觸到 TiDB 不是以貢獻者的身份接觸到的,而以用戶身份接觸到的。他先以一個用戶的身份加入進來,當他用得比較深入或者他所在公司大規模使用的時,他才有足夠多的動力來分解代碼。 我們今年還做了一件事情,希望有系統性的東西幫助用戶更進一步掌握 TiDB 怎么使用,因此我們推出了 PingCAP University 計劃,通過線上和線下的環節,幫助用戶知道 TiDB 的使用方法、了解 TiDB 的關鍵原理以及調優方式,讓 TiDB 用戶更好的掌握使用方法。 除此之外,我們在國外還推出了 TiDB Academy 課程,將中文內容做成對應的英文內容,從而指導國外用戶怎么用。 除了用戶社區之外,開發者社區也是非常重要一部分,同時也是更難開拓的社區。我們為了擴大開發者社區做了很多事情,如在成都、深圳、上海、杭州、硅谷開 meetup,meetup 主要聚焦于基礎架構的一些技術,讓大家有一個線下交流的平臺。 同時,我們做了一個 TiDB Talent Plan 項目,這個項目當前還沒看到在國內有類似的東西,這個項目主要面向在校學生。我們希望以 TiDB 為內核擴展到數據庫或者是分布式數據庫領域,幫助在校學生能夠更熟悉這些東西。 運營開源社區需要非常多的精力和投入,我們在運營社區的時候有一些心得跟大家分享一下。 首先,我們需要了解想要的產品和社區是什么樣子的,是想做一個可用性強的,還是掙錢的,還是能在技術歷史上留下名字的社區。因為我們希望能通過開源的方式將 TiDB 做成一個偉大的產品,不僅局限在國內,在國外也在獲取海外客戶,所以我們的趨勢是在國內做放眼于全球,做成真正偉大的產品公司。 其次,做開源時,需要有開放的心態。我們一直不擔心因為我們的代碼開放后,競爭對手可以打敗我們,因為我們認為如果在這方面不能持續的領先,那我們活該被打敗。 我們會把很多東西開放出來,不管是源碼也好還是技術方向也好,設計文檔也好都會開放出來,因為我們希望能讓社區盡可能深入參與其中。除了在線上的活動之外,我們還會邀請一些人線下交流,比如活躍的社區,我們會拜訪他們,希望他們給我們提一些建議,或者我們把深度用戶邀請到我們公司,開”吐槽大會“的活動,不能說優點,只能說缺點,讓他們提一些在使用 TiDB 遇到的問題、踩過的坑。 我們是以一個非常開放的心態做這件事情,因此我們歡迎任何人和我們交流了解,甚至包括友商。 人是產品的基礎,沒有足夠多厲害的人物,就無法做成這樣的事情,我們做這么多事情的目的,也是為了吸引人才。有了 TiDB 后,我們可以跟很多高校建立聯系,可以跟專門做數據庫的實驗室有深入的合作,他們也會比較方便、深入地掌握 TiDB,能夠很好的加入到社區里面,讓社區頂級人才更好的參與到項目中來。 做一個開源產品,社區是你和別人最大的不同。和其他數據庫相比,我們是非常年輕的數據庫,只做了四年多,投入的資本也沒有友商那么多,但是我們為什么能夠在這么短的時間里面把產品做到這樣的程度,這和社區密不可分的。社區會幫我們貢獻很多的想法,貢獻很多的代碼和反饋,有了這些我們才能把產品越做越好。可以說,社區是能夠加速你產品成熟的東西,社區是最寬的護城河,因此我們會和社區一起把 TiDB 做的更好。 很多程序員都不太希望寫文檔或者覺得自己的文檔寫的很清楚了,其實不是,文檔要從使用者的角度來看,而不是開發者的角度。我們公司有一個專門的團隊來負責文檔這個事情,不但要負責中文的文檔,還要負責英文的文檔,除了文檔的架構內容詳實之外,他們還要從使用者的角度來看文檔寫的好還是不好。 我們要求我們的文檔,即便完全不懂技術的人也能夠按照這個文檔把產品一步步用起來,這個才是合格的文檔。 干貨沒看夠?沒關系,更精彩的內容等你來! 2019 年 6 月 14-15 日, 由極客邦科技旗下 TGO 鯤鵬會主辦的 GTLC 全球技術領導力峰會將正式在上海舉行,我們精心策劃了技術、思維、戰略、管理、視野及領導力等六大專場,并邀請行業內最具影響力的管理者許式偉、季昕華、陸棟棟等大咖加入講師天團,他們將通過體系化、有洞見的分享幫你應對不斷升級的挑戰! 精彩嘉賓議題搶先看 曹衡康 紅帽 全球副總裁 & 中國區總裁 李曉東 民生銀行信息科技部技術管理中心負責人 顧旻曼 真格基金 董事總經理 & 華東區負責人 季昕華 UCloud 創始人 & CEO 許式偉 七牛云 創始人 & CEO |
|