It’s not an easy thing to build a modern Key-Value database which supports distributed transaction, horizontal scalability, etc. But this is exactly what we are doing and we have built such a database from scratch using Rust. The database is named TiKV. In this talk, I will share why we choose Rust, how we use Rust to build the storage, to support replication across geographically distributed data networks, to implement an RPC framework, to inject failure for test, and to monitor the key metrics of the whole cluster. In the end, I will introduce our Rust training course to help people learn Rust and build their own distributed system.