awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
skyzh avatar

skyzh/mini-lsm

0
View on GitHub↗
4,034 stars·614 forks·Rust·Apache-2.0·33 viewsskyzh.github.io/mini-lsm↗

Mini Lsm

Mini-LSM is an educational storage engine and key-value database library designed to demonstrate the implementation of log-structured merge-tree architecture. It serves as a pedagogical resource for understanding how to build high-performance storage systems from the ground up, focusing on the mechanics of persistent data structures and disk-based storage.

The project provides a functional framework for managing data through memory-to-disk flushing and multi-version concurrency control. It distinguishes itself by implementing snapshot-based isolation, which allows for consistent views of the database state during concurrent operations, and utilizes leveled compaction strategies to organize data files and optimize read performance.

The engine covers a broad range of storage management capabilities, including write-ahead logging for crash recovery and probabilistic indexing to minimize disk input and output. It also includes a suite of verification utilities and testing tools intended to validate the integrity of storage operations and assist in diagnosing concurrency-related issues.

Features

  • LSM-Tree Storage Engines - Implements a log-structured merge-tree database engine designed for learning key-value storage architecture.
  • Log-Structured Merge-Trees - Implements a log-structured merge-tree architecture to manage data persistence through memory-to-disk flushing.
  • Embedded Key-Value Stores - Provides an embedded storage framework that organizes data into sorted immutable files for efficient operations.
  • Snapshot Isolation Techniques - Maintains data consistency during concurrent operations using snapshot isolation techniques.
  • Compaction Strategies - Reorganizes and merges sorted data files to reclaim disk space and optimize read performance.
  • Database Systems - Provides a framework for implementing core database components like logging, memory tables, and disk storage.
  • Level-Based Compaction Strategies - Organizes data files into distinct levels and merges them to reclaim space and maintain read performance bounds.
  • Multi-Version Concurrency Control - Maintains multiple versions of data records to enable non-blocking read and write operations.
  • Bloom Filters - Uses probabilistic membership testing to quickly determine if a key exists in a file before performing disk I/O.
  • Educational Database Systems - Serves as a pedagogical resource for learning the internals of storage engine implementation and database systems.
  • Storage Optimizations - Applies compaction and merging strategies to improve disk space efficiency and read performance.
  • Serializable Snapshot Isolation - Provides consistent views of the database state for long-running transactions using timestamp-based snapshot isolation.
  • Write-Ahead Logging - Records incoming write operations to a persistent log to ensure durability and crash recovery.
  • LSM Memtables - Buffers writes in sorted in-memory structures before flushing them as immutable files to persistent storage.

Star history

Star history chart for skyzh/mini-lsmStar history chart for skyzh/mini-lsm

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Mini Lsm

These projects share indexed features with Mini Lsm. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • oceanbase/minioboceanbase avatar

    oceanbase/miniob

    4,318View on GitHub↗

    MiniOB is an open-source educational relational database kernel designed for learning the internals of database systems. It implements a dual-engine storage architecture combining B+ Tree and LSM-Tree, supports SQL parsing and query execution, and provides transactional processing with multi-version concurrency control. The system communicates with clients using the MySQL wire protocol and includes a vector database extension for storing and querying high-dimensional vectors. The project distinguishes itself through its comprehensive coverage of core database concepts in a single, learnable c

    C++classroomcplusplusdatabase
    View on GitHub↗4,318
  • syndtr/goleveldbsyndtr avatar

    syndtr/goleveldb

    6,319View on GitHub↗

    goleveldb is an embedded key-value storage database for Go. It provides local data persistence and indexing, allowing applications to store and retrieve information using unique keys without requiring a separate server. The database organizes data using a log-structured merge-tree and persistent indexing in lexicographical order. This structure supports efficient range scans and prefix-based searches. The system includes capabilities for atomic batch writes to ensure data consistency and avoid partial updates. Performance is managed through write-ahead logging, memory-based buffering, and bl

    Godatabasegoleveldb
    View on GitHub↗6,319
  • cberner/redbcberner avatar

    cberner/redb

    4,248View on GitHub↗

    redb is an embedded key-value store and ACID-compliant storage engine. It functions as a persistent storage system for saving and retrieving data as key-value pairs within a tree structure. The engine is built as an MVCC transactional database, utilizing multi-version concurrency control to manage simultaneous reads and writes without blocking. It employs a single-writer multi-reader model to ensure data consistency while allowing multiple threads to access the store. The system provides persistent state management and atomic transaction management to prevent data corruption during crashes.

    Rustrust
    View on GitHub↗4,248
  • cockroachdb/pebblecockroachdb avatar

    cockroachdb/pebble

    5,777View on GitHub↗

    Pebble is an embedded key-value storage engine written in Go, designed as a library that provides durable, write-optimized data persistence directly within applications. It organizes data using a log-structured merge-tree (LSM-tree) structure, where writes are first buffered in an in-memory skiplist memtable and persisted to a write-ahead log before being flushed to block-based SSTable files on disk. The engine supports atomic batch commits, configurable write synchronization, and automatic background compaction that merges and rewrites sorted runs to reclaim space and maintain read performanc

    Go
    View on GitHub↗5,777
Compare all 30 related projects→

Frequently asked questions

What does skyzh/mini-lsm do?

Mini-LSM is an educational storage engine and key-value database library designed to demonstrate the implementation of log-structured merge-tree architecture. It serves as a pedagogical resource for understanding how to build high-performance storage systems from the ground up, focusing on the mechanics of persistent data structures and disk-based storage.

What are the main features of skyzh/mini-lsm?

The main features of skyzh/mini-lsm are: LSM-Tree Storage Engines, Log-Structured Merge-Trees, Embedded Key-Value Stores, Snapshot Isolation Techniques, Compaction Strategies, Database Systems, Level-Based Compaction Strategies, Multi-Version Concurrency Control.

Which projects share features with skyzh/mini-lsm?

Projects with overlapping indexed features include: oceanbase/miniob — MiniOB is an open-source educational relational database kernel designed for learning the internals of database… syndtr/goleveldb — goleveldb is an embedded key-value storage database for Go. It provides local data persistence and indexing, allowing… cberner/redb — redb is an embedded key-value store and ACID-compliant storage engine. It functions as a persistent storage system for… cockroachdb/pebble — Pebble is an embedded key-value storage engine written in Go, designed as a library that provides durable,… google/leveldb — LevelDB is an embedded database library and persistent storage engine that provides a sorted key-value store. It uses… spacejam/sled — Sled is an embedded key-value store and ACID-compliant database designed for high-performance data persistence. It…

Curated searches featuring Mini Lsm

Hand-picked collections where Mini Lsm appears.
  • Database Internals and Storage Engines
  • Build Your Own Database Engine