Data Products operating model
The Data Products operating model includes the following out-of-the-box elements.
Domain type
The following domain type is relevant for Data Products.
| Domain type | Description |
|---|---|
|
Data Product Catalog |
Data Product, Data Product Port, and Data Contract assets can be created in domains of this type. |
Asset types
The following asset types are relevant for Data Products.
| Asset type | Description |
|---|---|
| Data Product |
A reusable package that provides data to answer a business question or solve a business problem. The Data Product asset type includes default attribute types and relation types, and a specific asset type layout. |
| Data Product Port |
An interface through which a data product interacts with the broader ecosystem. A link between a Data Product Port asset and a Data Product asset through the "exposes data as" relation type is considered an output port. A link between a Data Product Port asset and a Data Product asset through the "consumes data through" relation is considered an input port.
For advanced governance use cases, you can use the Data Product Output Port and Data Product Input Port asset subtypes and their relation types. |
| Data Contract |
A data delivery agreement that specifies the data structure, format, and service-level objectives. |
Asset type groups
The following asset type groups are relevant for Data Products.
| Asset type group | Description |
|---|---|
| Data Product Port Asset |
A group of assets that are linked to data product ports. By default, only Table assets are included in this group, and we recommend that you expose only tables. However, Data Set and Data Element assets are also fully supported in the community workflows if you include them in this asset type group. |
| Data Product Input |
The physical input for a data product. Use this asset type group only for advanced governance use cases that involve the Data Product Input Port asset type. |
Attribute types
The following attribute types are relevant for Data Products.
| Attribute type | Description | Used in asset type |
|---|---|---|
| Business Case |
The business problem that the data product solves. |
Data Product |
| Data Product Category | The category of the data product. The out-of-the-box values are Foundational and Derived. | Data Product |
| Description |
A brief summary of the data product, for example, its scope, context, or purpose. |
Data Product |
| Access Instructions |
Instructions on how to access data. |
Data Product Port |
| Access Method |
The method that can be used to access data, such as a table or an API. |
Data Product Port |
| Backup Frequency |
A backup service level objective that documents the expectations for how often the data is backed up. For systems with point-in-time recovery (PITR), this can be the frequency at which the system creates a new base backup or differential backup. |
Data Contract |
| Latency |
A latency service level objective that documents the expectations for the maximum time between the source data becoming available and the data processing completion to make the data available. |
Data Contract |
| Manifest ID | A unique identifier of a manifest. | Data Contract |
| Most Recent Record Date |
A freshness service level objective that documents the expectations for the maximum age of the most recent entry. This is typically used for static or infrequently updated data. |
Data Contract |
| Processing Frequency |
A frequency service level objective that documents the expectations for how often the source data is processed to make the latest data available. |
Data Contract |
| Processing Method |
A frequency service level objective that documents the expectations for how the source data is processed. Sample values include batch processing, streaming, and manual refresh. |
Data Contract |
| Recency |
A freshness service level objective that documents the expectations for the maximum age of the most recent entry. This is typically used for result sets that dynamically evolve over time. |
Data Contract |
| Recovery Point |
A backup service level objective that documents the expectations for the period of potential data loss in case of a restoration. For systems with Point-In-Time Recovery (PITR), the recovery points can be more granular than the backup frequency. |
Data Contract |
| Recovery Time |
A backup service level objective that documents the expectations for the maximum time between initiating a restoration and completing the backup restoration. |
Data Contract |
| Response Time |
A support service level objective that documents the expectations for the maximum time between starting a support request and getting a first response. |
Data Contract |
| Retention Period |
A retention service level objective that documents the expectations for how long the data can be retained. |
Data Contract |
| Support Availability |
A support service level objective that documents the expectations for the days, times, and periods when technical support is available. |
Data Contract |
| Uptime Percentage |
An availability service level objective that documents the expectations for the uptime of the system where the data can be accessed. |
Data Contract |
| Unlimited Retention |
A retention service level objective that indicates whether a limit is defined for how long the data is retained. If a concrete value is provided for the Retention Period attribute type, the value for this attribute type is expected to be false. |
Data Contract |
| Version | A label or identifier that represents a specific state or iteration. It is used to track changes over time. | Data Contract |
Relation types
The following relation types are relevant for Data Products.
| Head | Role | Co-role | Tail | Public ID |
|---|---|---|---|---|
| Data Contract | governs functioning of | should operate according to | Data Product Port | DataContractGovernsFunctioningOfOutputPort |
| Data Contract | information to be provided | is mentioned in the terms of | Data Attribute | DataContractPrescribesProvisioningOfDataAttribute |
| Data Product | exposes data as | is output port for | Data Product Port | DataProductHasOutputPort |
| Data Product | relates to | is related to | Measure | DataProductRelatesToMeasure |
| Data Product | relates to | is related to | Business Term | DataProductRelatesToBusinessTerm |
| Data Product | relates to | is related to | Data Domain | DataProductRelatesToDataDomain |
| Data Product | is explained in | explains | Data Notebook | DataProductIsExplainedInDataNotebook |
| Data Product Input | implements | is implemented as | Data Product Input Port |
AssetImplementsInputPort Note Although this relation type is still available, we recommend that you use the "OutputPortImplementedByAsset" relation type instead.
|
| Data Product Port | is input port for | consumes data through | Data Product | InputPortForDataProduct |
| Data Product Port | is implemented by | implements | System | DataProductPortIsImplementedBySystem |
|
Data Product Port
|
is implemented as | implements | Data Product Port Asset |
OutputPortImplementedByAsset |
