logo blog it atawiz
chevron up
9 minutes de lecture
Implémentation DATA MESH dans Databricks Lakehouse
Hassane - il y a 8 mois
Transformez vos datas en produits

Table of contents

Qu’est-ce qu’un Data Mesh ?

Pourquoi utiliser un Data Mesh ?

Data Mesh & Lakehouse 

Qu’est-ce qu’un Data Mesh ?

Le Data Mesh (maillage de données) est un concept qui décrit une organisation sous forme d’architecture logique, utilisée pour l’analyse des données et permettant de simplifier la collaboration.

Il est défini par 4 principes fondamentaux :

  • Propriété et architecture des données décentralisées orientées domaine : chaque équipe du domaine est entièrement responsable de leurs données tout au long du cycle de vie.

  • Les données comme produit : la production des données fiables, sécurisées et réutilisables appelées data product.

  • Infrastructure de données self-service comme plateforme.

  • Gouvernance fédérée des données.

datamesh_1.png

Figure 1 : Les 4 piliers du DATA MESH.

Pourquoi utiliser un Data Mesh ?

La plupart des entreprises utilisent le Big Data pour analyser les données et prendre les meilleures décisions.

Souvent une architecture traditionelle (Data Warehouse ou Data Lake) est utilisée. Elle regroupe le stockage, la consommation et la transformation dans un lac de données central mais elle n’est pas toujours optimisée. Pour cause, les contraintes liées à la conformité, au besoin d’information en temps réel mais aussi en raison d’une explosition de données qui engendre de nouveaux défis d’intégration.

datamesh_2.png

Figure 2 : Duplication des données pour les différents systèmes analytiques.

Comme le montre la figure 2, les données sont souvent extraites et transformées à plusieurs reprises. Elles sont aussi intégrées aux différents espaces de travail d’analyse pour les différents systèmes d’analyse.

Le Data Mesh peut se révéler pertinent pour les équipes devant gérer un grand volume de sources de données et les traiter rapidement.

La mise en place d'un Data Mesh permet une approche décentralisée. Le point principal est la construction d'un data product de haute qualité, fiable, sécurisé et réutilisable. Cette approche permet de n'effectuer cette tâche qu'une seule fois, et de rendre ce data product exploitable pour les besoins de chaque domaine.

Le but ? Délivrer une plateforme « self-service ». Elle soulage les utilisateurs de la complexité technique pour se focaliser sur leurs cas d’usage spécifiques et réduit les coûts de développement.

Cette approche évite de multiplier les efforts et les compétences requises pour maintenir les pipelines de données et offre une autonomie aux équipes.

Il existe différents types de data product dans l’approche Data Mesh :

  • Data product physique : des ensembles de données persistantes qui ont été produits, stockés et publiés sur une marketplace de données pour les rendre disponibles à l’utilisation.
  • Données virtuelles : des vues virtuelles sur des données de plusieurs sources.
  • Requêtes stockées : des requêtes SQL qui peuvent être publiées en tant que service et invoquées à la demande via une API.

Dans le cas où nous débuterions un nouveau projet, le data product nous permet de ne pas partir de rien ! On réutilise les données disponibles pour les adapter à nos besoins.

Chaque domaine détient et gère ses pipelines ETL. Ils peuvent aussi construire de nouveau data products adaptés à leurs divers besoins d’utilisation. Enfin, ils permettent également de partager des données avec d’autres domaines qui seront exploitées comme un véritable produit.

Data Mesh & Lakehouse 

Les principaux défis pour l’utilisation des données en entreprise sont :

  • L’accès : obtenir des données dans les plateformes utilisées.
  • La fiabilité : les données sont-elles correctes.
  • Avoir les données en temps réel.

Auparavant, les architectures traditionnelles utilisées (Data Warehouse, Data Lake) restaient limitées et ne revêtaient plus aucun aspect pratique, tout particulièrement avec l’explosion des données.

Comme le montre la figure 3, Databricks Lakehouse combine les différents avantages des deux anciennes architectures. Il permet de simplifier, unifier toutes les données et d’analyser les charges de travail au sein d’une unique plateforme pour tous les Use Cases (Data warehousing, Data engineering, Data Science, Streaming).

datamesh_3.png

Figure 3 : Les avantages des différentes architectures.

Databricks Lakehouse contient un certain nombre de fonctionnalités et de concepts comme :

En utilisant cette panoplie de features, la construction du Data Mesh est possible. En effet, la plateforme Lakehouse répond parfaitement aux exigences et aux 4 principes qui constituent le maillage des données.

datamesh_4.png

Figure 4 : Création d’un DATA MESH dans la plateforme Databricks Lakehouse.

Le data product de notre DATA MESH a été créé et stocké dans la couche SILVER en utilisant les pipelines Delta Live Tables (DLT) pour l’ingestion des données. Ils permettent le contrôle de la qualité de notre donnée avec un stockage des métadonnées dans UNITY CATALOG.

On pourra aussi créer des pipelines en streaming (en utilisant le mécanisme de Databricks AUTO-LOADER) pour gérer les nouvelles données de manière automatique, en temps réel.

La combinaison UNITY CATALOG et DELTA SHARING permet à la fois de publier nos données et de les exploiter comme un véritable produit de données :

  • UNITY CATALOG capture automatiquement la traçabilité des données existantes de notre DATA MESH. Celui-ci nous sert à gouverner, contrôler l’accès et répondre à l’exigence d’une gouvernance fédérée.

  • DELTA SHARING permet de partager les données d’une manière sécurisée sans les dupliquer dans un autre système.

Data Mesh reste un paradigme et Lakehouse une platefome. Les deux fonctionnent très bien pour résoudre une large variété de cas d’utilisation facilitant la gouvernance, la collaboration et l’accessibilité des données.