skyzh/mini-lsm

learn database internals by building a storage engine in Rust

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 55 minutes ago
Type:Curated List / Learning ResourceCategory(s):Relational & SQL DatabasesProgramming Courses & BooksDatabases & Storage
Added to GitGenius on September 16th, 2026
Created on December 23rd, 2022
Open Issues & Pull Requests: 3 (+0)
GitHub issues: Enabled
Number of forks: 648
Total Stargazers: 4,165 (+0)
Total Subscribers: 32 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 18.0 hours
Mean response time: 64.2 days
90th percentile: 245.6 days
Tracked items: 40

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

mini-lsm is an educational project that teaches database internals through building a log-structured merge tree storage engine in Rust.

The project addresses the challenge of understanding how modern key-value databases work internally by providing a hands-on implementation of an LSM tree, a data structure used in production systems like RocksDB and LevelDB. Rather than explaining theory in isolation, the approach guides learners through building a functional storage engine piece by piece, allowing them to see how components like memtables, SSTables, and compaction strategies fit together in practice.

This project suits developers who want to deepen their understanding of database architecture and storage systems rather than those seeking a production-ready key-value store. It works best as a learning resource for people comfortable with Rust who are willing to engage with the implementation details of a real storage engine. The structured tutorial format makes it accessible to those new to LSM trees while still covering the complexity of a genuine database design.

The project shows consistent engagement with learners through documentation and examples that support the educational mission. Development activity demonstrates sustained attention to maintaining the learning experience and keeping the codebase aligned with its instructional goals.