If human evolution is driven by challenge:
Want to break the speed, so from space flight chase to the quantum world;
Want to pursue stability, so in the midst of all changes, for the unchanging way;
Want to break the complicated, so use a smart phone to integrate N necessities, avenue to simple……
The challenge for the uncertain future, then, is the evolving DNA of TiDB, an open source product — how to achieve better performance, greater stability, and greater ease of use? This is what guides the geeky TiDB community forward.
No challenge, no Geek. Last week at TiDB Hackathon 2019, you all experienced the Geek spirit of TiDB community partners in just two days, which resulted in the creation of many excellent projects. To further stimulate the creativity of the community, we will launch the TiDB Challenge Program, an Easy to Hard level “monster fighting” competition. The first season will last for 3 months, and points earned during the competition can be redeemed for generous gifts. Everything is ready for you to fight!
The TiDB Challenge Program, initiated by PingCAP, aims to stimulate community creativity by enabling participants to complete a series of tasks to improve the stability, performance and ease of use of TiDB products. The first season, themed Performance Improvement, will officially start on November 4, 2019 and last for 3 months. Players can choose individual or team to complete the task and get corresponding points. Points can be redeemed at the end of the season.
Welcome to TiDB Community Slack Workspace and TiKV-WG Slack Workspace, Please feel free to contact us directly through # performance-challenge-Program channel if you have any questions during the competition.
Highlights
From Easy to Hard
The competition project adopts a grading system, fully take care of the entry of the “Easy” mode to reduce the threshold of entry, so that TiDB white can quickly start. Each project has a certain number of points, and when the player accumulates a certain number of points, the player can unlock the “Medium” and “Hard” modes. It is like upgrading and fighting monsters to overcome various obstacles, and the sense of achievement is amazing!
Higher-ups mentor
We have mentors for “Medium” and “Hard” tasks. Through Slack Channel, participants can communicate with each other about any problems they encounter during the code implementation process to ensure their participation experience.
Rich award
We have prepared a wealth of prizes for you, you can redeem the points after using the event (limited number, first come, first served) ** ~
preparation
- To create a GitHub account, see Join GitHub.
- See Installing Git in a local environment.
- Set up Git to access GitHub.
To sign up
- Sign up: Issue to tidb-perf-challege/ PCP repo
- Format requirements:
- Title: PCP/Sign Up
- Content:
- Individual entries: Please briefly introduce yourself and leave an email address where you can be contacted.
- Team entry: Please provide a brief description of your team, including the name of the team, the GitHub ID of each team member, and an email address where you can be contacted. You can refer to examples.
Matters needing attention:
- The competition should be a team with a maximum of three members.
- The team with PingCAP staff participating will be a star team, will not participate in the overall ranking of points, and will still have redeemable rights
The competing processes
The whole process of TiDB Performance Challenge Program includes: View the task -> receive the task -> implement the task -> submit the task -> evaluate the task -> obtain points -> exchange points. All the steps before “obtain points” will be realized on GitHub.
Step 1: View/Issue
The current open Issue list can be listed in tiDB-performance Challenge Program Project, TiKV-Performance Challenge Program Project, and PD-performance respectively TODO Columns in Challenge Program Project
TODO Columns are divided into three Columns according to the difficulty of the topic, namely, TODO/Easy, TODO/Medium and TODO/Hard. Each Issue also sets some labels. For your convenience, the meanings of labels related to TiDB Performance Challenge are explained as follows:
- “Difficulty/Easy”, “difficulty/ Medium”, and “Difficulty/Hard” : Issue difficulty level.
- “Component/XX” : the module to which the Issue is concerned.
In addition to the current open Issue, if you have other Performance Improvement ideas you want to implement, make a Proposal by initiating an Issue. Please make sure you understand the Contribution Guide and Contributor Covenant Code of Conduct before launching the Issue.
- Tidb-related proposals can be submitted to the TiDB Repo through the TiDB Issue initiation channel;
- Tikv-related proposals can be submitted to TiKV Repo through the TiKV Issue initiation channel;
- Pd-related proposals can be submitted to the PD Repo through the PD Issue initiation channel.
Format requirements: Add “REq-pcp” before the Issue title, for example: REq-pCP: Further extract tidb_Query into Different workspaces.
Step 2: Pick up the assignment
If you decide to claim an Issue, please reply to “/ pickup-challenge” in this Issue, and the background will automatically judge whether the points you have are qualified to challenge this Issue. You can start the challenge if the points meet the requirements, but the points do not meet the requirements. You need to follow the system prompts to obtain the points that meet the challenge requirements.
A special reminder is needed:
- Each participant (including individual and team) will receive 0 points at the beginning of the TiDB Performance Challenge. Only after completing the “Easy” Issue and accumulating more than 400 points (including 400 points) can he qualify to challenge the “Medium” and “Hard” questions.
- Each participant can only receive one task at a time.
Step 3: Implementation code
In the process of code implementation, if you encounter problems, you can discuss with us through #performance-challenge-program channel, and the Mentor designated by Issue will reply within 24 hours as much as possible. However, make sure that you have read the questions carefully and have studied the reference materials before asking questions
Step 4: Submit the code
If you feel that your solution meets the requirements of the title, implement your solution on the master branch of the relevant Repo (such as TIDB) and submit the code to the corresponding GitHub Pull Request (PR). When the PR is submitted, the code review can be carried out at the Mentor of the topic in the PR comments, and the Mentor will try to complete the evaluation within 48 hours after the proposal is submitted.
Note: The committed PR needs to meet the specifications defined in the Commit Message and Pull Request Style.
GitHub Pull Request(PR) should be submitted to the corresponding Repo after the code is completed. GitHub Pull Request(PR) should be submitted to the corresponding Repo after the code is completed.
Format requirements: The first line of PR needs to specify the number of the task Issue, and then write the format required for each REPO. Example:
PCP # 12345<! -- The following description -->Copy the code
Step 5: Code evaluation and credit award
Evaluation rules: A PR Reviewer will Review the PR with code format, code functionality, and performance, and PR with at least 2 Reviewer approval (i.e., a Review of “LGTM” in the PR) will be merged into the corresponding REPO backbone.
If your PR is merged into the trunk, it means that you have successfully challenged the question and you will receive points for that question. Other contestants will be disqualified from the challenge and PR submitted will be closed.
Otherwise, you need to continue to discuss the implementation plan and details with the Reviewer of PR, and reasonably accept or reject the Reviewer’s recommendation on PR review.
Step 6: Redeem points
Points earned will be posted on the TiDB Performance Challenge website. Points can be redeemed for gifts or bonuses, including but not limited to: TiDB limited edition hoodies, The North Face custom computer backpack, etc.
Redemption time: Points can be redeemed from the end of each season to the end of the next season. At the end of the next season, points redeemable from the previous season will be cleared directly, and community gifts cannot be redeemed again.
How to exchange: Fill out the gift exchange form after the end of the season.
Learning materials
Here are TiDB selected technical explanation articles, to help you easily master the principle and function of each core component of TiDB; There are also PingCAP University online video courses to help you quickly become familiar with TiDB principles, architecture and best practices, which can be easily accessed by clicking on the link above.
It will be a clash of collective intelligence, and we are looking forward to creating endless possibilities with our community partners!