41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
# About
|
|
|
|
## Me
|
|
|
|
ZipponDB is developped by a single person, [Adrien Bouvais](https://github.com/MrBounty).
|
|
|
|
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.
|