DEV Community

Cover image for Architecture en médailon sur Microsoft Fabric
mohamed ait sidi hou
mohamed ait sidi hou

Posted on

Architecture en médailon sur Microsoft Fabric

🎯 Objectif

L'architecture en médailon sur MS Fabric organise les données pour simplifier les flux, améliorer leur qualité et optimiser l'analyse. Elle se divise généralement en 3 couches principales :

  • BronzeđŸ„‰
  • SilverđŸ„ˆ
  • GoldđŸ„‡

1. La couche Bronze : Data Raw đŸ„‰

But : Collecter toutes les données brutes dans leur format d'origine.

  • Dans cette couche, les donnĂ©es sont extraites de diffĂ©rentes sources (bases de donnĂ©es, fichiers log, flux en temps rĂ©el ...), et sont stockĂ©es telles qu'elles sont, sans transformation majeure.

Exemple avec des données de logs dans un data lake :

df_bronze = spark.read.format("json").load("dbfs:/mnt/data/raw/logs/")
df_bronze.show(5)
Enter fullscreen mode Exit fullscreen mode

Avantages :

  • Conservation des donnĂ©es sources dans leur format brut pour assurer la traçabilitĂ©.
  • Prise en compte des erreurs et des anomalies pour un traitement ultĂ©rieur.

2. La couche Silver : Data Clean & Enriched đŸ„ˆ

But : PrĂ©parer et enrichir les donnĂ©es pour l’analyse.

  • Dans cette couche, les donnĂ©es brutes sont nettoyĂ©es, transformĂ©es et enrichies pour une utilisation en analyse. Cela inclut la suppression des doublons, la gestion des valeurs manquantes et l'ajout de nouvelles colonnes si nĂ©cessaire pour les analyses futures.

Exemple de transformation des données avec Spark :

df_silver = df_bronze.dropDuplicates().fillna({"customer_name": "Unknown"})
df_silver.show(5)
Enter fullscreen mode Exit fullscreen mode

Avantages :

  • AmĂ©lioration de la qualitĂ© des donnĂ©es.
  • Enrichissement avec des donnĂ©es supplĂ©mentaires provenant d'autres sources pour une analyse plus prĂ©cise.

3. La couche Gold : Data Aggregation & Insights đŸ„‡

But : Agréger les données pour les analyses et visualisations.

  • Les donnĂ©es dans cette couche sont prĂȘtes Ă  ĂȘtre utilisĂ©es par les data analyst/scientist pour obtenir des insights. Elles sont souvent agrĂ©gĂ©es (par exemple, sommaire des ventes mensuelles, indicateurs clĂ©s KPI ...) et optimisĂ©es pour des performances Ă©levĂ©es lors des requĂȘtes et des analyses.

Exemple d'agrégation des données dans un format optimisé pour des rapports :

df_gold = df_silver.groupBy("region").agg(sum("sales_amount").alias("total_sales"))
df_gold.show(5)
Enter fullscreen mode Exit fullscreen mode

Avantages :

  • Rapports et analyses simplifiĂ©s.
  • Meilleures performances grĂące aux donnĂ©es collectĂ©es et stockĂ©es dans un format prĂȘt Ă  analyser

📊 Diagramme de l'Architecture MĂ©daillon

Medallion

4. Pourquoi utiliser cette architecture ?

  • Optimisation des performances : En traitant les donnĂ©es Ă©tape par Ă©tape, l'architecture en mĂ©dailon permet de mieux gĂ©rer les volumes massifs de donnĂ©es tout en optimisant les coĂ»ts.
  • ScalabilitĂ© : La sĂ©paration des diffĂ©rentes couches permet une gestion plus flexible et Ă©volutive des donnĂ©es, rendant l’architecture capable de grandir selon les besoins de l’entreprise.
  • Simplification des analyses : Les donnĂ©es agrĂ©gĂ©es et enrichies permettent une analyse rapide, ce qui est crucial pour les dĂ©cisions stratĂ©giques.

💡 Cas d'Utilisation : Analyse des Ventes en Temps RĂ©el

  • Bronze : Collecte des logs de ventes de plusieurs rĂ©gions (pays, villes).
  • Silver : Nettoyage des donnĂ©es de ventes (Ă©limination des anomalies, conversion des formats).
  • Gold : AgrĂ©gation des ventes par rĂ©gion et par produit pour gĂ©nĂ©rer des rapports.

Ex de Code :

# 1. Chargement des données brutes (Bronze)
df_bronze = spark.read.json("dbfs:/mnt/data/raw/sales_logs/")
df_bronze.show(5)

# 2. Nettoyage et transformation des données (Silver)
df_silver = df_bronze.dropDuplicates().fillna({"region": "Unknown"})
df_silver.show(5)

# 3. Agg pour rapports (Gold)
df_gold = df_silver.groupBy("region").agg(sum("amount").alias("total_sales"))
df_gold.show(5)
Enter fullscreen mode Exit fullscreen mode

📈 RĂ©sultats

  • RĂ©duction des coĂ»ts : En optimisant le traitement des donnĂ©es par couches, l’utilisation d’Azure Fabric a permis de rĂ©duire le temps de traitement de 60%.
  • AmĂ©lioration des rapports : Les rapports gĂ©nĂ©rĂ©s Ă  partir des donnĂ©es agrĂ©gĂ©es ont permis de prendre des dĂ©cisions stratĂ©giques plus rapidement.

🚀 Conclusion

L'architecture en médailon sur Azure Fabric optimise la gestion, l'analyse et la visualisation des données à travers trois couches distinctes (Bronze, Silver, Gold). Elle garantit la qualité des données et améliore les performances, idéale pour les grandes entreprises en environnement cloud.

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs