Skip to content

SpadeA-Tang/agatedb

 
 

Repository files navigation

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.

About

A persistent key-value storage in rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.9%
  • Other 0.1%