若是说,人类进化动力源于挑战: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 Workspace 和 tikv-wg Slack Workspace,参胜过程中遇到任何问题均可以直接经过 #performance-challenge-program channel 与咱们取得联系。网站
本次大赛项目采用分级制度,充分照顾入门选手的「Easy」模式下降了参赛门槛,让 TiDB 小白也能快速上手。每一个项目对应必定的积分,当选手累计到必定积分后可解锁「Medium」与「Hard」模式,犹如升级打怪般攻克重重障碍,成就感爆棚!ui
针对「Medium」和「Hard」 类型的任务,咱们设有专门的导师。参赛者可经过 Slack Channel 就代码实现过程当中遇到的问题进行沟通,保证选手的参赛体验。spa
咱们为你们准备了丰富的奖品,使用完赛项目的积分便可兑换**(数量有限,先到先得哦)**~
注意事项:
TiDB Performance Challenge Program 全流程包括:查看任务->领取任务->实现任务->提交任务->评估任务->得到积分->积分兑换,其中“得到积分”以前的步骤都将在 GitHub 上实现。
当前开放的 Issue 列表可分别在 TiDB-Performance Challenge Program Project、TiKV-Performance Challenge Program Project、PD-Performance Challenge Program Project 中的 TODO Columns 查看。
其中 TODO Columns 按照题目难易程度划分了 3 列,分别是:TODO/Easy、TODO/Medium、TODO/Hard。每个 Issue 还设置了一些标签,为方便你们理解,现将 TiDB Performance Challenge 相关标签所表明含义作以下说明:
除了当前开放的 Issue,若是你有其余关于 Performance Improvement 的想法想要实现,可经过发起 Issue 的方式提出 Proposal。发起 Issue 以前请确保你已经了解了 Contribution Guide 和 Contributor Covenant Code of Conduct。
格式要求:Issue 标题前需添加“REQ-PCP”标记,例如:REQ-PCP: Further extract tidb_query into different workspaces。
若是你决定认领某一个 Issue,请先在这个 Issue 中回复 “/pick-up-challenge”, 后台将自动判断你所拥有的积分是否具有挑战此 Issue 的资格,积分知足要求便可开始挑战,积分不知足要求,需按照系统提示得到知足挑战要求的积分。
须要特别提醒的是:
在实现代码的过程当中若是遇到问题,能够经过 #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 原理、架构及最佳实践,点击以上连接便可轻松获取。
这将是一次集体智慧的碰撞,咱们期待着与社区小伙伴一块儿创造无限可能!