無挑戰,不 Geek!TiDB 性能挑戰賽等你來戰

若是說,人類進化動力源於挑戰:git

想突破速度,因而從太空飛行追逐到量子世界;github

想追求穩定,因而在萬變之中,求不變之道;bash

想打破繁複,因而用 1 臺智能手機集成 N 種必需品,大道至簡……架構

那麼,挑戰充滿不肯定性的將來,就是 TiDB 這款開源產品的不斷進化的內在基因——如何作到更好的性能、更強的穩定性、更驚人的易用性?這也是 Geek 彙集的 TiDB 社區不斷前進的指引。ide

無挑戰,不 Geek。相信在上週舉辦 TiDB Hackathon 2019 上,你們已經在短短兩天裏領略了 TiDB 社區夥伴們的 Geek 精神,促成了不少優秀項目的誕生。爲了進一步激發社區的創造性,咱們將開啓 TiDB Challenge Program,這是一場從 Easy 到 Hard 的升級「打怪」競賽,第一賽季將持續 3 個月,比勝過程中得到積分還能夠兌換豐厚的禮品。萬事俱備,就等各位來戰!性能

TiDB Challenge Program 由 PingCAP 發起,旨在激發社區創造性,使選手能夠經過完成一系列的任務提高 TiDB 產品的穩定性、性能和易用性。第一賽季主題爲 Performance Improvement,將於 2019 年 11 月 4 日正式開啓,賽事持續 3 個月。選手可選擇我的或團隊名義參賽完成任務並得到相應積分。積分可在賽季結束後進行獎項兌換。學習

歡迎你們加入 TiDB Community Slack Workspacetikv-wg Slack Workspace,參勝過程中遇到任何問題均可以直接經過 #performance-challenge-program channel 與咱們取得聯繫。網站

Highlights

從 Easy 到 Hard

本次大賽項目採用分級制度,充分照顧入門選手的「Easy」模式下降了參賽門檻,讓 TiDB 小白也能快速上手。每一個項目對應必定的積分,當選手累計到必定積分後可解鎖「Medium」與「Hard」模式,猶如升級打怪般攻克重重障礙,成就感爆棚!ui

大咖導師

針對「Medium」和「Hard」 類型的任務,咱們設有專門的導師。參賽者可經過 Slack Channel 就代碼實現過程當中遇到的問題進行溝通,保證選手的參賽體驗。spa

豐厚獎品

咱們爲你們準備了豐富的獎品,使用完賽項目的積分便可兌換**(數量有限,先到先得哦)**~

賽前準備

報名

  • 報名方式: 發起 Issuetidb-perf-challege/pcp repo
  • 格式要求:
    • 標題:PCP/Sign Up
    • 內容:
      • 我的參賽:請對你本身進行簡要介紹,並留下能夠與你取得聯繫的郵箱地址。
      • 團隊參賽:請對你的團隊進行簡要介紹,寫明團隊名稱,每一個團隊成員的 GitHub ID,並留下能夠與大家取得聯繫的郵箱地址。可參考 示例

注意事項:

  • 以團隊形式參賽,每隊成員最多三人。
  • 有 PingCAP 內部員工參與的隊伍,將做爲打星隊伍,不參與積分總排名,所獲積分仍具備兌換權益

參賽流程

TiDB Performance Challenge Program 全流程包括:查看任務->領取任務->實現任務->提交任務->評估任務->得到積分->積分兌換,其中「得到積分」以前的步驟都將在 GitHub 上實現。

第一步:查看 / 提出 Issue

當前開放的 Issue 列表可分別在 TiDB-Performance Challenge Program ProjectTiKV-Performance Challenge Program ProjectPD-Performance Challenge Program Project 中的 TODO Columns 查看。

其中 TODO Columns 按照題目難易程度劃分了 3 列,分別是:TODO/Easy、TODO/Medium、TODO/Hard。每個 Issue 還設置了一些標籤,爲方便你們理解,現將 TiDB Performance Challenge 相關標籤所表明含義作以下說明:

  • 「difficulty/easy」、「difficulty/medium」、「difficulty/hard」:Issue 難度級別。
  • 「Component/XX」:Issue 所涉及的模塊。

