Universal Semantic Layer
A universal semantic layer provides a single set of metric definitions that every tool in the data stack can query – dashboards, notebooks, embedded analytics, AI agents, spreadsheets, and custom applications. One definition of "revenue" serves all consumers, regardless of how they access the data.
The idea extends the semantic layer beyond a single BI tool into an organization-wide service.
The vision
In most data stacks today, metrics live inside individual tools. Looker has its LookML definitions. Power BI has its DAX measures. The Python notebook has its own SQL. A Slack bot queries raw tables with its own logic. Each consumer carries its own understanding of what "active customer" or "net revenue" means.
A universal semantic layer replaces these siloed definitions with a single API-accessible service. A dashboard queries it. A Jupyter notebook queries it. An AI copilot queries it. They all get the same answer, because they all resolve against the same governed definitions.
Why it's hard
Different consumers have fundamentally different query patterns:
- BI dashboards send aggregation queries with filters and group-bys. They expect fast, pre-aggregated results.
- Notebooks need row-level or semi-aggregated data for statistical analysis. They want DataFrames rather than pivot tables.
- AI agents generate natural-language questions that must be mapped to metric definitions before any query runs.
- Embedded analytics require multi-tenant isolation, parameterized queries, and sub-second latency.
- Spreadsheet integrations pull tabular data into cells, often with live refresh and custom ranges.
A universal semantic layer must serve all these patterns through a consistent interface while respecting each consumer's performance and format requirements. That's an API design problem as much as a semantic modeling problem.
Two architectural approaches
The middleware approach. Tools like Cube and AtScale sit between the data warehouse and every downstream consumer. They expose the semantic layer as a standalone service with REST, GraphQL, or SQL interfaces. Any tool that can issue a query can connect. The semantic definitions live in the middleware, independent of any BI tool.
The advantage: true tool independence. Switch your BI tool, and the metric definitions stay. Add a new consumer, and it queries the same service. The tradeoff: another infrastructure component to deploy, monitor, and maintain. Query performance depends on the middleware's caching and optimization layer. And the semantic modeling language is limited to what the middleware supports – if Cube can't express a calculation, no consumer can access it.
The BI-native approach. Some BI tools expose their internal semantic layer through APIs, making it accessible beyond the tool's own interface. Looker's headless semantic layer lets external applications query LookML definitions via API. Holistics exposes AML-defined metrics through embedded and API interfaces.
The advantage: no additional infrastructure. The semantic layer that powers dashboards also powers everything else. The tradeoff: the definitions are tied to the BI tool's modeling language. If you replace the BI tool, you replace the semantic layer. And the API capabilities are bounded by what the vendor exposes.
Tradeoffs in practice
The middleware approach optimizes for flexibility and tool independence. It works well for organizations with diverse tooling – multiple BI tools, heavy notebook usage, and custom data applications. The operational cost is a separate service with its own deployment, scaling, and monitoring requirements.
The BI-native approach optimizes for simplicity. One tool defines metrics and exposes them. It works well for organizations where the BI tool is the dominant analytics interface and other consumers are secondary. The risk is vendor lock-in – the semantic layer becomes inseparable from the BI tool.
Neither approach has won. The choice depends on how many consumption tools an organization runs, how much operational complexity the data team can absorb, and whether tool independence outweighs the overhead of a dedicated middleware layer.
The Holistics Perspective
Holistics' semantic layer serves dashboards, embedded analytics, and API consumers from the same AML definitions. The question of 'universal' is whether one semantic layer can serve every downstream tool. Holistics' position: the BI tool with the most expressive semantic layer should be the source of truth, with API access for external consumers.
See how Holistics approaches this →