A Brief History of Semantic Pain
To understand why I think the semantic layer is unnecessary, we have to understand why it was born.
The entire business intelligence industry was built on a foundational compromise: sacrificing analytical flexibility for query performance. In the 1990s, relational databases were too slow for complex analysis. The solution was the OLAP cube, a multi-dimensional data structure that solved the performance problem through pre-aggregation. Before a user asked a question, the system pre-calculated and stored the answers for every combination of dimensions like time, geography, and product.
This delivered incredible speed. But the price was inflexibility. The cube was a rigid grid. If a user's question required a dimension not included in the original design, it was impossible to answer without a data engineer redesigning and reprocessing the entire cube. Analytics was confined to a pre-defined set of questions.
The semantic layer emerged as the solution. In 1991, Business Objects patented a "relational database access system using semantically dynamic objects," the concept that would become the "Universe". In theory, the idea was elegant: create an abstraction layer that translates complex database schemas into business-friendly terms. Users could drag and drop familiar concepts like "Revenue" and "Customer" without knowing that Revenue came from joining three tables with a specific WHERE clause.
But reality told a different story. Creating and maintaining a Universe required specialized skills. Universe Designer certification became a career path. Every vendor at the time seemed to add a competitive solution - Cognos had PowerCubes and Impromptu, there was Hyperion Essbase, and of course, old reliable - Microsoft's SSAS.
Each vendor's semantic layer was proprietary. Each required specialists. If you've ever written a semantic query, you know the feeling. You stare at a query that looks nothing like the SQL you learned, wondering why something as simple as "show me sales by region" requires navigating a maze of brackets, axes, and cube syntax.
We'd gone from one gatekeeping problem (complex databases) to another (specialized BI tools). The semantic layer was supposed to democratize data access. Instead, it created a new priesthood of Universe Designers, MDX developers, and Cognos specialists. Meanwhile, the real semantic layer, the one everyone actually used, was an Excel file called revenue_master_FINAL_v3.xlsx that Bob from Finance emailed around every Monday.
Here's what's easy to forget: all of this complexity existed because of a performance constraint. OLAP cubes and pre-aggregation were necessary because queries were painfully slow. But that constraint has largely evaporated. Modern analytical databases (like MotherDuck) can run complex queries fast and economically, without pre-computing every possible answer. The technical justification for the semantic layer's architecture? It's gone. But the architecture persists.