WIKI
AZ-305 Solutions Architect

10 — Analytics Platforms

24 min de lecture Mis à jour le 23 juin 2026
Sur cette page

Concevoir l'analytique et le traitement de données → entrepôts/big data (Synapse, Databricks, Fabric), ingestion (Data Factory), temps-réel (Stream Analytics) : choisir selon OLTP vs OLAP, batch vs streaming, volume et profil utilisateur.


A. Vocabulaire analytics#

A.1 OLTP vs OLAP#

OLTP (Transactional) OLAP (Analytical)
Quoi Transactions temps-réel Analyse gros volumes historiques
Queries Simples, 1 row à la fois Scans massifs, aggregations
Schema Normalisé (3NF) Dénormalisé (star/snowflake)
Services Azure Azure SQL DB / MI / on VM, Cosmos DB, MySQL Flex, PG Flex Synapse Dedicated SQL pool, Databricks SQL Warehouse, Fabric Warehouse
Cas E-commerce → orders, panier, login Dashboard CEO "ventes par région 2020-2025"

🎯 Au 305 : dès qu'on dit "transactional / OLTP" → Azure SQL ou Cosmos. Dès qu'on dit "OLAP DW structuré pour BI récurrent" → Dedicated SQL pool / Fabric Warehouse.

A.2 MPP vs SMP (en 2 lignes)#

  • SMP (single machine, scale vertical) = Azure SQL DB / MI / on VM.
  • MPP (N nodes en parallèle, scale horizontal) = Synapse Dedicated SQL pool (le seul MPP managé Azure).

Pourquoi ça compte : 100 TB à scanner → SMP rame, MPP splitte sur 60 nodes en parallèle.

A.3 HNS (Hierarchical Namespace)#

  • Sans HNS (Blob classique) : folders = préfixes (illusion). Rename /raw/2024 → /archive/2024 (1 TB) = re-copy tout.
  • Avec HNS (ADLS Gen2) : vrais folders + atomic rename en ms. Hadoop/Spark exigent un vrai filesystem.

