Logical Data Model in GoodData - Introduction
With this article, we are starting a series about Logical Data Model in GoodData. In several articles, you are going to learn what it is, why you should care about it, how to read it, and how to design it. This is the first part of the series.
The role of the Logical Data Model
Each Workspace has a Logical Data Model (LDM) which defines what data is available for analysis in that workspace and what the relationships of different data entities (datasets) are. This model defines, structurally, what metrics can be created using MAQL and whether it will be possible to slice and filter them - therefore which insights it will be possible (and not possible) to create. For this reason, you should start building your LDM with reporting requirements in mind.
In GoodData the LDM is often represented by an oriented graph with arrows connecting datasets in hierarchies. This diagram can be referred to when building metrics and insights.
While some analytics tools do not require a logical data model (or its equivalent) to be defined, this usually means that every single report requires you to write a separate query (i.e. in SQL or similar language) or define some kind of mapping to the physical data. With a predefined logical model, you define the mapping and relations once and then you (or even end users who might not have the analytical and/or database skills) can reuse the same objects multiple times for many different insights or reports. And the system will make sure they will not combine things which should not be combined. This makes it very useful for self-service analytics. If the data model is well-designed, business users do not need to think about how to connect different data points every single time they create an insight. All the important relations are already captured and embedded into the logical data model by its creator.
Why should you care
You can easily upload a flat file into GoodData and start analyzing it. In this case GoodData will create a simple LDM for you. But once you define a proper Logical Data Model, you can fully unlock the potential of GoodData. The world where a single metric can be used in different contexts, where end users without database knowledge can build ad-hoc insights. And GoodData (with the help of the Logical Data Model) will make sure their insights will make sense.
Treat the Logical Data Model as a groundwork for everything you will build in GoodData above it - all the metrics, insights and dashboards. But don’t be afraid, unlike a real groundwork, you can always get back your data model and modify it.
Example of a simple Logical Data Model in GoodData:
Next article in this series is: Logical Data Model - Objects of the Logical Data Model
Let us know how you like this series and feel free to post questions if something is not clear to you. For more information and practice about data modelling, please also attend our free courses at GoodData university.