One area of interest that seems to be gathering some attention is the idea that data mesh and knowledge graphs (or graphs in general) can serve as complementary architecture tooling within the distributed data stack. This idea is attractive because it offers representation at two layers:
the discovery of domain data as it exists within its natural habitat (apps, services, databases, …) and the consumption protocols for cross-domain access and sharing;
the discovery of contextual organizational knowledge and learning from a holistic interconnected body that is considered a first-class citizen in its own right.
Note the distinction between data and knowledge. This to me is a powerful combination and a real enabler towards realizing a more adaptable and resilient enterprise.
The big 10,000ft architecture question I’d like to pose is: when designing for this combination, and considering both the language of producers and consumers across the organization, which approach would you choose/favor in terms of precedence:-
Mesh-first. Here, the data and domains are what they are and this informs the architecture in real terms, and how it should be consumed. The knowledge graph merely tracks the existing shape and language of the mesh.
Graph-first. Here, we consider there may be a more integrated organization language (ontology) that is better suited to enterprise knowledge, learning, and expression as a whole. The graph is both consumer and producer within the mesh and the mesh may evolve to match the shape and language of the graph.
Hybrid/neither/other. Please elaborate.
Please vote here:
- Mesh First
- Graph First
- Hybrid / Other