gitmyhub

talent-plan

Rust ★ 11k updated 2y ago

open source training courses about distributed database and distributed systems

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.

RustGosetup: hardcomplexity 4/5

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.

Where it fits