Data Models and Query Languages

Dated May 28, 2023; last modified on Sun, 28 May 2023

Most applications are built by layering one data model on top of another, e.g., real world -> data structures -> general purpose data models, e.g., JSON, XML, tables in a relational database, etc. -> bytes in memory, disk or network -> electrical currents, light pulses, magnetic fields, etc. For each layer, the key question is how it is represented in terms of the next-lower layer.

From experience, I mostly think about how data structures are represented in general purpose data models, e.g., do I use a SQLite database, or a key-value store database, etc. I rarely think about levels lower than that.

There are different kinds of data models, and each embodies assumptions on how it’s going to be used, e.g., some operations are fast, while others perform badly. Since the data model has a profound effect on what the software above it can and can’t do, it’s important to choose one that is appropriate to the application.

Random Link ¯\_(ツ)_/¯
May 28, 2023»Relational Model Versus Document Model 8 min; updated May 29, 2023
May 29, 2023»Query Languages for Data 3 min; updated May 29, 2023