A persistent key-value storage engine based on LSM-tree architecture.
Project description
Simple Python Storage Engine
Light weight key value storage engine optimized for write heavy workloads.
Overview
This project is an LSM-tree based key-value storage engine implemented in Python, optimized for write-heavy workloads.
It is a persistent key-value store featuring:
- A Write Ahead Log (WAL) for atomicity and durability.
- An in-memory Memtable using
SortedDict. - Persistent Sorted String Tables (SSTables).
- Asynchronous, leveled compaction handled by a background worker thread (introduced in v1.0.0).
- Metadata generation for created collections
- Bloom filter functionality to prevent unnecessary disk operations for keys that we know dont exist in the collection
- Storage engine is behind a FastAPI server and can be communicated with using REST APIs.
Getting Started
- Detailed documentation and explanation of each component is available in the docs folder.
Contributing
Contributions, issues and feature requests are welcome! Contributing ideas
- Implement a proper testing suite for different components. Unit tests, Integration Tests
- Thread safety for multi threaded programs
- UI features along with CLI and library utilisation. and many more, ideas are always welcome!
LICENSE
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lsm_storage_engine_key_value_store-1.2.2.tar.gz.
File metadata
- Download URL: lsm_storage_engine_key_value_store-1.2.2.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
718f25611a77b7ef7df3afa46275fb267340542efbbdd161a9547e283c832fd6
|
|
| MD5 |
f7149f1a8df732243504c7e1a250cb94
|
|
| BLAKE2b-256 |
980ef9cf02439bc777599ce8982e4a193038439938b9437f3cddd65e057e9053
|
File details
Details for the file lsm_storage_engine_key_value_store-1.2.2-py3-none-any.whl.
File metadata
- Download URL: lsm_storage_engine_key_value_store-1.2.2-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc86728cb217cd5b58fb229c14bb253f5f9b5cf6d3673c902c88f2ef2b9ad39d
|
|
| MD5 |
6e3d50d88f5a0af01a9645d5716953a5
|
|
| BLAKE2b-256 |
5599dd79c77eef14d1eaa6df5dc8ef6cd6f13a341b80114ec8014ae69f6aa13a
|