../reindeer

Open Source

reindeer-rs

Deer emoji

TL; DR

reindeer-rs is a small embedded database for Rust that I’ve written to accommodate the data of my other Rust project, Tardigrade.

It features bare-minimal relational capabilities and is Open Source

About the project

reindeer-rs is a lightweight embedded database for Rust with a minimal relational model but no SQL, designed to be ultra-efficient and fast. It works around the concept of entities, entities being related to each other in several ways.It’s a logical layer on top of sled which handles the storage as a bare-metal key-value store.

This has been developed as a companion project for Tardigrade, which was itself designed to be super small and fast so it could run on a Raspberry Pi 4 – with a super small cost. The idea was to provide a solution that was not meant especially for the cloud, but rather, have an option to be run at home or at the office, on cheap hardware. As I did not need a complete relational database and the overhead that came with it, I decided to develop my own embedded database that would be used the way I naturally handled data in Tardigrade.

Would it have been better to just use SQLite ? I’ll never know since I never tried to run benchmarks. It was a project I developed for myself after all, so why not do what I wanted instead of what I would have done in a regular company, and discover new things along the way ?

The sure thing is, I learned a lot in the process of making it, as much about Rust as how a Database internally works.

If you want to know more, you can check out the source code with its readme and the online documentation!