Joe Naso & Colton Padden — « Data Platform Fundamentals » (Dagster)
Les fondamentaux d'une plateforme data
- data platform
- architecture data
- orchestration
1. Qu'est-ce qu'une Data Platform ?
Une data platform est une infrastructure centralisée et hétérogène qui fédère l'ensemble des processus data d'une organisation sous un plan de contrôle unifié. Elle ne se limite pas à un orchestrateur : elle combine orchestration, métadonnées et observabilité pour offrir une vision cohérente de tous les flux de données entrants et sortants.
L'ouvrage défend l'idée qu'une seule data platform doit exister par organisation. L'investissement initial est compensé par la standardisation, la productivité accrue et la réduction du travail dupliqué à mesure que la plateforme se développe.
Le plan de contrôle (control plane) est la pièce maîtresse : il configure et active le plan de données, connecte les assets entre systèmes et outils, et fournit la traçabilité (lineage) nécessaire pour comprendre l'impact en cascade d'un incident.
2. Architecturer sa Data Platform
Principes directeurs
- Scalabilité avec le business — La plateforme doit évoluer au rythme de l'entreprise ; une architecture rigide est le signe d'un design défaillant.
- Composabilité et extensibilité — Privilégier la composition à l'héritage : chaque composant doit pouvoir être remplacé sans refonte majeure, ce qui limite le vendor lock-in.
- Observabilité et expérience développeur — Pouvoir inspecter les entrées, les sorties et les changements internes de la plateforme est essentiel pour maintenir la qualité et la vélocité des équipes.
Architectures de données courantes
| Architecture | Principe | Avantages | Limites |
|---|---|---|---|
| ETL (Extract-Transform-Load) | Transformation en transit avant écriture | Réduit le compute côté destination | Perte de granularité des données brutes |
| ELT (Extract-Load-Transform) | Chargement brut puis transformation dans le warehouse | Conservation des données brutes, flexibilité de re-traitement | Coûts de stockage et de compute plus élevés |
| Data Lakehouse | Échelle du data lake + structure du warehouse (formats Iceberg, Delta, Hudi) | Traitement à grande échelle, support ACID | Complexité accrue |
| Event-Driven | Déclenchement par événements (Kafka, webhooks, notifications S3) | Traitement quasi temps réel | Coût du compute long, complexité de re-exécution |
3. Design Patterns pour les pipelines
Trois patterns fondamentaux régissent la circulation des données :
- Push — Le producteur pousse les données vers une destination (stockage cloud, API, base). Le consommateur attend passivement. La synchronisation de schémas entre producteur et consommateur est un enjeu clé.
- Pull — Le consommateur dicte la cadence d'ingestion (appels API paginés, requêtes SQL incrémentales, etc.).
- Poll — Variante du pull adaptée aux architectures event-driven : le consommateur interroge régulièrement un broker de messages en maintenant un curseur pour éviter les doublons.
Idempotence
Un pipeline idempotent produit le même résultat pour un même jeu de paramètres, quel que soit le nombre d'exécutions. Cela passe notamment par l'utilisation de fenêtres temporelles explicites (partitions) plutôt que de références relatives au moment d'exécution.
4. Modélisation des données — L'architecture Medallion
L'architecture Medallion structure les données en trois couches d'isolation :
| Couche | Rôle |
|---|---|
| Bronze | Données brutes telles que reçues (landing zone), potentiellement sans schéma |
| Silver | Données nettoyées, structurées, validées — couche principale de contrôle qualité |
| Gold | Données prêtes pour la consommation métier : agrégats, métriques, modèles ML |
Cette séparation facilite la gouvernance, la sécurité, et la résilience face aux changements de schéma des sources amont. La séparation lecture/écriture permet aussi des workflows CI/CD avancés (Blue/Green Deployments).
Composants d'une plateforme bien configurée
L'ouvrage identifie huit catégories d'outillage essentielles : orchestration, catalogage, stockage, réplication, ingestion, transformation, observabilité et versioning des données.
Fonctionnalités indispensables
Quatre fonctionnalités différencient une plateforme robuste d'une collection de scripts : le logging, les retries, le backfilling et les pipelines auto-réparants (self-healing).
5. Qualité des données
Les six dimensions de la qualité
| Dimension | Définition |
|---|---|
| Timeliness | Les données sont-elles à jour par rapport aux SLA attendus ? |
| Completeness | Tous les champs requis sont-ils renseignés ? |
| Accuracy | Les valeurs reflètent-elles fidèlement la réalité ? |
| Validity | Les entrées respectent-elles le format, le schéma ou la liste de valeurs attendue ? |
| Uniqueness | Pas de doublons sur les clés censées être uniques |
| Consistency | Alignement des données entre systèmes source et répliques |
Mise en œuvre
La qualité doit être contrôlée à chaque étape du cycle de vie de la donnée : couche applicative, réplication, couche analytique et reporting. L'orchestrateur joue un rôle central en consolidant les règles de qualité de différentes équipes et en bloquant la propagation de données défaillantes vers les consommateurs.
Outils courants : Soda, Great Expectations, Deequ, dbt tests, Dagster Asset Checks.
6. Exemples concrets de Data Platforms
| Exemple | Sources | Warehouse | Orchestrateur | Ingestion | Transformation | Reporting |
|---|---|---|---|---|---|---|
| Lightweight Data Lake | S3, tiers | Snowflake | Dagster | Stitch, Sling | dbt | Holisitics |
| GCP Stack | Postgres (Cloud SQL) | BigQuery | Airflow (Cloud Composer) | Custom, DataStream | DataForm | Looker |
| AWS Stack | RDS, DynamoDB | Redshift | Airflow (MWAA) | Lambda, DMS | AWS Glue | QuickSight |
| MDS classique | Postgres | Snowflake | Dagster | Fivetran, dlt, Sling | SDF | Looker, Hex |
| Data Lakehouse | Postgres, S3 | — | AWS Step Functions | AWS Glue | Spark, Athena | Looker |
| Event-Driven | SFTP, S3 | BigQuery | — (events) | Lambda, Fargate | dbt | Omni |
Points clés à retenir
- Une data platform n'est pas une simple collection d'outils : c'est l'intégration cohérente de ces outils autour d'un plan de contrôle central.
- L'extensibilité et la composabilité sont essentielles pour absorber les évolutions métier sans refonte coûteuse.
- L'architecture Medallion (Bronze/Silver/Gold) s'applique aussi bien aux data lakehouses qu'aux data warehouses classiques.
- L'idempotence des pipelines est un principe de design fondamental pour garantir la fiabilité.
- La qualité des données se mesure selon six dimensions et doit être appliquée à chaque étape du cycle de vie.
- L'orchestrateur est le point névralgique pour la gouvernance, l'alerting et le contrôle de la propagation des erreurs.