Skip to content

About

Me

ZipponDB is developped by a single person, Adrien Bouvais.

I started this project because I wanted to learn a lot of things:

  • Database
  • Zig
  • CI/CD
  • Data structures
  • Algorithms
  • Documentation
  • Memory management
  • High performance
  • Low level programming
  • ...

Why

I wanted to create a "real" project, not just some TODO app. But something original with actually everything. That's why I added automatic documentation update when push in main. Or automatic build and release when I push a new tag. And why I make it look like a proper open-source project.

I didn't research that much how other db do stuff. I wanted to just do it, figure it out and make silly mistake. That how you learn. I may take this knowledge and try to do more niche database, something maybe a bit more through upfront. Because here I just wrote the simpliest query I could think of that can do easy relationship. But let's be honest, that's kind of a mess. I more want to do like a vector db or tigerbeetle and there transaction database.

Or just just simply a SQL db. I mean I don't think it would be that difficult based on what I already did.

How

I came into this project with 0 real knowledge of how a database work and a small week-end of coding zig. I didn't read that much about how other people make databases. My goal was more to learn by mistake, doing it myself. I spended a lot of time at the beguining planing how the database will work inside, before coding.

For the how itself, I solved one small problem at the time. 'How to open a file ?', 'How to read and write bytes ?', 'How to do a tokenizer ?', etc... And litle by litle, you go closer and closer to your objectif.

I learned a lot of thing with this project. And even if I would do some part differently if I do it again, I think it is a fairly decent piece of software.