Data models and query languages
Data models not only inform the way software is written, they also shape the way we think about a problem.
Most systems are built by layering data models on top of one another, each layer abstracting away the complexity of what is below (e.g, objects < json < bytes < hardware).
When the relational model was invented, it came with a new way of querying data, SQL, a declarative query language.
Backlinks
Designing Data-Intensive Applications
Designing Data-Intensive Applications is a book written by Martin Kleppmann.