Frequently asked questions about the Common Data Model
This topic contains frequently asked questions and best practices around a variety of areas related to the Common Data Model (CDM), including general topics, Common Data Service (CDS) for Apps, and Azure Data Lake Storage Gen2 Preview. If you have more questions or comments on the Common Data Model and related topics, we recommend that you submit an issue in Git.
- What is the Common Data Model?
- How does the CDM relate to the Open Data Initiative?
- How does the CDM relate to other standard definitions?
- What type of semantic information can be defined with the CDM?
- How are schemas and other artifacts versioned?
- Where can I find libraries to help read and write CDM metadata?
CDS for Apps
Azure Data Lake Storage Gen2 Preview
- How do I discover CDM content in the lake?
- How do I get started?
- What are the correct authorization levels for CDM folders?
- What are the expectations of a CDM data producer?
- What are the expectations of a CDM data consumer?
- What is the cost implication?
- How do I access CDM folders, model.json files, or data files?
Power BI dataflows
What is the Common Data Model
The Common Data Model (CDM) comprises a standardized metadata system and data schemas that help applications and services interoperate and help you get more value from your data. The CDM simplifies data integration and application-development scenarios, allowing independent development while maintaining shared meaning of data.
How does the CDM relate to the Open Data Initiative
The Open Data Initiative, announced in September 2018 at Ignite, is a vision that was jointly developed by Adobe, Microsoft, and SAP. The Common Data Model, including the CDM metadata format and standard entities, will continue to evolve and directly accrue value toward the Open Data Initiative.
How does the CDM relate to other standard definitions
The CDM schema and standard entities are influenced by existing standards, such as schema.org, throughout a variety of industries. Many CDM standard entities originated from Dynamics 365 but, as we extended to new industries and areas, we look to public standards in that space to help define extensions to CDM. CDM standard entities are open source and available under a Creative Commons license.
What type of semantic information can be defined with the CDM
The CDM schema definitions include a wide variety of semantic information, such as metadata related to geolocation, demographics, measurements, and calendar/dates, in addition to standard data types. You can see examples of these types within the published CDM standard entities and a full catalog of these types will be released soon.
How are schemas and other artifacts versioned
There’s a major/minor versioning system in the standard-entity definitions, as well as the schema format itself. For the standard entities, you can find the version in the URI (Account.0.8.cdm.json) and entity definition.
Where can I find libraries to help read and write CDM metadata
You can find sample libraries to read CDM schema documents in TypeScript as well as sample libraries in .NET and Python to read/write model.json files. More libraries are coming soon; please add your requests/comments at the library location in the GitHub repository.
CDS for Apps
How does the CDM relate to CDS for Apps
CDS for Apps implements the CDM standard entities, such as Account and Contact.
How do I get all the standard entities in my CDS for Apps database
Some standard entities in the CDM are built in to each CDS for Apps database. Other standard entities are installed as part of a solution, including first-party applications (such as Dynamics 365 Field Service) or industry accelerators (such as the Dynamics 365 Healthcare Accelerator).
Azure Data Lake Gen2 Storage Preview
How do I discover CDM content in the lake
Today, a CDM folder within the lake can be identified by the existence of a model.json file that conforms to the CDM model.json specification. We're working to add better discovery mechanisms so that you can more easily find and consume data and metadata in CDM folders.
How do I get started
Start by creating an instance of Azure Data Lake Storage Gen2 Preview, with hierarchical namespaces enabled. When the instance is available, you can onboard it to a service that produces CDM folders (such as Power BI dataflows) or create your own filesystem and CDM folder format. Then provide access to a service that consumes CDM folders or your own applications.
What are the correct authorization levels for CDM folders
In general, the best practice is to set the least required privilege to complete the action.
For data producers, this strategy means full create, read, update, and delete (CRUD) permissions to content within their filesystems. For data consumers, this strategy means read-access permissions only. When data producers provide access to their filesystems, the best practice is to create and manage groups in Azure Active Directory and set access control lists for those groups. This approach makes adding consumers easier going forward.
What are the expectations of a CDM data producer
In the CDM ecosystem, data producers are expected to provide sufficient information for a data consumer to understand and parse the data files. A general principle is to make the metadata as rich as possible to simplify the experience for data consumers.
What are the expectations of a CDM data consumer
In the CDM ecosystem, data consumers are expected to read the metadata and data as the producer described and not to modify any data that consumer didn't also produce. If a data consumer wants to extend or modify the data from another data producer, the consumer then becomes a data producer and should follow the best practices of data producers.
What is the cost implication
Today CDM folders and data files are treated the same as any other data (more details on pricing for Azure Data Lake Storage Gen2 Preview). Moving data between regions incurs additional charges.
How do I access CDM artifacts
You can create, read, update, or delete CDM folders, model.json files, and data files through APIs and SDKs for Azure Data Lake Storage Gen2 Preview.
Power BI dataflows
How does the CDM relate to Power BI dataflows
Power BI dataflows is both a data producer and data consumer of the CDM. Power BI dataflows can write data in CDM folders in Azure Data Lake Storage Gen2 Preview and read data in CDM folder format. Power BI dataflows also offers an experience to map your data to CDM standard entities through the mapping transformation in Power Query Online.
Will my dataflows be affected if the CDM standard entities are revised
When entities in a dataflow are mapped to a CDM standard entity, such as Account, the version of the standard entity is included in the dataflow definition (model.json). Existing versions of the CDM standard entities will persist unchanged, so existing dataflows aren't affected. If you'd like to leverage new versions of the CDM standard entities, you can edit existing dataflows, but your changes might affect reports and dashboards that use the dataflow.
If you have more questions or comments on the CDM and related topics, we recommend that you submit an issue in Git.