User Tools

Site Tools


data-mesh

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
data-mesh [2023-05-23 09:33] – mrksdata-mesh [2025-01-13 11:59] (current) – mrks
Line 19: Line 19:
   * [[https://www.thoughtworks.com/insights/articles/data-mesh-in-practice-technology-and-the-architecture|Data Mesh in practice: Technology and the architecture (Part IV)]]   * [[https://www.thoughtworks.com/insights/articles/data-mesh-in-practice-technology-and-the-architecture|Data Mesh in practice: Technology and the architecture (Part IV)]]
   * [[https://www.innoq.com/en/blog/thoughts-on-a-canonical-data-model/|Why You Should Avoid a Canonical Data Model]]   * [[https://www.innoq.com/en/blog/thoughts-on-a-canonical-data-model/|Why You Should Avoid a Canonical Data Model]]
 +  * [[https://www.innoq.com/de/articles/2023/07/what-is-a-data-product/|What is a data product?]]
 +  * [[https://www.thoughtworks.com/insights/articles/recommendations-for-a-successful-data-mesh-implementation|10 recommendations for a successful enterprise Data Mesh implementation]]
  
  
Line 72: Line 74:
   * Data products must **interoperate to get value in forms of higher order datasets and insights**   * Data products must **interoperate to get value in forms of higher order datasets and insights**
  
 +
 +===== Designing data products =====
 +
 +
 +[[https://martinfowler.com/articles/designing-data-products.html|Designing data products – Kiran Prakash (2024-12-10 martinfowler.com)]]
 +
 +  * "Data products **package structured, semi-structured or unstructured analytical data for effective consumption** and data driven decision making, keeping in mind specific user groups and their consumption pattern for these analytical data."
 +  * "One of the most prevalent misunderstandings is **conflating data products with data-driven applications**. Data products are natively **designed for programmatic access and composability**, whereas data-driven applications are primarily intended for human interaction and are not inherently composable."
 +  * "**No single data product should be owned by multiple domains**, as this can lead to confusion and finger-pointing over quality issues."
 +  * "While it's important to consider domain ownership early, **it’s often more efficient to have a single team develop all the necessary data products** to realise the use case at the start of your data mesh journey. Splitting the work among multiple teams too early can increase coordination overhead, which is best delayed. Our recommendation is to begin with a small, cohesive team that handles all data products for the use case. As you progress, use “team cognitive load” as a guide for when to split into specific domain teams."
 +  * "**Having a consistent blueprints for all data products will make this transition of ownership easier when the time comes**. The new team can focus solely on the business logic encapsulated within the data products, while the organization-wide knowledge of how data products are built and operated is carried forward."
 +  * "**For structured data, this usually means a single denormalized table**, and for semi-structured or unstructured data, a single dataset. Anything larger is likely trying to do too much, making it harder to explain its purpose in a clear, concise sentence and reducing its composability and reusability."
 +  * "In our experience, **it's beneficial for each data product identified earlier to have its own source control repository and associated deployment pipeline**, allowing for independent management of its lifecycle."
  
  
Line 124: Line 139:
     * Links between schemas, semantic links between the schema so that you can join this thing     * Links between schemas, semantic links between the schema so that you can join this thing
     * Link of the data     * Link of the data
 +
 +
 +
 +===== Governing data products using fitness functions =====
 +
 +[[https://martinfowler.com/articles/fitness-functions-data-products.html|Governing data products using fitness functions – Kiran Prakash (2024-09-05, martinfowler.com)]]
 +
 +  * Decentralization requires governance at scale
 +  * Small autonomous teams need more governance than a central team
 +  * "The term “data product“ has unfortunately taken on various self-serving meanings [...]"
 +  * Data product: [[https://www.oreilly.com/library/view/building-evolutionary-architectures/9781491986356/ch04.html|architectural quantum]]
 +  * "Smallest valuable unit of analytical data, sourced from data streams, operational systems, or other external sources and also other data products, packaged specifically in a way to deliver meaningful business value. It includes all the necessary machinery to efficiently achieve its stated goal using automation."
 +  * Fitness function
 +    * Test used to evaluate how close a given implementation is to its stated design objectives
 +    * Shift left on governance: identify potential governance issues early to enable proactive improvement
 +    * Prioritization
 +      * Goverance by rule over Governance by inspection
 +      * Empowering teams to discover problems over Independent audits
 +      * Continuous governance over Dedicated audit phase
 +    * Organization wide data catalog to index data products with rich metadata
 +  * Assertions within the catalog: Tools like Collibra and Datahub provide hooks
 +  * Assertions outside of the catalog
 +  * Assessing metadata with LLMs
 +  * Reporting of results
  
  
data-mesh.1684827217.txt.gz · Last modified: by mrks