Cube转发了
Data modeling is one of the most essential tasks. It's where business requirements meet engineering, forming the foundation of any data project. But why don't we take more care of it? Why did we write the same metrics differently across departments? Why do we keep reinventing data models with each new tool we adopt? This got me thinking: Wouldn't it be convenient to separate the presentation from the storage through a data modeling layer? A place where we can declaratively define our metrics, measures, and business KPIs to update them confidently and version them. Today, we have the beginning of such a separation of concerns with a?Semantic Layer, and I make my case in this article (https://lnkd.in/ew-etp6u). --- In case you have never heard or didn't fully understand what a semantic layer is and why you should have one, this is my article. I compare it to the MVC (Model View Controller), a term popularized in the 70s and used to this day. I wondered why and took parallels between the data world and MVC, including Active Records, the intermediary between presentation (view) and data source (model). Translating and implementing valuable business logic, the ORM maps the code to its database table. Wouldn't it be nice to have an *ORM for data*, too? A modeling language that defines metrics, facts, and dimensions and applies them to the model, the heterogeneous data sources. This allows for better maintainability, separation of concerns, and, above all, the ability to model the data logically to map the business requirements to our databases. Additionally, we get even more: ?? #DataModeling: Unified, consistent metric definition in a declarative manner. ?? #APIs?(GraphQL, REST, SQL, MDX, AI): Integrate with any endpoint and deliver trusted data. ???? #AccessControl: Centralize and fine-grain governance and security policies. ????♂? #Caching: Query optimization, pre-aggregations; deliver faster, more cost-efficient results. --- We can use the DRY principle, create complex business KPIs once, and provide convenient access through out-of-the-box APIs. We can reuse and build on top of each measure and business metric. Ultimately, it enables better data governance and simplifies data modeling in large organizations. Read more in the article; I hope you enjoy it. I'm excited to hear what you think about this comparison.