🎯 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)
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)
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)
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
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)
📈 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.