Why isn’t that a database? In my understanding a DB needs to be able to store structured data and retrieve it, so not sure what’s missing here? Many modern DBs are effectively append only logs with compaction and some indexing on top as well as a query engine, so personally I don’t think it’s weird to call this a DB.
I agree. Is there an industry accepted definition of what a system must do before it can be called a database?
I also wrote a KV system to keep track of metadata (tags) for an object store I invented. I discovered that it could also be used to create relational tables and perform fast queries against them without needing separate indexes.
I started calling it a database and many people complained that I was misusing the term because it can't yet do everything that Postgres, MySQL, or SQLite can do.
Databases have a long history that reaches back much further than the modern, full featured SQL databases we have today. What you built sounds like it would fit in well amongst the non-sql databases of the world, like Berkeleydb, indexeddb, mongo, redis, and so on.
Don't be absurd. By your standard, cat, grep and a file form a database. Sure, if you interpret literally what a database is, that fits. But once again, it's not what people have in mind when they read "we cut cloud costs by writing our own database".
File systems are databases. Different file systems choose different trade offs, different indexing strategies, etc.
Git is also a database. I got into this argument with someone when I proposed using Github as a database to store configuration entries. Our requirements included needing the ability to review changes before they went live, and the ability to easily undo changes to the config. If your requirements for a DB include those two things, Github is a damn good database platform! (Azure even has built in support for storing configurations in Github!)
I don’t know what point you are really trying to make. At uni the DBMS that everyone learns in their database course is an SQL database. The database part is technically just a binary file, but it’s not what people usually mean when they say they need a database for their project. Just like a search engine doesn’t have to be anything more than indexOf and a big text file. It’s just not very useful to think of it like that.