CDS and CDM are Not the Same! Difference Explained

Working with Power BI and Power Platform dataflows, or using Dynamics in general, might cause you to hear one of these two CDS (Common Data Services), or CDM (Common Data Model). Often there is a misconception about these two, and many people think they are the same. In this article, I’ll explain the difference between these two.

CDM: Common Data Model

CDM is a data model that includes many existing standard definition for tables (entities), such as Account, Product, etc. The reason that this data model exists is to help to unify databases and applications into a standard form of data or let’s say into a Common Data Model.

The picture below shows some of the tables in CDM;

CDM entities

The tables above don’t necessarily include data. they are like blank templates that can be filled using other applications in Dynamics or Power Platform services.

To read more about CDM, read my article here.

CDS: Common Data Services

CDS is a data storage system, which also comes with a lot of services around it for security, integration, and etc. CDS is something like a database, which is primarily used for Power Apps and some other Power Platform services.

CDS is a data storage system

Using CDS as a data storage system comes also with some extra features such as the usage of Portal Apps and AI Builder etc. You can consider CDS as a database storage system to be used for a citizen app developer.

To learn more about CDS, read my article here.

CDM is a Metadata Structure for Entities

To understand the difference, you need to understand that CDM is not a data storage system, is not a database. You can not say data is stored in CDM as storage. There should be always a data storage technology behind it. CDM just provides the metadata structure for entities. For example, the Power BI dataflows stores data into Azure Data Lake Storage, but that data can get stored in the format of CDM, into the structure of CDM.

In Power BI dataflows you can write data into CDM structure using the Map to Standard option

If you hear that this data is stored in CDM, that probably means; it is stored in the CDM metadata structure template, but in an underlying data storage.

The underlying data storage of CDM can be Azure Data Lake, CDS etc.

CDS is a Data Storage System

CDS on the other hand side, is a database system. you can store data in it. CDS fortunately leverages the structure of CDM. that means you can use the entity templates that are defined in CDM as your entities and fill data into it, But you can also define your custom entities.

You can use CDS as a data source when you use Get Data in Power BI, but you can never use CDM (because CDM is not a storage system);

Get Data from CDS in Power BI Desktop

CDM is Built for having a Unified Data Model Experience

The goal for having CDM is to have a unified data model experience. Instead of having 20 version of a product table, each with some columns different than the others and some common columns. you can have one product table, and use it in all other applications, and that product table have all the columns that any application needs.

CDM is the unified data model across applications, databases, and platforms

CDS is Built for Citizen App Developer As an Easy-to-Use Database System

CDS, is created to give the citizen app developer, a easy-to-use database system experience. A citizen app developer is someone who works with Power Apps, Power Automate etc to create business applications, and this person would not necessarily know database systems such as SQL Server Database. Or those database systems might look very technical for the citizen developer. So Power Platform came with the idea of having a database system that is easy-to-use across Power Platform applications.

CDS behind the scene is using Azure SQL DB, Cosmos DB, Blob storage, and etc for storing the data. But all of that details is abstract from the citizen developer’s view. Citizen developer easily work with a simple graphical database management portal through Power Apps portal to work with the CDS entities.

Power Apps portal for working with CDS

Summary

Although the names are so similar, these two are talking about different things: CDS is a data storage system, and CDM is a metadata structure framework. They often work with each other, because CDS, like any other database systems would get a better outcome if works with a unified data model.

To learn more about each of these, I highly recommend reading these articles:

Video

Reza Rad on FacebookReza Rad on LinkedinReza Rad on TwitterReza Rad on Youtube
Reza Rad
Trainer, Consultant, Mentor
Reza Rad is a Microsoft Regional Director, an Author, Trainer, Speaker and Consultant. He has a BSc in Computer engineering; he has more than 20 years’ experience in data analysis, BI, databases, programming, and development mostly on Microsoft technologies. He is a Microsoft Data Platform MVP for 12 continuous years (from 2011 till now) for his dedication in Microsoft BI. Reza is an active blogger and co-founder of RADACAD. Reza is also co-founder and co-organizer of Difinity conference in New Zealand, Power BI Summit, and Data Insight Summit.
Reza is author of more than 14 books on Microsoft Business Intelligence, most of these books are published under Power BI category. Among these are books such as Power BI DAX Simplified, Pro Power BI Architecture, Power BI from Rookie to Rock Star, Power Query books series, Row-Level Security in Power BI and etc.
He is an International Speaker in Microsoft Ignite, Microsoft Business Applications Summit, Data Insight Summit, PASS Summit, SQL Saturday and SQL user groups. And He is a Microsoft Certified Trainer.
Reza’s passion is to help you find the best data solution, he is Data enthusiast.
His articles on different aspects of technologies, especially on MS BI, can be found on his blog: https://radacad.com/blog.

Leave a Reply