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.

Top comments (0)