A.4 ABFS (driver ADLS Gen2)#

  • ABFS (abfss://) = driver Hadoop pour ADLS Gen2 → code Spark/Hive marche tel quel.
  • Remplace l'ancien WASB (Blob classique).
  • 🎯 Migration Hadoop on-prem → Azure : ADLS Gen2 + ABFS.

A.5 POSIX ACLs vs RBAC#

  • RBAC = accès gros grain (Storage Account / container niveau).
  • POSIX ACLs (HNS) = granularité dossier/fichier.
  • Best practice : RBAC pour le large + ACLs pour le métier fin par dossier.

A.6 HTAP (Hybrid Transactional/Analytical)#

Idée : faire de l'analyse sur tes données OLTP en quasi-temps réel, sans ralentir l'OLTP.

Le problème : tu as Cosmos DB qui prend les commandes (OLTP, ultra-rapide). Si tu lances une grosse query d'analytics dessus pour faire un dashboard, ça ralentit les écritures clients. La solution HTAP : Azure recopie en arrière-plan tes data OLTP vers une copie analytique séparée (~5 min de latence). Tu queries cette copie sans impacter l'OLTP.

Services Azure qui font du HTAP : Synapse Link (legacy) et Fabric Mirroring (moderne).

A.7 Data Governance : Microsoft Purview vs Unity Catalog#

Le problème : dans une boîte, tu as 50 sources de data (SQL on-prem, Azure SQL, Cosmos, Databricks, fichiers SharePoint, AWS RDS, etc.). Comment savoir qui possède quoi, qui peut accéder à quoi, où vivent les PII ?

Outil Scope
Microsoft Purview Gouvernance sur TOUT le patrimoine data : Azure, on-prem, multi-cloud, SaaS. Catalogue + classification PII auto + lineage (suivre la data d'un bout à l'autre).
Unity Catalog Gouvernance interne à Databricks (catalogs/schemas/tables, lineage, ACLs, Delta Sharing).

🎯 "Gouvernance sur tout l'estate (au-delà de Databricks)" → Purview. "Gouvernance interne Databricks" → Unity Catalog.


A.8 Concepts à connaître en awareness (sans deep-dive)#

Tu n'as pas besoin de maîtriser ces concepts en profondeur pour le 305, mais tu dois reconnaître les mots-clés si une question les utilise.

Medallion architecture (Bronze / Silver / Gold)#

Façon d'organiser un data lake en 3 couches : bronze (data brute), silver (nettoyée), gold (agrégée prête pour BI). C'est juste une convention d'organisation des dossiers.

Delta Lake#

Format de fichier moderne au-dessus de Parquet (format compressé pour analytics). Ajoute des features transactions ACID + rollback temporel que Parquet pur n'a pas. Utilisé par défaut par Databricks et Fabric.

Lakehouse pattern#

Idée moderne de combiner data lake (stockage cheap) + data warehouse (queries rapides) dans une seule plateforme au lieu de les avoir séparés. Poussé par Databricks (Delta Lake) et Microsoft Fabric (OneLake).

Unités pricing#

Tu n'as pas à connaître les détails, juste savoir qu'elles existent :

  • DWU = unité Synapse Dedicated SQL pool
  • DBU = unité Databricks
  • vCore = unité générique Azure SQL / Synapse Serverless

B. ADLS Gen2 — fondation du data lake#

B.1 C'est quoi#

Storage Account + HNS activé → vrais folders, ACLs POSIX, optimisé big data. Fondation data lake Azure compatible Hadoop/Spark/Databricks/Synapse.

B.2 Caractéristiques#

  • Built sur Blob → tiers (Hot/Cool/Cold/Archive), lifecycle, encryption marchent
  • Multi-protocol : Blob API + ADLS driver (abfss://) + NFSv3
  • Compatible natif : Hadoop, Spark, Databricks, Synapse
  • Organisation type :
/raw       → brut ingéré (immutable, partitionné par date)
/cleansed  → nettoyé (silver)
/curated   → prêt analytics (gold)

B.3 Tiers / SKU#

  • Performance : Standard / Premium (low-latency)
  • Redundancy : LRS / ZRS / GRS / RA-GRS / GZRS
  • Access tiers Blob : Hot / Cool / Cold / Archive (lifecycle policies)

B.4 Quand l'utiliser#

  • Workload big data / analytics nécessitant vrai filesystem (Spark, Hadoop).
  • Besoin granularité ACLs POSIX dossier/fichier (vs RBAC SA-level).
  • Migration Hadoop on-prem → cloud (avec ABFS driver).
  • Medallion architecture (bronze/silver/gold).

B.5 Pièges 305#

  • 🚨 HNS = irréversible → cocher à la création (sinon SA = Blob classique).
  • 🚨 WASB driver legacy → utiliser ABFS (abfss://) pour ADLS Gen2.
  • 🚨 Tier Archive incompatible avec lecture Spark directe (rehydrate avant).

C. Synapse Analytics — la plateforme unifiée#

C.1 C'est quoi#

Plateforme unifiée : DW + big data + integration + viz dans un seul Workspace. Couvre OLAP MPP, query data lake serverless, Spark, KQL, pipelines.

C.2 Les composants du Workspace#

Synapse n'est pas UN service mais un container qui héberge plusieurs "pools" + features. Tu choisis le bon outil selon ton besoin :

Composant Sert à... Pricing
Dedicated SQL pool DW MPP traditionnel (lift-and-shift SQL DW) DWU (provisionné, pause/resume)
Serverless SQL pool Query files directement dans le data lake (CSV, Parquet, JSON) sans rien provisionner Pay-per-TB scanné
Apache Spark pool Data engineering / ML / transformations big data vCore + autoscale
Data Explorer pool Time-series / logs en KQL — 🚨 retiré le 7 oct 2025 (resté en Preview) → utiliser Azure Data Explorer standalone ou Fabric Eventhouse/KQL DB vCore + autoscale
Pipelines ETL/ELT orchestration (= ADF intégré dans le workspace) Per-activity run
Synapse Link Réplica HTAP near-real-time depuis OLTP (Cosmos/SQL DB/SQL Server 2022/Dataverse) Selon source + analytical store

C.3 Quel composant pour quel scénario — LE tableau exam#

Tu veux... Composant Synapse
Analyser des fichiers du data lake (CSV/Parquet) sans setup, ponctuel Serverless SQL pool
Charger du data lake vers un DW structuré pour BI Dedicated SQL pool (loadé via Pipelines/Spark)
DW MPP classique pour analytics structuré récurrent Dedicated SQL pool
Transformer du big data en Python/Scala (data eng/ML) Spark pool
Query des logs / metrics / time-series (KQL) Data Explorer pool
Orchestrer un ETL multi-sources vers le lake/DW Pipelines
Analytics quasi-live sur OLTP (Cosmos, SQL DB) sans impacter l'OLTP Synapse Link
Combiner data lake + DW dans une seule query Serverless SQL pool (joint external Parquet + DW table)
Migrer SQL Server DW on-prem vers Azure Dedicated SQL pool (lift-and-shift)
Migrer Hadoop on-prem vers Azure Spark pool + ADLS Gen2

C.4 Charger data du lake → Dedicated SQL pool (vue d'ensemble)#

Tu n'as pas à connaître les commandes T-SQL, juste savoir qu'il y a 3 façons :

Méthode Quand
PolyBase Legacy, T-SQL EXTERNAL TABLE pour query external data
COPY statement Recommandé MS aujourd'hui : load depuis ADLS/Blob/Hadoop, plus simple et plus rapide que PolyBase
CTAS (CREATE TABLE AS SELECT) Idiom Synapse pour créer une nouvelle table depuis une requête (load + distribute en 1 commande)

🎯 Au 305 : si la question dit "load data du lake vers le Dedicated SQL pool en 2026" → COPY statement.

Synapse Link = HTAP : réplique data OLTP vers Synapse pour analytics, sans impacter l'OLTP.

Source Use case
Cosmos DB Le plus connu. Analytical store séparé du transactional → query Spark/SQL sans charger le moteur OLTP
Azure SQL DB Change feed Azure SQL → Synapse Dedicated pool
SQL Server 2022 (on-prem) Hybride : on-prem SQL 2022 → cloud Synapse
Dataverse (Dynamics 365) D365 data → Synapse pour analytics business

⚠️ 2026 : MS pousse Fabric Mirroring pour nouveaux projets (GA pour Azure SQL DB / Snowflake / SQL MI / PostgreSQL flex ; Cosmos DB Mirroring = Preview, NoSQL uniquement). Synapse Link for Cosmos DB = « no longer supported for new projects » (ne plus l'utiliser en greenfield) — mais Synapse Link reste un concept d'objectif AZ-305.

C.6 Pièges 305#

  • 🚨 Dedicated SQL pool ≠ Azure SQL DB. MPP analytics ≠ SMP OLTP.
  • 🚨 Serverless SQL pool = query files sans provisioning (différent de Dedicated qui est provisionné).
  • 🚨 PolyBase legacy, COPY moderne → MS recommande COPY pour nouveaux projets.
  • 🚨 Synapse Pipelines = ADF sous le capot, juste intégré dans le workspace.

💡 Détail DP-203 (hors scope AZ-305) : Dedicated SQL pool exige un choix de distribution table par table (Hash / Round-robin / Replicate) pour perf. À savoir que ça existe au 305, pas à choisir.


D. Azure Databricks#

D.1 C'est quoi#

Plateforme Spark managée par Databricks (partner MS). Référence pour ML / data science avancé + Delta Lake + Unity Catalog governance.

D.2 Architecture rapide#

Élément Quoi
Workspace Container régional
Cluster Compute Spark (VMs Azure) — All-purpose / Job / Pool
Notebook Python/Scala/SQL/R
Job Workflow planifié
Delta Lake ACID au-dessus Parquet (MERGE, time-travel, schema enforcement)
Unity Catalog Governance (lineage auto, ACLs, Delta Sharing)
Photon Engine vectorisé C++ plus rapide vs Spark Java — activé par défaut sur DBR 9.1 LTS+ (dépend du runtime, PAS du tier Standard/Premium)

D.3 Tiers / SKU#

Tier Note
Standard Pas dispo toutes régions, features de base
Premium RBAC + audit + Unity Catalog + SSO + conditional access

Pricing : DBU + VMs Azure sous-jacentes (double facturation).

D.4 Quand l'utiliser#

  • ML / Data Science avancé (MLflow natif excellent vs Synapse Spark).
  • Delta Lake medallion architecture (ACID, time-travel, MERGE).
  • Streaming massif / complex events / fraud detection ML scoring.
  • Migration Hadoop on-prem (alternative à Synapse Spark).

D.5 Synapse Spark pool vs Databricks#

Critère Synapse Spark pool Databricks
Maturité ML / MLflow OK Excellente (référence)
Delta Lake Supporté Natif, optimisé
Unity Catalog ❌ ✅
Photon ❌ ✅ (défaut DBR 9.1 LTS+, tout tier)
Intégration native Azure ✅ (dans workspace Synapse) Plus standalone
Tarif DWU/vCore DBU + VM Azure

🎯 Question 305 : "ML avancé / Delta Lake medallion / Unity Catalog" → Databricks. "Plateforme unifiée Azure sans ML poussé" → Synapse.

D.6 Pièges 305#

  • 🚨 Standard tier ≠ prod : pas d'Unity Catalog, RBAC, SSO, audit → toujours Premium en prod.
  • 🚨 Photon = activé par défaut sur DBR 9.1 LTS+ (dépend du runtime/compute, pas du tier). Les vrais différenciateurs Premium = Unity Catalog, RBAC, SSO, audit.
  • 🚨 Pricing double : DBU et VMs Azure (penser au TCO).
  • 🚨 All-purpose cluster oublié allumé = facture explose → préférer Job clusters auto-terminate.

E. Azure Data Factory (ADF)#

E.1 C'est quoi#

ETL/ELT orchestration drag-and-drop + code. Pipeline d'activités pour ingérer, transformer, charger data multi-sources vers Azure.

E.2 Architecture rapide#

Élément Quoi
Pipeline Workflow de N activities
Activity Action atomique (Copy, ML, Web hook, SP)
Dataset Schéma source/dest
Linked Service Connection vers source
Integration Runtime (IR) Compute qui exécute
Mapping Data Flow Visual transformation sur Spark (no-code)
Trigger Schedule, Event, Tumbling Window, Manual

E.3 Les 3 Integration Runtimes#

IR Quand l'utiliser
Azure IR Default cloud-to-cloud, public
Self-hosted IR On-prem ou VM → accès SQL on-prem, file shares, etc. (outbound only, pas besoin port entrant)
Azure-SSIS IR Exécuter packages SSIS legacy (lift-and-shift SQL Server ETL)

E.4 Triggers types#

Trigger Quand
Schedule Cron simple (tous les jours à 3h)
Tumbling Window Incrémental avec watermark (process la dernière fenêtre fermée)
Event-based Blob créé / supprimé → déclenche pipeline
Manual Sur demande

E.5 Pricing#

Pas de tier ADF — pricing par :

  • Pipeline orchestration (per activity run)
  • Data movement (per DIU/hour)
  • Data Flow (per vCore-hour cluster Spark sous le capot)

E.6 ADF vs Synapse Pipelines#

Même engine sous le capot. Différence :

  • ADF standalone : service séparé, simple, intégration avec n'importe quel target.
  • Synapse Pipelines : ADF intégré dans le workspace Synapse → orchestration unifiée Spark/SQL pool + UI partagée.

🎯 "Multi-sources vers data lake, projet greenfield" → ADF ou Synapse Pipelines (les 2 OK). Si Synapse déjà en place → Pipelines pour cohérence.

E.7 Pièges 305#

  • 🚨 Self-hosted IR obligatoire pour accès on-prem (outbound only).
  • 🚨 Data Flow = Spark sous le capot → coûte plus cher que Copy Activity simple.
  • 🚨 Tumbling Window ≠ Schedule : Tumbling = incrémental avec watermark, Schedule = cron.
  • 🚨 Azure-SSIS IR = pour lift-and-shift SSIS legacy, pas pour nouveaux ETL.

🚨 ADF — Schema Drift detection : Quand le schema source change (colonne ajoutée/renommée) → Mapping Data Flow le détecte automatiquement via l'option "Allow schema drift" (à activer dans Source + Sink settings). Use case : ingestion CSV partenaires dont structure évolue sans préavis → schema drift accepte les colonnes nouvelles, les propage en sortie sans casser le pipeline. ⚠️ Distractor exam : "détecter colonnes ajoutées dans CSV source automatiquement" → ADF Mapping Data Flow + Allow schema drift (pas pipeline Copy Activity manuel, pas Synapse pipeline qui n'a pas cette feature aussi développée).


F. Stream Analytics (awareness 305)#

F.1 C'est quoi#

Service managé de stream processing. SQL-like queries (T-SQL extensions) sur des flux en quasi-temps réel. No-code/low-code.

F.2 Quand l'utiliser#

  • IoT telemetry → filter + aggregate → dashboard / alertes.
  • Détection simple d'événements (seuil dépassé, count par fenêtre).
  • ETL streaming léger sans code.

F.3 Stream Analytics vs Databricks Streaming#

Critère Stream Analytics Databricks Streaming
Code SQL-like Python/Scala
Complexité No-code, simple Code-first, complex events
ML inline Limité Excellent (MLflow)
Cas IoT → filter+aggregate → dashboard Fraud detection ML scoring temps-réel

🎯 Question 305 : "Streaming simple SQL-like no-code" → Stream Analytics. "Streaming complex events + ML" → Databricks Streaming.

F.4 Sources / cibles supportées#

  • Inputs : Event Hubs, IoT Hub, Blob/ADLS
  • Outputs : Power BI (live dashboard), Cosmos DB, Azure SQL, Blob/ADLS, Event Hubs, Functions

G. Microsoft Fabric (awareness 305)#

Plateforme analytics unifiée moderne lancée par MS en 2023. MS pousse Fabric comme l'évolution de Synapse + Power BI + ADF dans une seule expérience SaaS.

G.1 Composants Fabric (vue 305)#

Composant Équivalent ancien Quoi
OneLake ADLS Gen2 unifié Storage lake unique partagé par tous les workloads Fabric
Lakehouse Data lake + DW combo Stockage Delta + endpoint SQL pour query
Warehouse Synapse Dedicated SQL DW SQL classique mais serverless dans Fabric
Data Pipelines ADF ETL orchestration
Notebooks Synapse / Databricks Spark Data eng / ML en Python/Spark
KQL DB / Eventhouse Azure Data Explorer (équivalent ; le Synapse Data Explorer pool est retiré) Time-series / logs
Real-Time Intelligence Stream Analytics Streaming
Power BI Power BI BI / dashboards
Mirroring Synapse Link évolué Réplica near-real-time → Fabric. GA : Azure SQL DB / Snowflake / SQL MI / PostgreSQL flex. Cosmos DB = Preview (NoSQL only)

G.2 Quand le mentionner au 305#

  • "Plateforme analytics unifiée moderne all-in-one" → Microsoft Fabric (réponse 2025+).
  • "Replica near-real-time OLTP pour analytics, projet nouveau" → Fabric Mirroring (Synapse Link sunset progressivement).
  • 🎯 Au 305 : awareness suffisant. Pas de deep dive sur la config.

G.3 Pièges 305#

  • 🚨 Synapse encore objectif d'exam AZ-305 actuel — Fabric mentionné en awareness "futur direction".
  • 🚨 Fabric ≠ Synapse. Fabric inclut Synapse-like features mais c'est une nouvelle plateforme SaaS avec OneLake comme storage unifié.

H. Architectures types AZ-305#

Modern DW (le grand classique)#

[Sources] → [ADF / Synapse Pipelines] → [ADLS Gen2 raw→cleansed→curated]
                                                ↓
                          [Synapse Spark / Databricks] (transform)
                                                ↓
                          [Synapse Dedicated SQL pool] → [Power BI]

Real-time (streaming + batch combinés)#

[Sources] → [Event Hub / Kafka]
   ├─ [Stream Analytics / Databricks Streaming] → Cosmos/SQL real-time
   └─ [ADF + Databricks/Synapse] → ADLS → DW → Power BI
[Cosmos OLTP] → [Synapse Link] → [Synapse Spark/SQL] (analytics SANS impact OLTP)
[Azure SQL OLTP] → [Synapse Link] → [Synapse]

Lakehouse moderne (Databricks ou Fabric)#

[Sources] → [ADF/Spark] → [ADLS Gen2 / OneLake + Delta Lake]
                              ├─ /bronze (raw)
                              ├─ /silver (cleansed)
                              └─ /gold (BI-ready)
                              ↓
                          [Databricks SQL / Fabric Warehouse / Power BI]

Serverless data lake query#

[ADLS Gen2 avec CSV/Parquet] ←──── OPENROWSET ──── [Synapse Serverless SQL pool]
                                                    pay-per-TB scanné, zéro provisioning

I. Decision tree analytics#

Par source de data#

D'où vient ta data ?
├─ Data lake (fichiers CSV/Parquet/JSON sur ADLS) ?
│   ├─ Query ad-hoc / ponctuel, zéro provisioning  → Synapse Serverless SQL pool 
│   ├─ DW structuré récurrent pour BI              → Synapse Dedicated SQL pool (load depuis lake)
│   ├─ Transformation big data / ML                → Databricks (recommandé) ou Synapse Spark
│   └─ Plateforme moderne unifiée (greenfield)     → Microsoft Fabric (Lakehouse + Warehouse)
│
├─ Base OLTP (Cosmos / Azure SQL / SQL Server) ?
│   ├─ Besoin analytics quasi-live sans impacter   → Synapse Link / Fabric Mirroring (HTAP)
│   └─ Analytics offline batch                     → ADF/Spark → ADLS → DW
│
├─ Streaming (Event Hub / Kafka / IoT) ?
│   ├─ Simple aggregations SQL-like, no-code       → Stream Analytics
│   └─ Complex events / ML scoring temps-réel      → Databricks Streaming
│
├─ Source on-prem (SQL Server, Oracle, files) ?
│   └─ Ingestion vers Azure                        → ADF + Self-hosted IR
│
└─ Multi-sources SaaS (Salesforce, SAP, etc.) ?
    └─ Orchestration ETL                           → ADF (70+ connectors)

Par besoin business#

Quel est ton objectif ?
├─ BI / Power BI dashboards récurrents             → Dedicated SQL pool / Fabric Warehouse
├─ Data Science / ML avec MLflow                   → Databricks Premium 
├─ Exploration ad-hoc data lake (1× par mois)      → Serverless SQL pool
├─ Lift-and-shift DW SQL Server / Teradata         → Dedicated SQL pool (+ ADLS staging + ADF transport)
├─ Lift-and-shift SSIS packages                    → ADF + Azure-SSIS IR
├─ Time-series / logs analytics KQL                → Azure Data Explorer (ou Synapse Data Explorer pool)
├─ Dashboard temps-réel IoT/devices                → Event Hub → Stream Analytics → Power BI
├─ Détection fraude streaming + ML                 → Event Hub → Databricks Streaming
├─ Gouvernance data multi-source (catalogue, PII)  → Microsoft Purview 
├─ Gouvernance interne Databricks                  → Unity Catalog
└─ Migration Hadoop on-prem complète               → Databricks (ou Synapse Spark) + ADLS Gen2 + ABFS

K. Scénarios 305 → outil#

Scénario business Réponse
"Query 50 GB CSV/Parquet dans le data lake, une fois par mois" Synapse Serverless SQL pool (pay-per-TB, zéro provisioning)
"Migrer Teradata DW on-prem 50 TB vers Azure" Destination : Synapse Dedicated SQL pool (équiv MPP). Transport data : ADF + Self-Hosted IR (online) ou Data Box (offline si réseau lent). Staging : ADLS Gen2.
"Analytics quasi-live sur Cosmos sans charger l'OLTP" Synapse Link for Cosmos DB
"Pipeline daily multi-sources (SQL on-prem + SaaS API) vers data lake" ADF + Self-hosted IR
"ML model training + MLflow + Delta Lake medallion" Databricks Premium
"Dashboard temps-réel IoT vehicles 10k devices" Event Hub → Stream Analytics → Power BI
"Fraud detection ML scoring sur stream payments" Event Hub → Databricks Streaming + MLflow
"Migrer 200 packages SSIS legacy" ADF + Azure-SSIS IR
"Time-series logs apps + queries KQL" Azure Data Explorer (ou Fabric Eventhouse/KQL DB ; Synapse Data Explorer pool retiré)
"Data lineage + classification PII multi-cloud" Microsoft Purview
"Combiner table DW avec Parquet du lake en 1 query" Synapse Serverless SQL pool (joint via OPENROWSET)
"Plateforme analytics moderne unifiée greenfield 2025+" Microsoft Fabric
"Charger 1 TB du lake vers Dedicated SQL pool, moderne" COPY statement (pas PolyBase legacy)

🏢 Scénarios d'entreprise (CAF/WAF)#

Scénario 1 : Distribution (retail) — Modern Data Warehouse batch nocturne#

Contexte business : Enseigne de distribution, système financier on-prem (1 TB, +5%/an), batch nocturne qui doit finir avant 3h. Besoin : reporting analytique + self-service pour le management, base future pour la data science. Données company confidential. Choix architectural : pipeline ELT par batch ADF → ADLS Gen2 (couches medallion) → Dedicated SQL pool → Power BI, dans une Landing Zone hub-and-spoke. Le Dedicated SQL pool (MPP) traite gros volumes pour du BI récurrent. Architecture / pattern :

  • Ingestion : ADF + Self-hosted IR (pour lire la source on-prem), Tumbling Window + watermark pour l'incrémental
  • Stockage : ADLS Gen2 (HNS), couches bronze/silver/gold, chiffré at-rest + in-transit
  • Transform : Databricks (ou Synapse Spark) silver→gold ; chargement vers le Dedicated SQL pool via COPY statement
  • Serving : Power BI ; gouvernance Purview (classification PII, lineage) Trade-offs assumés :
  • Gain : MPP scalable pour le BI, pause/resume du pool hors fenêtres = coût maîtrisé, fenêtre bout-en-bout < 90 min tenable
  • Perte : données en J+1 (pas de temps réel) ; le Dedicated SQL pool coûte même à faible charge (atténué par le pause) Pièges à éviter :
  • Charger les gros volumes via bcp/SqlBulkCopy (lent) → utiliser COPY statement
  • Oublier le Self-hosted IR pour la source on-prem (l'Azure IR ne voit pas le on-prem)
  • HNS est irréversible : l'activer dès la création du Storage Account 📐 Réf. Architecture Center — ADF baseline en Azure Landing Zone (medallion lakehouse) : architecture de référence avec hub-and-spoke, landing zones CAF, sécurité confidentielle, fenêtre < 90 min. Lien

Scénario 2 : Mobilité (IoT) — Streaming temps réel vers dashboard#

Contexte business : Opérateur de flotte, 10 000 véhicules envoyant de la télémétrie (position, vitesse, alertes). Besoin : dashboard live + alertes, latence minimale, sans équipe streaming dédiée. Choix architectural : Event Hubs → Stream Analytics → Power BI, avec capture vers ADLS pour pouvoir rejouer. Stream Analytics choisi car il filtre/agrège en SQL-like, sans code. Architecture / pattern :

  • Ingest : Event Hubs (partitionné par véhicule/zone) ; Event Hubs Capture → ADLS Gen2 (replay/recovery)
  • Process : Stream Analytics (fenêtres temporelles, agrégations) ; sortie directe Power BI (dataset streaming)
  • Archivage froid : sortie parallèle Blob/ADLS pour un batch ultérieur Trade-offs assumés :
  • Gain : la plus faible latence event→Power BI sur Azure ; aucun code ; déployable en minutes
  • Perte : pas de ML complexe inline ; Stream Analytics peu rentable si le débit est faible / pas vraiment temps réel Pièges à éviter :
  • Power BI ne gère pas le partitionnement de sortie → aligner les clés en amont
  • SU > 80% = signal pour scale-out ; throttling Event Hubs = quota dépassé
  • Pour du scoring ML temps réel (anti-fraude), passer à Databricks Structured Streaming (autre scénario) 📐 Réf. Architecture Center — Stream processing with Azure Stream Analytics : pattern de référence streaming, considérations Cost (tarif par SU) et Operational Excellence (monitoring SU/Event Hubs). Lien

Scénario 3 : Industrie multi-domaines — BI self-service unifiée (greenfield Fabric)#

Contexte business : Groupe industriel avec plusieurs domaines data (production, ventes, supply), équipes métier autonomes voulant du self-service BI sans dupliquer la donnée, gouvernance à l'échelle du tenant. Projet neuf 2026. Choix architectural : Microsoft Fabric (OneLake + Lakehouse + Warehouse + Power BI Direct Lake), gouverné par Purview, dans des Data Management Landing Zones CAF. Fabric choisi car OneLake stocke la donnée une seule fois pour tous les moteurs. Architecture / pattern :

  • Stockage unique : OneLake (format Delta) → pas de copies entre domaines
  • Ingest/transform : Data Pipelines + Notebooks Fabric (medallion par domaine)
  • Serving : Warehouse (T-SQL) + Power BI Direct Lake (lecture directe du Delta, sans import)
  • Temps réel optionnel : Mirroring (Azure SQL DB / Snowflake en GA ; Cosmos DB NoSQL en preview)
  • Gouvernance : Purview dans une Data Management Landing Zone (1 par tenant Entra) ; capacité Fabric par domaine Trade-offs assumés :
  • Gain : une seule copie de donnée pour tous les moteurs, Direct Lake = pas de refresh d'import, pause de capacité = coût flexible
  • Perte : plateforme SaaS récente (moins mature que Synapse+Databricks séparés) ; le sizing de capacité impacte pipelines ET requêtes en même temps Pièges à éviter :
  • Cosmos DB mirroring encore en Preview (NoSQL only) → pas en prod ; Synapse Link Cosmos « non supporté pour les nouveaux projets »
  • Fabric ≠ Synapse : nouvelle plateforme, OneLake comme storage unifié (ne pas confondre les composants)
  • Dimensionner la capacité Fabric selon la maturité/prévisibilité du domaine (partagée vs dédiée) 📐 Réf. CAF — Azure architecture for a unified data platform (Data Management Landing Zones) : place Purview + capacité Fabric en DMLZ, gouvernance tenant-wide, séparation domaines/plateforme. Lien

DEMO#

Demo Portail — Créer un Data Factory#

  1. Data factories > + Create
  2. Onglet Basics : sub, RG, name (globalement unique), region
  3. Onglet Git configuration : optionnel (Azure DevOps / GitHub pour versionning)
  4. Onglet Networking : Public / Private (Managed VNet)
  5. Review + Create
  6. Une fois créé : Open Azure Data Factory Studio (UI séparée)

Demo Portail — Synapse workspace + SQL pool + Spark pool#

1. Créer le workspace#

  1. Azure Synapse Analytics > + Create
  2. Onglet Basics : RG, Workspace name, Region
  3. Select Data Lake Storage Gen2 : Storage Account avec HNS + File system name raw
  4. Onglet Security : SQL admin login + password + (recommandé) Entra admin
  5. Onglet Networking : Managed virtual network : Enable, Public access : Disabled (prod)
  6. Review + Create (5-10 min)
  7. Ouvrir : Open Synapse Studio

2. Dedicated SQL pool#

  1. mysynapse > Analytics pools > SQL pools > + New
  2. Name mydw, Performance level DW100c
  3. Review + Create → Pause/Resume via la blade pour économiser

3. Apache Spark pool#

  1. mysynapse > Analytics pools > Apache Spark pools > + New
  2. Name myspark, Node size Medium, Autoscale 3-10 nodes
  3. Automatic pausing : Enabled (15 min idle), Spark version 3.4
  4. Review + Create

📝 Pour Serverless SQL pool : il est créé automatiquement à la création du workspace (built-in, pas à provisionner).

Demo Portail — Créer un Databricks workspace#

  1. Azure Databricks > + Create
  2. Onglet Basics : RG, Workspace name, Region, Pricing Tier : Premium
  3. Onglet Networking : VNet injection si isolation
  4. Review + Create → Launch Workspace
  5. Dans Databricks UI :
    • Compute > + Create cluster (autoscale, runtime, Photon enabled)
    • Workspace > Create > Notebook (Python/SQL/Scala)
    • Jobs > + Create Job pour scheduler
    • Catalog (Unity Catalog) : metastore + catalogs + schemas

Demo Portail — ADLS Gen2 + POSIX ACL#

  1. Storage accounts > + Create
  2. Onglet Basics : RG, Name (globalement unique), Performance Standard, Redundancy LRS/ZRS/GRS
  3. Onglet Advanced : Hierarchical namespace : Enabled (irréversible)
  4. Review + Create
  5. Créer container : Storage Account > Containers > + Container → name raw
  6. Créer folders : raw > + Add Directory → year=2026, month=01
  7. POSIX ACL : naviguer vers le folder > ⋯ > Manage ACL
    • Access : Add principal (user/group/SP) + Read/Write/Execute
    • Default : ACL héritée par nouveaux fichiers du folder
    • Save

⚠️ HNS = irréversible, à cocher impérativement à la création pour tout workload analytics.

Demo Portail — ADF pipeline simple (Blob → SQL DB)#

Concept-level (pas step-by-step Data Flow).

  1. Studio ADF > Manage > Linked services > + New :
    • Azure Blob Storage (auth via Managed Identity)
    • Azure SQL Database (auth MI + rôle db_datawriter)
  2. Author > Datasets > + New :
    • Source : Blob > DelimitedText (CSV)
    • Sink : SQL DB > Table cible
  3. Author > Pipelines > + New :
    • Drag Copy data activity → configurer Source + Sink + Mapping
    • (Optionnel) Data Flow : Filter → Derived Column → Aggregate → Sink
  4. Author > Triggers > + New :
    • Schedule (cron) ou Event-based (blob créé) ou Tumbling Window (incrémental watermark)
  5. Debug dans le designer → Publish all pour activer

Demo Portail — ADF Self-hosted IR (accès on-prem)#

  1. Studio ADF > Manage > Integration runtimes > + New > Self-Hosted
  2. Donner un name → générer 2 auth keys (sauvegarder)
  3. Télécharger l'Integration Runtime agent (Windows)
  4. Installer sur VM on-prem (ou Azure VM faisant proxy)
  5. Entrer l'auth key → register → status Running dans ADF
  6. Linked Services peuvent pointer SQL Server on-prem, file shares, etc.
Sur cette page
Échap

Tape au moins 2 lettres. Plusieurs mots : tous doivent apparaître.