- Author(s): Ling Jin
- Last updated: 2020-01-13
- Discussion at: Incubating Program: Talent Plan Courses
Talent Plan is a learning Plan initiated by PingCAP. The purpose is to provide a series of courses for those who would like to learn about open source, infrastructure, and database. At the moment, only two study modules are provided. This document proposes Talent Plan Courses, a new version of the study project with more enriched topics and course designs.
The picture above shows the framework of Talent Plan Courses. In addition to TiDB related materials, lots of other sections are provided, as described below:
-
Open Source Cooperation
Open source spirit is one of the cores of the TiDB Community. At current, multiple courses regarding this subject are on the list:
-
Introduction to OSS
A fundamental course about open source and its history.
-
How to use Git & Github
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Github is a popular website based on Git where people around the world collaborate in open source projects. After taking this course, participants should know the usages of Git and Github.
-
Open Source Practice in TiDB
TiDB ecosystem is made up of multiple open-source projects on Github. For people who want to contribute to TiDB, this course would be helpful for them.
-
-
Programming Language
To contribute to the code base of an open-source project, knowing the programming language is a basic requirement. We provide the related programming language courses to help participants learn quickly:
-
Golang
The Go programming language is heavily used in the industry as well as in the TiDB ecosystem. If you haven't learned about it, the following are good places to start:
-
A Tour Of Golang - a great official tutorial for newbies to learn the basics of the language.
-
The Go Programming Language - a detailed reference book for Go.
-
Talent Plan MapReduce - a great tool for Go learners to evaluate their learning outcomes.
-
-
Rust
The Rust programming language is becoming more and more popular since it has many advanced features. For learners who are interested in TiKV (based on Rust), we recommend the following materials:
-
Learn Rust - Official Rust tutorials that include a book, an interactive practice assignment, and some code examples. We believe anyone interested in the Rust programming language can benefit from it.
-
Practical Networked Application in Rust - A series of projects that incrementally develop a single Rust project from the ground up into a high-performance, networked, parallel and asynchronous key/value store. Along the way, various real-world and practical Rust development subject matter are explored and discussed. This course is developed by Brian Anderson, who was one of the core writers of the Rust language.
-
Materials for other related programming languages like C++, Java, Python are in development.
-
-
Infrastructure System
-
Distributed Relational Database Internals is a course made up of many reading materials and programming assignments. A broad range of topics such as relational algebra, parser, runtime, optimizer, transaction, DDL and more are covered in readings. As the programming assignment framework, TinySQL, a simplified version of TiDB, is used for course participants to verify their learning outcomes.
-
Distributed Key-Value Database Internals is a course about distributed key-value database systems. The reading materials cover storage engine, data partitioning, replication, consistency, scalability, balance, distributed transactions and more. For programming assignments, TinyKV, a simplified version of TiKV, will be provided to course participants to verify their learning outcomes.
Topics such as cloud-native database systems and Machine Learning are also planned.
-
-
Deep Dive Series Readings
For anyone who wants to get to know more about TiDB related projects, they would benefit a lot by reading Deep Dive series articles, including Deep Dive into TiDB and Deep Dive into TiKV. It's worth mentioning that Deep Dive into Cloud TiDB is also in development. We highly recommend reading these materials to help you get familiar with the inner world of the TiDB ecosystem.
Course participants can choose their own learning path based on personal conditions and learning goals. There will be more topics and courses to be proposed in the future.
N/A
The implementation of the course requires the following 3 main steps:
- Discuss the overview course framework of the new version.
- Make agreements of the syllabus for each course.
- Fill in learning materials and assignments.
- Optimize assignment submission and evaluation.