| Prochaine révision | Révision précédente |
| eadl:bloc5:fm1:chap1 [2026/08/30 16:31] – créée jcheron | eadl:bloc5:fm1:chap1 [2026/08/30 17:06] (Version actuelle) – [De la donnée brute à la décision] jcheron |
|---|
| ==== Définition d’une architecture de données ==== | ==== Définition d’une architecture de données ==== |
| |
| **Définition :** une architecture de données est l’ensemble des règles, modèles et structures qui déterminent comment les données sont **collectées, stockées, organisées, transformées et consommées** au sein d’une organisation. | **Définition :** |
| | |
| | > une architecture de données est l’ensemble des règles, modèles et structures qui déterminent comment les données sont **collectées, stockées, organisées, transformées et consommées** au sein d’une organisation. |
| |
| On peut la comparer au plan d’urbanisme d’une ville : | On peut la comparer au plan d’urbanisme d’une ville : |
| Une chaîne de données typique se lit de gauche à droite : | Une chaîne de données typique se lit de gauche à droite : |
| |
| * **Sources :** ERP, CRM, objets connectés, site web, applications et journaux techniques ; | <html> |
| * **Ingestion :** collecte des données et alimentation de la plateforme, au moyen de flux ETL ou ELT ; | <div style="margin:16px 0;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;overflow-x:auto;"> |
| * **Stockage :** Data Warehouse, Data Lake ou autre référentiel adapté ; | <div style="font-weight:700;color:#1e293b;margin-bottom:10px;">Chaîne de données typique</div> |
| * **Traitement :** transformation, nettoyage, enrichissement et calcul ; | <table style="width:100%;border-collapse:separate;border-spacing:0;min-width:620px;background:#f8fafc;"><tr> |
| * **Consommation :** outils de BI, rapports, modèles d’IA et applications. | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#1d4ed8;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Sources<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">ERP · CRM · IoT · web · journaux</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#0891b2;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Ingestion<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">collecte · ETL / ELT</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#7c3aed;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Stockage<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Data Warehouse · Data Lake</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#c2410c;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Traitement<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">nettoyage · enrichissement · calcul</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#15803d;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Consommation<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">BI · rapports · IA · applications</div></div></td> |
| | </tr></table></div> |
| | </html> |
| |
| Chaque brique répond à une question essentielle : d’où vient la donnée ? Où est-elle rangée ? Comment est-elle transformée ? Qui l’utilise et pour quel objectif ? | Chaque brique répond à une question essentielle : d’où vient la donnée ? Où est-elle rangée ? Comment est-elle transformée ? Qui l’utilise et pour quel objectif ? |
| Le parcours décisionnel peut être résumé ainsi : | Le parcours décisionnel peut être résumé ainsi : |
| |
| ^ Étape ^ Exemple ^ | <html> |
| | **Donnée** | 14, 22, 9 ventes par jour | | <div style="margin:16px 0;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;overflow-x:auto;"> |
| | **Information** | Les ventes sont en hausse de 15 % | | <div style="font-weight:700;color:#1e293b;margin-bottom:10px;">De la donnée brute à la décision</div> |
| | **Connaissance** | La hausse suit l’évolution de la météo | | <table style="width:100%;border-collapse:separate;border-spacing:0;min-width:620px;background:#f8fafc;"><tr> |
| | **Décision** | Ajuster les stocks | | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#475569;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Donnée<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">14, 22, 9 ventes / jour</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#0891b2;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Information<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">ventes en hausse de 15 %</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#7c3aed;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Connaissance<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">la hausse suit la météo</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#15803d;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Décision<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">ajuster les stocks</div></div></td> |
| | </tr></table></div> |
| | </html> |
| |
| Une architecture de données décisionnelle vise à **fiabiliser et accélérer le passage de la donnée brute à la décision métier**. Elle ne se limite donc pas à stocker des informations : elle organise leur transformation en éléments compréhensibles et actionnables. | > Une architecture de données décisionnelle vise à **fiabiliser et accélérer le passage de la donnée brute à la décision métier**. Elle ne se limite donc pas à stocker des informations : elle organise leur transformation en éléments compréhensibles et actionnables. |
| |
| ==== Exemple : une enseigne de distribution ==== | ==== Exemple : une enseigne de distribution ==== |
| Le schéma fonctionnel est : | Le schéma fonctionnel est : |
| |
| * **Sources :** événements de lecture provenant des applications, téléviseurs et sites web ; | <html> |
| * **Ingestion :** Kafka ; | <div style="margin:16px 0;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;overflow-x:auto;"> |
| * **Traitement :** Flink pour le temps réel et Spark pour le batch ; | <div style="font-weight:700;color:#1e293b;margin-bottom:10px;">Chaîne décisionnelle Netflix</div> |
| * **Stockage :** S3 et Iceberg ; | <table style="width:100%;border-collapse:separate;border-spacing:0;min-width:620px;background:#f8fafc;"><tr> |
| * **Consommation :** Trino, modèles de machine learning et BI interne. | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#1d4ed8;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Sources<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">événements de lecture · app · TV · web</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#0891b2;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Ingestion<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Kafka</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#7c3aed;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Traitement<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Flink temps réel · Spark batch</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#c2410c;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Stockage<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">S3 · Iceberg</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#15803d;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Consommation<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Trino · ML · BI</div></div></td> |
| | </tr></table></div> |
| | </html> |
| |
| Cette chaîne fonctionne en continu, depuis l’événement de lecture jusqu’à la recommandation présentée à l’utilisateur. | Cette chaîne fonctionne en continu, depuis l’événement de lecture jusqu’à la recommandation présentée à l’utilisateur. |
| * **Risque réglementaire :** une mauvaise conception expose l’organisation sur les sujets de RGPD, de sécurité et d’auditabilité. | * **Risque réglementaire :** une mauvaise conception expose l’organisation sur les sujets de RGPD, de sécurité et d’auditabilité. |
| |
| | <WRAP help round> |
| **À retenir :** l’architecture de données n’est plus un sujet réservé à l’IT. Elle constitue un levier de compétitivité qui conditionne la vitesse et la qualité des décisions et la capacité à exploiter l’IA. | **À retenir :** l’architecture de données n’est plus un sujet réservé à l’IT. Elle constitue un levier de compétitivité qui conditionne la vitesse et la qualité des décisions et la capacité à exploiter l’IA. |
| | </WRAP> |
| | |
| |
| ===== 1.3 Les grandes familles d’architectures ===== | ===== 1.3 Les grandes familles d’architectures ===== |
| Schéma conceptuel : | Schéma conceptuel : |
| |
| * Service Commande → bus d’événements, par exemple Kafka ou EventBridge → Service Stock ; | <html> |
| * Service Commande → bus → Service Analytique. | <div style="margin:16px 0;padding:14px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;"> |
| | <div style="font-weight:700;color:#1e293b;margin-bottom:10px;">Architecture événementielle : diffusion vers plusieurs consommateurs</div> |
| | <table style="width:100%;border-collapse:collapse;min-width:620px;background:#f8fafc;"><tr> |
| | <td rowspan="2" style="text-align:center;padding:8px;"><div style="background:#1d4ed8;color:#fff;padding:12px;border-radius:7px;font-weight:700;">Service Commande</div></td> |
| | <td rowspan="2" style="text-align:center;width:44px;font-size:22px;color:#475569;">→</td> |
| | <td rowspan="2" style="text-align:center;padding:8px;"><div style="background:#7c3aed;color:#fff;padding:12px;border-radius:7px;font-weight:700;">Bus d’événements<div style="font-size:12px;font-weight:400;margin-top:4px;">Kafka · EventBridge</div></div></td> |
| | <td style="text-align:center;width:44px;font-size:22px;color:#475569;">→</td><td style="padding:8px;"><div style="background:#0891b2;color:#fff;padding:10px;border-radius:7px;text-align:center;font-weight:700;">Service Stock</div></td> |
| | </tr><tr><td style="text-align:center;width:44px;font-size:22px;color:#475569;">→</td><td style="padding:8px;"><div style="background:#15803d;color:#fff;padding:10px;border-radius:7px;text-align:center;font-weight:700;">Service Analytique</div></td></tr></table> |
| | </div> |
| | </html> |
| |
| **Exemple : Uber.** Chaque déplacement génère un flux de géolocalisation. Plusieurs consommateurs indépendants calculent le prix, estiment l’heure d’arrivée, détectent les anomalies et alimentent les tableaux de bord. Un nouveau consommateur — par exemple un modèle de tarification — peut être ajouté sans modifier le reste du système. | **Exemple : Uber.** Chaque déplacement génère un flux de géolocalisation. Plusieurs consommateurs indépendants calculent le prix, estiment l’heure d’arrivée, détectent les anomalies et alimentent les tableaux de bord. Un nouveau consommateur — par exemple un modèle de tarification — peut être ajouté sans modifier le reste du système. |
| | Presto/Trino et Apache Pinot | Requêtage | Requêtes interactives et analytique temps réel | | | Presto/Trino et Apache Pinot | Requêtage | Requêtes interactives et analytique temps réel | |
| |
| La chaîne Uber est : GPS et applications → Kafka → Flink/Spark et Hudi → HDFS/Hudi → Presto/Pinot pour la tarification et les tableaux de bord. | <html> |
| | <div style="margin:16px 0;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;overflow-x:auto;"> |
| | <div style="font-weight:700;color:#1e293b;margin-bottom:10px;">Chaîne décisionnelle Uber</div> |
| | <table style="width:100%;border-collapse:separate;border-spacing:0;min-width:620px;background:#f8fafc;"><tr> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#1d4ed8;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Sources<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">GPS · apps conducteur / passager</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#0891b2;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Ingestion<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Kafka · événements de course</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#7c3aed;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Traitement<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Flink · Spark · Hudi</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#c2410c;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Stockage<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">HDFS · Hudi · data lake</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#15803d;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Consommation<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Presto · Pinot · tarification · dashboards</div></div></td> |
| | </tr></table></div> |
| | </html> |
| |
| ==== Architecture orientée services et microservices ==== | ==== Architecture orientée services et microservices ==== |
| | Looker | BI | Tableaux de bord produit et métier | | | Looker | BI | Tableaux de bord produit et métier | |
| |
| Chaîne type : événements des microservices → Pub/Sub → Scio/Dataflow, orchestrés par Flyte → BigQuery et dbt → Looker. | <html> |
| | <div style="margin:16px 0;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;overflow-x:auto;"> |
| | <div style="font-weight:700;color:#1e293b;margin-bottom:10px;">Chaîne décisionnelle Spotify</div> |
| | <table style="width:100%;border-collapse:separate;border-spacing:0;min-width:620px;background:#f8fafc;"><tr> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#1d4ed8;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Sources<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">événements des microservices</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#0891b2;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Ingestion<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Pub/Sub</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#7c3aed;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Traitement<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Scio · Dataflow · Flyte</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#c2410c;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Stockage<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">BigQuery · dbt</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#15803d;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Consommation<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Looker · dashboards</div></div></td> |
| | </tr></table></div> |
| | </html> |
| |
| ==== Data Mesh ==== | ==== Data Mesh ==== |
| | Catalogue de données self-service | Gouvernance | Découverte par environ 350 équipes décentralisées | | | Catalogue de données self-service | Gouvernance | Découverte par environ 350 équipes décentralisées | |
| |
| La plateforme est organisée ainsi : domaines métier → Airflow → Spark/Databricks et Delta Lake → Redshift → data products consommés en self-service. Le support mentionne plus de 20 pétaoctets et plus de 5 000 data products pour cet exemple. | <html> |
| | <div style="margin:16px 0;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;overflow-x:auto;"> |
| | <div style="font-weight:700;color:#1e293b;margin-bottom:10px;">Plateforme Data Mesh Zalando</div> |
| | <table style="width:100%;border-collapse:separate;border-spacing:0;min-width:620px;background:#f8fafc;"><tr> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#1d4ed8;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Domaines<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">logistique · paiement · recommandation</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#0891b2;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Orchestration<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Airflow</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#7c3aed;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Traitement / stockage<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Spark · Databricks · Delta Lake</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#c2410c;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Serving<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Redshift</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#15803d;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Consommation<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">data products · self-service</div></div></td> |
| | </tr></table></div> |
| | </html> Le support mentionne plus de 20 pétaoctets et plus de 5 000 data products pour cet exemple. |
| |
| ==== Architectures Lambda et Kappa ==== | ==== Architectures Lambda et Kappa ==== |
| | Hadoop | Stockage batch | Historisation et calculs de fond | | | Hadoop | Stockage batch | Historisation et calculs de fond | |
| |
| Le schéma est : activité des membres → Kafka et Brooklin → Samza pour le stream et Hadoop pour le batch → Venice → recherche et recommandations. Kafka forme le flux unique, rejouable, caractéristique de Kappa. | <html> |
| | <div style="margin:16px 0;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;overflow-x:auto;"> |
| | <div style="font-weight:700;color:#1e293b;margin-bottom:10px;">Flux Kappa LinkedIn</div> |
| | <table style="width:100%;border-collapse:separate;border-spacing:0;min-width:620px;background:#f8fafc;"><tr> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#1d4ed8;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Sources<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">activité des membres · vues · clics</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#0891b2;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Bus<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Kafka · Brooklin · réplication</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#7c3aed;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Traitement<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Samza stream · Hadoop batch</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#c2410c;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Serving<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Venice · faible latence</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#15803d;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Usages<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">recherche · recommandations</div></div></td> |
| | </tr></table></div> |
| | </html> |
| |
| ==== Data Lakehouse ==== | ==== Data Lakehouse ==== |
| * les garanties du Data Warehouse, notamment les transactions, la structure et les requêtes SQL rapides. | * les garanties du Data Warehouse, notamment les transactions, la structure et les requêtes SQL rapides. |
| |
| Une couche transactionnelle, telle que Delta Lake ou Iceberg, est ajoutée au stockage brut : **Data Lake + couche transactionnelle = Lakehouse**. | Une couche transactionnelle, telle que Delta Lake ou Iceberg, est ajoutée au stockage brut : |
| | |
| | <html> |
| | <div style="margin:16px 0;padding:14px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;text-align:center;font-weight:700;color:#1e293b;"> |
| | <span style="display:inline-block;background:#1d4ed8;color:#fff;padding:12px 16px;border-radius:7px;">Data Lake<br><small style="font-weight:400;">données brutes · tous formats</small></span> |
| | <span style="padding:0 10px;font-size:22px;">+</span> |
| | <span style="display:inline-block;background:#7c3aed;color:#fff;padding:12px 16px;border-radius:7px;">Couche transactionnelle<br><small style="font-weight:400;">Delta Lake · Iceberg</small></span> |
| | <span style="padding:0 10px;font-size:22px;">=</span> |
| | <span style="display:inline-block;background:#15803d;color:#fff;padding:12px 16px;border-radius:7px;">Lakehouse<br><small style="font-weight:400;">souplesse + garanties SQL</small></span> |
| | </div> |
| | </html> |
| |
| **Exemple : H&M Group et Walgreens.** Les tickets de caisse semi-structurés et les tables agrégées de reporting financier sont stockés sur une même plateforme. Il n’est pas nécessaire de dupliquer l’infrastructure entre un Lake et un Warehouse séparés : une seule copie peut servir plusieurs niveaux d’usage, ce qui réduit les coûts et simplifie la gouvernance. | **Exemple : H&M Group et Walgreens.** Les tickets de caisse semi-structurés et les tables agrégées de reporting financier sont stockés sur une même plateforme. Il n’est pas nécessaire de dupliquer l’infrastructure entre un Lake et un Warehouse séparés : une seule copie peut servir plusieurs niveaux d’usage, ce qui réduit les coûts et simplifie la gouvernance. |
| | MLflow | Machine learning | Prévision de la demande et personnalisation | | | MLflow | Machine learning | Prévision de la demande et personnalisation | |
| |
| Chaîne type : caisses, e-commerce et stock → Auto Loader → Delta Lake sur stockage cloud → Unity Catalog → Databricks SQL et MLflow. | <html> |
| | <div style="margin:16px 0;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;overflow-x:auto;"> |
| | <div style="font-weight:700;color:#1e293b;margin-bottom:10px;">Chaîne Lakehouse retail</div> |
| | <table style="width:100%;border-collapse:separate;border-spacing:0;min-width:620px;background:#f8fafc;"><tr> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#1d4ed8;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Sources<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">caisses · e-commerce · stock</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#0891b2;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Ingestion<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Auto Loader</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#7c3aed;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Stockage<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Delta Lake · cloud</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#c2410c;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Gouvernance<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Unity Catalog</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#15803d;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Consommation<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Databricks SQL · MLflow</div></div></td> |
| | </tr></table></div> |
| | </html> |
| |
| ==== Comparaison des architectures ==== | ==== Comparaison des architectures ==== |
| | Organisation Data Mesh | Gouvernance | Six squads autonomes alignées sur les équipes produit | | | Organisation Data Mesh | Gouvernance | Six squads autonomes alignées sur les équipes produit | |
| |
| Chaîne BlaBlaCar : événements de réservations et de trajets → Kafka et Freeway → BigQuery → SQL versionné orchestré par Airflow → analystes en self-service par squad. | <html> |
| | <div style="margin:16px 0;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;overflow-x:auto;"> |
| | <div style="font-weight:700;color:#1e293b;margin-bottom:10px;">Chaîne décisionnelle BlaBlaCar</div> |
| | <table style="width:100%;border-collapse:separate;border-spacing:0;min-width:620px;background:#f8fafc;"><tr> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#1d4ed8;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Sources<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">réservations · trajets</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#0891b2;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Ingestion<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">Kafka · Freeway</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#7c3aed;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Stockage<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">BigQuery</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#c2410c;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Transformation<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">SQL versionné · Airflow</div></div></td> |
| | <td style="width:28px;text-align:center;color:#475569;font-size:22px;font-weight:700;">→</td> |
| | <td style="vertical-align:middle;text-align:center;padding:0 5px;"><div style="background:#15803d;color:#fff;padding:10px 8px;border-radius:7px;font-weight:700;line-height:1.25;">Consommation<div style="font-size:12px;font-weight:400;margin-top:4px;opacity:.95;">analystes · self-service · squads</div></div></td> |
| | </tr></table></div> |
| | </html> |
| |
| ==== Intégration de l’IA ==== | ==== Intégration de l’IA ==== |