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 are.
In GoodData the relational model of your database is represented by an automatically generated physical data model (PDM). The LDM is built on top of the PDM.
The topology of your LDM determines what types of metrics can be created using MAQL and how your data can be sliced and filtered, which in turn affects the types of visualizations that can be created. It is essential to consider what business questions you want to answer with GoodData analytics when designing the LDM.
Logical Data Model
You create and modify the LDM for a particular workspace using the integrated LDM modeler. In GoodData the LDM is represented by an oriented graph with arrows connecting datasets in hierarchies. This diagram can be referred to when building metrics and visualizations.
The LDM represents relationships between data objects such as tables or views (datasets) in a workspace. The LDM provides a layer of abstraction so that you do not have to interact directly with the relational model of your database using SQL.
In the LDM Modeler, you assemble:
- Datasets that contains facts, attributes, and attribute labels
- Primary keys of the datasets and relationships between them
- Date datasets
GoodData is designed to enable you to quickly create and modify LDMs and publish them to workspaces. However as this is the basis for all of your analytics, whenever possible deploy experienced modelers to your workspaces, particularly if they involve multiple interacting datasets or specialized use cases for your data.
If you are new to BI data modeling, we recommend you invest time to study data modeling practices prior to implementing a production GoodData solution. Read the following articles to learn more about how to create a good LDM:
If you use a workspace hierarchy, the LDM is inherited and distributed to child workspaces from a parent workspace. You cannot edit LDM in child workspaces. You can only view the LDM in a child workspace as it is inherited from the parent workspace.
Benefits of the Logical Data Model
Setting up the LDM is a relatively small time investment that will make working with analytics and creating visualizations much easier down the line. The main advantage of using a LDM is that it enables the use of MAQL and context-free, reusable metrics. See GoodData and dbt Metrics for an example of just how many lines of SQL you can avoid having to write, thanks to the LDM.
While some analytics tools do not require a LDM (or its equivalent) to be defined, this usually means that every single report requires you to write a SQL separate query 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 the end business users, can reuse the same objects multiple times for many different visualizations. The system will make sure they will not combine things which should not be combined. This makes the LDM very useful for self-service analytics.
The LDM is a groundwork for everything you will build in GoodData above it - all the metrics, visualizations and dashboards. The LDM can always be changed and evolved at a later point.