Data Intensive Applications — Data Models

Chouaieb Nemri
6 min readOct 25, 2022

Introduction

Welcome to my second article in the Series Data Intensive Applications. In this second chapter, we will learn about Data Models and Data Query Languages. This article is highly inspired by one of the best Data Engineering books available out there: Designing Data Intensive Applications by Martin Kleppmann. To understand data models, you have to learn about data abstraction first.

Note: I have received no compensation for writing this piece. Please consider supporting my and others’ writing by becoming a Medium member with this link.

Breaking into Abstraction

If I were to show you the left-most image of a heart with blood and this arrow going into it, versus the right-most image (a box with some line). Then you’ll most likely say that the first is too realistic and contains unnecessary information and the latter is too abstract and doesn’t really convey the meaning.

The one in the middle is just right, it is showing a heart being pierced by an arrow.

Abstraction basically, is the right amount of information that conveys enough meaning, but not too-much meaning either, and thus making the whole meaning irrelevant.

--

--