explaingit

pingcap/talent-plan

10,906RustAudience · developerComplexity · 4/5Setup · hard

TLDR

Talent Plan is a free structured training program from PingCAP covering distributed systems, Rust, Go, and open source practices, with hands-on projects like building a networked key/value store and implementing consensus algorithms from scratch.

Mindmap

mindmap
  root((Talent Plan))
    Series
      Open source basics
      Rust systems
      Go databases
    Skills
      Distributed systems
      Key/value stores
      Raft consensus
    Projects
      Networked KV store
      TinySQL database
      TinyKV store
    Audience
      Systems learners
      Open source newcomers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a networked key/value store in Rust to learn systems programming from the ground up

USE CASE 2

Implement the Raft consensus algorithm to understand how distributed databases stay consistent under failures

USE CASE 3

Work through TinySQL or TinyKV to learn how relational and key/value databases are built internally

USE CASE 4

Learn open source contribution workflows using Git and GitHub through structured course exercises

Tech stack

RustGo

Getting it running

Difficulty · hard Time to first run · 1day+

Each series has separate prerequisites, the Rust series requires a full Rust toolchain and builds real networked systems.

In plain English

Talent Plan is a free training program created by PingCAP, a company that builds distributed databases. The program is aimed at people who want to learn about distributed systems, the Rust programming language, the Go programming language, and open source software practices. It organizes its content into four series, each targeting a different area of knowledge. The first series covers open source collaboration basics: what open source licenses mean, how to use Git and GitHub to contribute to projects, and how open source communities function. The second series focuses on Rust, a programming language known for speed and memory safety. That series walks you through building a networked key/value store from scratch, then covers how to implement distributed algorithms like Raft, which is a method databases use to agree on a single version of data even when some servers fail. The third series introduces two simplified databases written in Go: TinySQL, which mimics a relational database (the kind that stores data in rows and columns, like spreadsheets), and TinyKV, which mimics a key/value store (the kind that looks up a value by a unique key, like a dictionary). These are teaching replicas of PingCAP's own production databases, TiDB and TiKV, and working through them gives you a concrete feel for how such systems are built. The fourth series, which covers the full production versions of those databases, is listed as a work in progress. Each series is developed by a separate team inside PingCAP, so the depth and structure vary between them. The repository links out to individual course pages and separate GitHub repositories for each course. Contributions from outside the company are welcome. The courses are free to use and modify under the terms stated in each individual course.

Copy-paste prompts

Prompt 1
I am working through the PingCAP Talent Plan Rust series. Help me implement the log-structured storage engine for the kvs key/value store project
Prompt 2
Guide me through implementing leader election in the Raft consensus algorithm as part of the Talent Plan distributed systems course
Prompt 3
Using the TinyKV project from Talent Plan, help me understand how the RawGet RPC is implemented and how to add a new storage command
Prompt 4
Explain how TinySQL from Talent Plan handles query parsing and help me trace a SELECT statement from the SQL string to the execution plan
Prompt 5
Help me set up the Talent Plan Rust development environment and explain what the first chapter expects from the kvs CLI tool
Open on GitHub → Explain another repo

← pingcap on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.