Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Fullstop000/wickdb
Pure Rust LSM-tree based embedded storage engine
https://github.com/Fullstop000/wickdb
database leveldb lsm lsm-tree rust storage-engine
Last synced: 4 days ago
JSON representation
Pure Rust LSM-tree based embedded storage engine
- Host: GitHub
- URL: https://github.com/Fullstop000/wickdb
- Owner: Fullstop000
- License: apache-2.0
- Created: 2019-01-25T02:29:56.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-16T11:54:11.000Z (over 1 year ago)
- Last Synced: 2024-10-14T17:31:50.607Z (30 days ago)
- Topics: database, leveldb, lsm, lsm-tree, rust, storage-engine
- Language: Rust
- Homepage:
- Size: 969 KB
- Stars: 624
- Watchers: 26
- Forks: 69
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list - wickdb - tree based embedded storage engine | Fullstop000 | 340 | (Rust)
README
## wickdb
[![Build Status](https://travis-ci.com/Fullstop000/wickdb.svg?branch=master)](https://travis-ci.org/Fullstop000/wickdb)
[![codecov](https://codecov.io/gh/Fullstop000/wickdb/branch/master/graph/badge.svg)](https://codecov.io/gh/Fullstop000/wickdb)
[![dependency status](https://deps.rs/repo/github/Fullstop000/wickdb/status.svg)](https://deps.rs/repo/github/Fullstop000/wickdb)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FFullstop000%2Fwickdb.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FFullstop000%2Fwickdb?ref=badge_shield)**This project is under rapidly development**
You can find a simple worked example in `examples`.
### Plan & Progress
#### The basic shape of LevelDB
- [x] Fundamental components
- [x] Arena
- [x] Skiplist
- [x] Cache
- [x] Record
- [x] Batch
- [x] Block
- [x] Table
- [x] Version
- [x] VersionEdit
- [x] VersionSet
- [x] Storage
- [x] DB
- [x] Compaction implementation
- [x] Scheduling#### [ongoing] Test cases & Benches
- Adding more test cases. The progress is tracked by this [issue](https://github.com/Fullstop000/wickdb/issues/3).
- Adding benchmarks. The progress is tracked by this [issue](https://github.com/Fullstop000/wickdb/issues/21).### Developing
`wickdb` is built using the latest version of `stable` Rust, using [the 2018 edition](https://doc.rust-lang.org/edition-guide/rust-2018/).
In order to have your PR merged running the following must finish without error otherwise the CI will fail:
```bash
cargo test --all && \
cargo clippy && \
cargo fmt --all -- --check
```You may optionally want to install `cargo-watch` to allow for automated rebuilding while editing:
```bash
cargo watch -s "cargo check --tests"
```There're so many `TODO`s in current implementation and you can pick either of them to do something.
This crate is still at early stage so any PRs or issues are welcomed!.
## License
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FFullstop000%2Fwickdb.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FFullstop000%2Fwickdb?ref=badge_large)