Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/weijun-h/leveldb-rust
https://github.com/weijun-h/leveldb-rust
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/weijun-h/leveldb-rust
- Owner: Weijun-H
- License: mit
- Created: 2023-06-04T22:37:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-11T20:53:44.000Z (over 1 year ago)
- Last Synced: 2024-10-28T19:59:44.469Z (3 months ago)
- Language: Rust
- Size: 940 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# leveldb-rust
This is a experimental implementation of [LevelDB](https://github.com/google/leveldb) in Rust. It is not production ready. It is not even feature complete. It is just a toy project to learn Rust.
## Architecture
LevelDB is a key-value store. It stores data in a log-structured merge-tree (LSM-tree). The LSM-tree is a disk-based data structure that consists of a sequence of levels. Each level is a sorted table.
![LevelDB Architecture](./figure/lsm_architecture.png)
## Data Structure
### Slice
Slice is a basic data structure in LevelDB. It is a wrapper of a byte array. It is used to represent a key or a value.