Common Data Model
A common data model aims to standardize that logical infrastructure so that many related applications can operate on and share the same data.
Common Data Model simplifies this process by providing a shared data language for business and analytical applications to use. The Common Data Model metadata system makes it possible for data and its meaning to be shared across applications and business processes.
In addition to the metadata system, Common Data Model includes a set of standardized, extensible data schemas that Microsoft and its partners have published. This collection of predefined schemas includes entities, attributes, semantic metadata, and relationships.
The schemas represent commonly used concepts and activities to simplify the creation, aggregation, and analysis of data.
How does a common data model work?
A common data model contains a uniform set of metadata, allowing data and its meaning to be shared across applications. In addition to the uniform metadata, a common data model includes a set of standardized, extensible data schemas that include items such as entities, attributes, semantic metadata, and relationships.
Once all the elements of the common data model are defined, methods to access and operate on the data are developed so that all applications can use these same, standardized procedures.
Importance of a common data model
A common data model opens many opportunities to increase the efficiency of the software development process. New algorithms can be developed without the need to define the data structures to store and operate on the required information. The common data model provides the capability to store the information using standard structures and operate on the data using standard access methods.
There is another very important aspect of design flow integration which is difficult to implement without a common data model.
A common data model allows data sharing to occur. The process of using late-stage information to inform early-stage decisions is called a shift-left approach.
A common data model also substantially improves the efficiency of the design flow. Without a common data model, data sharing becomes very difficult. Design databases must be exported from internal models to standard readable formats to pass on to the next tool that compiles it into its own data model. This process increases runtime and can result in loss of information. It also uses much more disk space due to data redundancy, which can create challenges for NFS file systems.
Benefits of a common data model
A common data model allows early- and late-stage tools in an process flow to share information. This facilitates a shift-left approach to design, which results in a more convergent, predictable design process since early-stage results can now take late-stage effects into account. The concept of physical synthesis, where placement information and routing delays are more accurately modeled during logic synthesis, is an example of this approach. Propagating RTL design intent throughout the flow has significant benefits as well. For example, RTL design intent can make late place-and-route stage, multi-bit re-banking much easier. Without this intent, the tool is looking at a random sea of logic to bank. A common data model also implements a “design memory” effect, where approaches that didn’t work well can be propagated so they are avoided for similar future cases.
Historically, the work to build an app has been tightly tied with data integration, but with Common Data Model and the platforms that support it, the two can happen independently:
- App makers and/or developers: Whether these users leverage code-based platforms or a low-code/no-code platform such as Power Apps or Power BI, they need to store and manage data for their apps.
- Data integrators: These users are responsible for bringing data from a variety of systems to make it accessible for apps to use.
Common Data Model simplifies data management and app development by unifying data into a known form and applying structural and semantic consistency across multiple apps and deployments. To summarize the benefits:
- Structural and semantic consistency across applications and deployments.
- Simplified integration and disambiguation of data that’s collected from processes, digital interactions, product telemetry, people interactions, and so on.
- A unified shape, where data integrations can combine existing enterprise data with other sources and use that data holistically to develop apps or derive insights.
- The ability to extend the schema and Common Data Model standard entities to tailor the model to your organization.