diff --git a/README.md b/README.md index 7f5a6e9..1e7976a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,24 @@ # MyDB -I have no clue how databases work \ No newline at end of file +I have no clue how databases work +It has been so long since my DB course, all I know is that they use B-Trees to store data +I'm gonna attempt to write my own DB anyway + +## File format + +### Train of thought + +As far as I'm concerned, the most important thing is probably the way the database gets stored. I don't want it to be in memory so I will have to create a file (or more) on the filesystem in which all the data is going to be stored. +As far as I know, sqlite stores databases in a single file, I'm not sure about others like postgresql, mysql/mariadb, oracledb, etc. +Maybe having a file per table instead of per database is easier to set up, but it might be just as hard, and doing IO on multiple files might be bad for performance. + +### Format + +| Offset | Description | +|---------|-------------| +| 0 | Something | +| todo!() | todo!() | + +## SQL Interpreter + +todo!() \ No newline at end of file