Logical Data Model in GoodData - Introduction

With this article, we are starting a series about the 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.

Logical Data Model

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 between 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 the groundwork for everything you will build in GoodData above it—all the metrics, insights, and dashboards. But don’t be afraid—unlike real groundwork, you can always return to your data model and modify it.

Example of a simple Logical Data Model in GoodData:

Simple Logical Data Model

The 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.