What is a Semantic Layer
A semantic layer (sometimes also called Headless BI) calculates complex business metrics at query time. It sits between your data sources/transformation layer and your analytics tools. You define a metric’s aggregations (daily, weekly, monthly, and quarterly) and dimensions (region, customer, product). Examples of metrics could be “monthly active users”, “weekly revenue”, “number of paying customers”, and so on.
You can think of a semantic layer as a translation layer between any data presentation layer ( business intelligence, notebooks, data apps) and the data sources. A translation layer includes many features, such as integrating data sources, modeling the metrics, and integrating with the data consumers by translating metrics into SQL, REST, or GraphQL.
Because everyone has different definitions of “active” users or “paying” customers, the semantic layer allows you to define these discrepancies once company-wide. Instead of having three different versions each presentation tool e.g. BI tool would show a different number than your Jupyter notebook or data app. And what if the metric changes to a new definition, with a semantic layer you change only one time. This powerful feature empowers domain experts and data practitioners to get a common understanding of business metrics.
A sub-layer of the semantic layer is the Metrics Layer.
Read more on The Rise of the Semantic Layer or other fascinating reads on the topic:
- Down the Semantic Rabbit Hole
- The Missing Piece of the Modern Data Stack
- Deep Dive: What The Heck Is the Metrics Layer
- Follow-up: Deep dive: What the heck is the Semantic Layer
- The Great Data Debate by Atlan
- The Metrics Layer has Growing up to do
- The Universal Semantic Layer, More Important Than Ever
- Demystifying the Metrics Store and Semantic Layer
- Semantic Superiority series: Part 1, Part 2, Part 3, Part 4, and Part 5