|
1 | 1 | # How to Build a Simple Database |
2 | | -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](https://github.com/facebook/rocksdb) in Rust. |
3 | 2 |
|
4 | | -## Documentation |
5 | | -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. |
| 3 | +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](https://github.com/facebook/rocksdb) in Rust. |
6 | 4 |
|
| 5 | +## Documentation |
7 | 6 |
|
8 | | -- [Build a Database Pt. 1: Motivation & Design](https://adambcomer.com/blog/simple-database/motivation-design.html) |
9 | | -- [Build a Database Pt. 2: MemTable](https://adambcomer.com/blog/simple-database/memtable.html) |
10 | | -- [Build a Database Pt. 3: Write Ahead Log(WAL)](https://adambcomer.com/blog/simple-database/wal.html) |
11 | | -- Build a Database Pt. 4: Compaction |
12 | | -- Build a Database Pt. 5: Putting it Together |
13 | | -- Build a Database Pt. 6: Using the Database |
| 7 | +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. |
14 | 8 |
|
| 9 | +- [Build a Database Pt. 1: Motivation & Design](https://adambcomer.com/blog/simple-database/motivation-design/) |
| 10 | +- [Build a Database Pt. 2: MemTable](https://adambcomer.com/blog/simple-database/memtable/) |
| 11 | +- [Build a Database Pt. 3: Write Ahead Log(WAL)](https://adambcomer.com/blog/simple-database/wal/) |
| 12 | +- Build a Database Pt. 4: SSTable |
| 13 | +- Build a Database Pt. 5: Compaction |
| 14 | +- Build a Database Pt. 6: Putting it Together |
| 15 | +- Build a Database Pt. 7: Using the Database |
15 | 16 |
|
16 | 17 | ## Tests |
| 18 | + |
17 | 19 | Running tests is very simple with cargo. |
18 | 20 |
|
19 | 21 | ```shell |
20 | 22 | cargo test |
21 | 23 | ``` |
22 | | - |
|
0 commit comments