At InterWorks, most consultants would be able to tell you this story:
“My client has asked me to help build a source of truth for all of their reporting and data analysis queries.”
The ask is simple: analytics teams want a one-stop shop for their stakeholders to self-serve, consume a polished KPI dashboard or export data for analysis in Excel. In this model, developers often lay the masonry to enable these modes of access by building complex business logic, access controls and KPI definitions within the reporting layer as calculations or in a logical data layer in your BI tool.
In the analytics milieu, this model is generally successful if you are supporting singular domains using individual tools like Tableau or ThoughtSpot. Ultimately, though, if you have a demand for presentation layer datasets outside of one platform, such as external embedded applications, additional BI tools, or spreadsheet-style applications, you’re going to be presented with several challenges that a Semantic Layer could help alleviate.
The Semantic Layer
Semantic Layers offer a solution to tackling the data silo and portability problems of today by providing the ability for teams to connect directly to, interpret and ultimately understand the language of their organization by centralizing the definitions of entities and metrics. Through languages like yaml and SQL, Semantic Layers are the go-to for connecting to the multitude of industry-specific and horizontal data an organization generates. Essentially, Semantic layers store the entities of your business as metadata alongside the data itself in both natural language descriptions and code, which could otherwise be stored ineffectively in tool siloes.
What’s more, these tools allow organizations to focus on capturing your business logic, access controls and KPI definitions into a single, governable, centralized source. Specifically, tools like dbt and Cube work in a headless capacity, meaning that semantic models (or datasets) can be exposed through an API and integrated into virtually any application, or using pre-built connectors to tools like Tableau, Hex, Google Sheets and ThoughtSpot.
One model to serve all of the humans working with data in your business, perhaps?
The Lego Analogy
Our business data looks a lot like a brand new Lego set. With Lego, you have multiple plastic packages full of bricks of various shapes, sizes and colors used for different things. In data, you can think of the packages as raw data sources and the bricks as individual columns:
The instructions of a Lego set can be compared to the business processes that inform how our data ought to be used together — all of the green bricks make up the garden, blue bricks make up the pond and red bricks build the house, even though they all originated in different bags. To translate this into data terms, imagine that your completed Lego set is a production dataset, with the house representing measures, the pond representing dimensions and the garden representing dates:
As a complete Lego set, we have a coherent, consistent narrative that we can display within any room in the house and matches the instructions. Semantic layers allow us to keep our data together and compliant with the rules of our business, and give us the ability to display that data in many different places:
Conclusion
In short, semantic layers are a powerful tool in the field of data and AI that enable you to deploy production-grade datasets through a single application endpoint that can be integrated within any application. Semantic Layers can also help minimize duplication or redundancy in business logic while subjecting it to the rigor of CI/CD and version control that software products are held to. Follow along with us in this semantic layer blog series as we explore the tools in this space and the benefits for organizations laying the groundwork for enterprise AI.