Chest: A New Database

by Marcel Garus · 2020-10-08 · 1 minute read · Chest · Dart · code · available at mgar.us/chest-intro

Databases are a fundamental part of most modern applications. Studying Hive interested me in database design, so I decided to implement a new database – called Chest.
I created it as a research project, but I'd also be happy to produce something worthwhile.

These are the goals:

These are non-goals:

I want to emphasize the last non-goal especially. That's not to say I don't care about speed at all – I'll try to keep the time complexity to a minimum and create an architecture that's not inherently slow. But I'll postpone low-level performance optimizations to a (much) later date.

Looking at the goals, this will – unlike Hive – not be an in-memory database but a resource-efficient, full-fledged database that supports vast amounts of data. In this series, I'll document my architecture bottom-up and build lots of small layers of abstraction that each bring us closer to the vision of a complete database.