Skip to main content

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.
  • Supports range queries from start_key to end_key

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lsm_storage_engine_key_value_store-1.2.3.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file lsm_storage_engine_key_value_store-1.2.3.tar.gz.

File metadata

File hashes

Hashes for lsm_storage_engine_key_value_store-1.2.3.tar.gz
Algorithm Hash digest
SHA256 c9b0b6742e97ddc1b2c4cb1879ac445fc7bf10480445b8eec39cb6f52c81ff96
MD5 c32f9afd19ad59486326a24d70a1014c
BLAKE2b-256 4581cb5bdbed67e884b08fc10fb34b1138268cc8b636d00eb5483522bce2b41b

See more details on using hashes here.

File details

Details for the file lsm_storage_engine_key_value_store-1.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for lsm_storage_engine_key_value_store-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 16f4d403adfc2a10fd122191074b75d8bbe2b40729d40d0bbbdd20ebb5adda3e
MD5 7de6df3405fee5ae8016706a412a7a61
BLAKE2b-256 c12c638e463d26a818990856f9b7fbb2d719953ab79edc0ca06bff0f513ac8a7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page