Written by Silja MĂ€rdla, Senior Analytics Engineer at Bolt.
In Bolt, weâve been on a mission to understand the best way to systematically prepare data for our different data users: data analytics, reporting, machine learning, etc.
Weâre using dbt (core, not cloud), so naturally, weâve read their best practice guidelines tens of times. After a while, we realised that it gives good guidance but misses a few crucial distinctions, especially after introducing the Semantic Layer.
Here is our version of what data modelling can look like. This setup allows for a mixed usage of âclassical data modellingâ and âdata modelling with semantic layerâ.
The purpose of sources, staging and intermediate models corresponds to that described by dbt. Additionally, we distinguish between core models and data marts.
Core models are the dimension and fact tables that provide business information and act as sources for data usage.
In the case of the classical approach, they will also contain the definitions of business metrics in the form of columns in tables. However, with the semantic approach, the business metrics will be pulled out of the core models and into metrics. Core models will be represented as semantic models, and metrics will be defined on top of semantic models.
Data marts are self-contained tables at certain granularities, ready to be used in reporting, analytics, machine learning and elsewhere downstream. Itâs common that the same entities and metrics will appear in multiple data marts.
In the case of the classical approach, data marts are created as aggregations on top of core models. The semantic approach generates data marts from the semantic layer using dimensions and metrics.
Weâre not using the dbt cloud, so we donât have any downstream data users plugged directly into the metrics layer. The option to do that would make the picture complete.
Join us!
Bolt is a place where you can grow professionally at lightning speed and create a real impact on a global scale.
If you feel inspired by our approach and want to join us on our journey, check out our job board. Weâve hundreds of open roles, from entry-level to top management â each being an exciting opportunity to contribute to making cities for people, not cars.
If youâre ready to work in an exciting, dynamic, fast-paced industry and are not afraid of challenges, weâre waiting for you!