Generics and Compile-Time in Rust
This is the second episode of the Rust Compile Time series. Brian Anderson, one of Rust's original authors, talks about monomorphization, using the TiKV project as a case study.
The Rust Compilation Model Calamity
In this first episode of the Rust Compile time series, Brian Anderson, one of Rust's original authors, shares with you his researches and experiences with Rust compile times, using the TiKV project as a case study.
Titan: A RocksDB Plugin to Reduce Write Amplification
As a RocksDB plugin for key-value separation, inspired by WiscKey, Titan is available for preview in TiDB 3.0. This post introduces the design and implementation of Titan.
Implement Raft in Rust
As an open-source distributed scalable HTAP database, TiDB uses the Raft Consensus Algorithm in its distributed transactional key-value storage engine, TiKV, to ensure data consistency, auto-failover, and fault tolerance. TiDB has thus far been used by more than 200 companies in their production environments in a wide range of industries, from e-commerce and food delivery, to fintech, media, gaming, and travel.
Why did we choose Rust over Golang or C/C++ to develop TiKV?
Every developer has his/her favorite programming language. For the TiKV team members, it's Rust.
The Design and Implementation of Multi-raft
The goal of TiKV is to support 100 TB+ of data and it is impossible for one Raft group to make it, we need to use multiple Raft groups, which is called Multi-raft.
A TiKV Source Code Walkthrough – Raft in TiKV
TiKV uses the Raft algorithm to implement the strong consistency of data in a distributed environment. This blog introduces the details how Raft is implemented.
TiDB Internal (I) – Data Storage
This is the first one of three blogs to introduce TiDB internal.
TiDB Internal (II) – Computing
This is the second one of three blogs to introduce TiDB internal.
Rust in TiKV
This is the speech Siddon Tang gave at the 1st Rust Meetup in Beijing on April 16, 2017.