Skip to content
Back to Blog
1 min read

Data Mesh and AI: Decentralized Intelligence at Scale

I wrote “Data Mesh and AI: Decentralized Intelligence at Scale” to share practical, production-minded guidance on this topic.

AI-Enabled Data Products

from dataclasses import dataclass
from typing import Protocol

@dataclass
class DataProduct:
    """Self-contained data product with AI capabilities."""
    domain: str
    name: str
    schema: dict
    sla: dict

class AIEnabledDataProduct(DataProduct):
    """Data product with embedded AI capabilities."""

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.embedding_model = None
        self.inference_endpoint = None

    def enable_semantic_search(self, embedding_model: str):
        """Add semantic search capability to data product."""
        self.embedding_model = embedding_model
        # Create vector index on key fields
        self._create_vector_index()

    def enable_ai_inference(self, model_endpoint: str):
        """Add AI inference capability."""
        self.inference_endpoint = model_endpoint

    async def semantic_query(self, question: str) -> list:
        """Query data product using natural language."""
        embedding = await self.get_embedding(question)
        return self.vector_search(embedding)

    async def ai_transform(self, data: dict) -> dict:
        """Apply AI transformation to data."""
        response = await self.call_inference(data)
        return self.merge_ai_output(data, response)


class DataMeshPlatform:
    """Platform for managing AI-enabled data products."""

    def __init__(self):
        self.products = {}
        self.discovery_service = DiscoveryService()

    def register_product(self, product: AIEnabledDataProduct):
        """Register data product with discovery."""
        self.products[product.name] = product
        self.discovery_service.index(product)

    async def federated_query(self, question: str) -> dict:
        """Query across multiple data products."""
        relevant_products = self.discovery_service.find(question)
        results = {}
        for product in relevant_products:
            results[product.name] = await product.semantic_query(question)
        return results

Data mesh with AI enables domain teams to own both data and intelligence.\n\n## Takeaways\n\nAdd a concise, personal takeaway and recommended next steps here.\n

Michael John Peña

Michael John Peña

Senior Data Engineer based in Sydney. Writing about data, cloud, and technology.