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.