kragen
4 months ago
This article is attractively presented and seems to be well written, but I disagree with the framing:
> Databases were made to solve one problem:
> How do we store data persistently and then efficiently look it up later?
There are indeed things described as "databases" which are made to solve that problem, but more commonly such things are instead called "file formats" or, to old IBMers, "access methods".
As I see it, the much more interesting problem that databases solve, the one that usually distinguishes what we call "databases" from what we call "file formats", is query evaluation:
> How do we organize a large body of information such that we can easily answer questions efficiently from it?
Prolog, Datalog, QBE, QUEL, and SQL are approaches to expressing the questions, and indexing, materialized views, query planning, resolution, the WAM, and tabled resolution are approaches to answering them efficiently.
dbm is not a database. ISAM is not a database. But SQLite in :memory: is still a database.