除了當前開放的 Issue,若是你有其餘關於 Performance Improvement 的想法想要實現,可經過發起 Issue 的方式提出 Proposal。發起 Issue 以前請確保你已經瞭解了 Contribution GuideContributor Covenant Code of Conduct

格式要求:Issue 標題前需添加「REQ-PCP」標記,例如:REQ-PCP: Further extract tidb_query into different workspaces。

第二步:領取任務

若是你決定認領某一個 Issue,請先在這個 Issue 中回覆 「/pick-up-challenge」, 後臺將自動判斷你所擁有的積分是否具有挑戰此 Issue 的資格,積分知足要求便可開始挑戰,積分不知足要求,需按照系統提示得到知足挑戰要求的積分。

須要特別提醒的是:

  • 每一個參賽主體(含我的及團隊)參與 TiDB 性能挑戰賽的初始積分爲 0,須要先完成 「Easy」 的 Issue 將積分積累至 400 分以上(含 400 分),纔有資格挑戰難度爲「Medium」和「Hard」的題目。
  • 每一個參賽主體一次只能領取一個任務。

第三步:實現代碼

在實現代碼的過程當中若是遇到問題,能夠經過 #performance-challenge-program channel 與咱們進行探討,Issue 指定的 Mentor 會盡量在 24h 內予以回覆。不過,在提出問題以前必定要確保你已經仔細閱讀過題目內容而且已經完成了參考資料的學習哦~

第四步:提交代碼

若是你以爲你的方案已經達到了題目的要求,可在相關 Repo(例如 tidb)的 master 分支上實現你的方案,並將代碼以 GitHub Pull Request(簡稱 PR)的形式提交到相應的 GitHub Repo 上。當 PR 提交後,可在 PR 的評論中 at 該題目的 Mentor 進行代碼評審,Mentor 會盡量在方案提交後的 48h 內完成評估。

注:提交的 PR 須要知足 Commit Message and Pull Request Style 中定義的規範。

提交方式:代碼完成後,參賽者需提交 GitHub Pull Request(PR) 到相應 Repo,如何提交 PR 可參考 GitHub Workflow,這裏也有一些 SRE-BOT Command Help 供你們參考。

格式要求:PR 的第一行須要指定任務 Issue 的編號,再寫每一個 repo 要求的格式,示例:

PCP #12345
 
<!-- The following description -->
複製代碼

第五步:代碼評估及積分授予

評估規則:PR Reviewer 會對 PR 進行代碼格式、代碼功能和性能的 Review,得到 2 個以上 Reviewer 承認(即在 PR 中評論 「LGTM」)的 PR 將會被 merge 到對應 repo 的主幹。

若是你的 PR 被 Merge 到主幹,那麼就意味着該題目被你挑戰成功,你將得到該題目對應的積分;其餘參賽選手將失去對該題目的挑戰資格,已經提交的 PR 也會被 Close。

不然,你須要繼續和 PR 的 Reviewer 探討實現方案和細節,合理的接受或者拒絕 Reviewer 對 PR 的評審建議。

第六步:積分兌換

積分得到狀況將會在 TiDB 性能挑戰賽官方網站 呈現。所獲積分可兌換禮品或獎金,禮品包括但不限於:TiDB 限量版帽衫、The North Face 定製電腦雙肩包等。

兌換時間:每一個賽季結束後至下一賽季結束前可進行積分兌換,下一個賽季結束時,前一賽季的可兌換積分將直接清零,不可再進行社區禮品兌換。

兌換方式:本賽季結束後填寫禮品兌換表(屆時將開放填寫權限)。

學習資料

這裏有 TiDB 精選技術講解文章,幫助你們輕鬆掌握 TiDB 各核心組件的原理及功能;還有 PingCAP University 在線視頻課程,幫助你們快速熟悉 TiDB 原理、架構及最佳實踐,點擊以上連接便可輕鬆獲取。

這將是一次集體智慧的碰撞,咱們期待着與社區小夥伴一塊兒創造無限可能!

相關文章
相關標籤/搜索