tikv/agatedb

A persistent key-value storage in rust.

895

stars

93

commits

Rust

primary language

Aug 30, 2026

updated

README

AgateDB

Coverage Status

AgateDB is an embeddable, persistent and fast key-value (KV) database written in pure Rust. It is designed as an experimental engine for the TiKV project, and will bring aggressive optimizations for TiKV specifically.

Project Status

AgateDB is still under early heavy development, you can check the development progress at the GitHub Project.

The whole plan is to port badger in Rust first and then port the optimizations that have been made in unistore.

AgateDB is under active development on develop branch. Currently, it can be used as a key-value store with MVCC. It implements most of the functionalities of badger managed mode.

Why not X?

X is a great project! The motivation of this project is to ultimately land the optimizations we have been made to unistore in TiKV. Unistore is based on badger, so we start with badger.

We are using Rust because it can bring memory safety out of box, which is important during rapid development. TiKV is also written in Rust, so it will be easier to integrate with each other like supporting async/await, sharing global thread pools, etc.

Continuous micro benchmark with RocksDB

We can refer to this page for the benchmark result with RocksDB.

Contributors

skyzh

34 commits

GanZiheng

19 commits

zhangjinpeng87

17 commits

BusyJay

13 commits

tikv/agatedb

A persistent key-value storage in rust.

895

stars

93

commits

Rust

primary language

Aug 30, 2026

updated

README

AgateDB

Coverage Status

AgateDB is an embeddable, persistent and fast key-value (KV) database written in pure Rust. It is designed as an experimental engine for the TiKV project, and will bring aggressive optimizations for TiKV specifically.

Project Status

AgateDB is still under early heavy development, you can check the development progress at the GitHub Project.

The whole plan is to port badger in Rust first and then port the optimizations that have been made in unistore.

AgateDB is under active development on develop branch. Currently, it can be used as a key-value store with MVCC. It implements most of the functionalities of badger managed mode.

Why not X?

X is a great project! The motivation of this project is to ultimately land the optimizations we have been made to unistore in TiKV. Unistore is based on badger, so we start with badger.

We are using Rust because it can bring memory safety out of box, which is important during rapid development. TiKV is also written in Rust, so it will be easier to integrate with each other like supporting async/await, sharing global thread pools, etc.

Continuous micro benchmark with RocksDB

We can refer to this page for the benchmark result with RocksDB.

Contributors

skyzh

34 commits

GanZiheng

19 commits

zhangjinpeng87

17 commits

BusyJay

13 commits

Languages

Rust

99.8%