Rusting a Database
This is a blog about my journey of trying to implement a relational database engine in Rust, while also learning the language. The main point here is to create a system that mimics as close as possible a real one, so as to better understand the way it works and thus become a better database engineer.
All posts
Storage manager - the buffer
An overview of the implementation for the buffer manager, one of the three major services of the storage subsystems.
insertion in heap pages
Implementation of the insertion algorithm for unsorted heap pages
maintaining stable row identifiers during page maintenance
A rule that must be respected by the storage engine is to guarantee that internal page operations do not alter the slot numbers of existing rows
Paging the data
An overview of the concept of slotted pages in a storage engine along with details on how it was implemented
Crates
Organizing a project of this scale is already difficult - doing it in a new language, where you are not familiar with the idiomatic ways of structuring the project makes it even trickier
So I decided to write a database system
First post, going over the reason behind this blog and giving some context.