Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tikv/agatedb
A persistent key-value storage in rust.
https://github.com/tikv/agatedb
Last synced: 4 days ago
JSON representation
A persistent key-value storage in rust.
- Host: GitHub
- URL: https://github.com/tikv/agatedb
- Owner: tikv
- License: apache-2.0
- Created: 2019-04-30T08:54:17.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-16T03:20:14.000Z (7 months ago)
- Last Synced: 2024-11-09T00:34:56.430Z (5 days ago)
- Language: Rust
- Size: 491 KB
- Stars: 838
- Watchers: 34
- Forks: 77
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AgateDB
[![Coverage Status](https://codecov.io/gh/tikv/agatedb/branch/master/graph/badge.svg)](https://codecov.io/gh/tikv/agatedb)
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][1]
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][2].The whole plan is to port [badger][3] in Rust first and then port the
optimizations that have been made in [unistore][4].[1]: https://github.com/tikv/tikv
[2]: https://github.com/tikv/agatedb/projects/1
[3]: https://github.com/outcaste-io/badger/tree/45bca18f24ef5cc04701a1e17448ddfce9372da0
[4]: https://github.com/ngaut/unistoreAgateDB is under active development on [develop](https://github.com/tikv/agatedb/tree/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](https://tikv.github.io/agatedb/dev/bench/) for the benchmark result with RocksDB.