Skip to content
/ wickdb Public
forked from Fullstop000/wickdb

Pure Rust LSM-tree based embedded storage engine

License

Notifications You must be signed in to change notification settings

cqs21/wickdb

 
 

Repository files navigation

wickdb

Build Status codecov Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. dependency status FOSSA Status

This project is under rapidly development

You can find a simple worked example in examples.

Plan & Progress

The basic shape of LevelDB

  • Fundamental components
    • Arena
    • Skiplist
    • Cache
    • Record
    • Batch
    • Block
    • Table
    • Version
    • VersionEdit
    • VersionSet
    • Storage
    • DB
  • Compaction implementation
  • Scheduling

[ongoing] Test cases & Benches

  • Adding more test cases. The progress is tracked by this issue.
  • Adding benchmarks. The progress is tracked by this issue.

Developing

wickdb is built using the latest version of stable Rust, using the 2018 edition.

In order to have your PR merged running the following must finish without error otherwise the CI will fail:

cargo test --all && \
cargo clippy && \
cargo fmt --all -- --check

You may optionally want to install cargo-watch to allow for automated rebuilding while editing:

cargo watch -s "cargo check --tests"

There're so many TODOs 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

About

Pure Rust LSM-tree based embedded storage engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%