adambcomer / database-engine

LSM-Tree Key-Value Store based on RocksDB

Home Page:https://adambcomer.com/blog/simple-database

Repository from Github https://github.comadambcomer/database-engineRepository from Github https://github.comadambcomer/database-engine

How to Build a Simple Database

Databases are an integral part to software development and to better understand how they work, I made my own. In this project, I built a LSM-Tree Key-Value Store based on RocksDB in Rust.

Documentation

While building this database, I wrote easy to understand articles explaining how each component works and fits into the larger project. Knowledge of database storage engines is very scattered online, and I spent several months reading papers, documentation, and code to get a basic understanding. I made this guide for my beginner self who was often lost trying to piece together how a database worked.

Tests

Running tests is very simple with cargo.

cargo test