Itβs not an easy thing to build a modern Key-Value database which supports the 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 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 tests, and to monitor the key metrics of the whole cluster.
To build a distributed Key-Value store from scratch, we need to consider many things. In this talk, I will share with you the following experiences when we build TiKV.
- Why another database? The key features of a modern distributed Key-Value store: horizontal scalability, auto failover, transactional API, etc.
- How we build the TiKV core system, including the backend storage engine, the gRPC framework, the consensus replication mechanism, etc.
- How we use the failure injection test to guarantee data safety.
- How we monitor the cluster and diagnose the problems.
- The future plan.