Build a networked key/value store in Rust to learn systems programming from the ground up
Implement the Raft consensus algorithm to understand how distributed databases stay consistent under failures
Work through TinySQL or TinyKV to learn how relational and key/value databases are built internally
Learn open source contribution workflows using Git and GitHub through structured course exercises
Each series has separate prerequisites, the Rust series requires a full Rust toolchain and builds real networked systems.
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.
← pingcap on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.