Data engineering, notes de référence
Notes de data engineering en français, du plus général (stockage, modélisation, cohérence) au plus spécifique (lakehouse, dbt, gouvernance des données). Chaque note commence par un résumé, indique ses prérequis et renvoie à ses sources pour les affirmations les plus datées ou discutées. Point d’entrée : 00-Index/MOC Data Engineering.md, qui propose un ordre de lecture et un parcours par question. Le vocabulaire est défini dans 00-Index/Glossaire data engineering.md.
Les termes techniques sont gardés en anglais quand le métier les emploie tels quels (row group, partition pruning, object storage, manifest, watermark).
Public
Des personnes qui connaissent le SQL et veulent comprendre le « pourquoi » derrière les outils : analystes qui passent à l’ingénierie, ingénieurs qui reprennent les bases, équipes qui choisissent une architecture.
Organisation
| Dossier | Contenu |
|---|---|
00-Index | Carte du vault, glossaire |
01-Data-Modeling | Cohérence, normalisation, modèle dimensionnel, SCD |
02-Data-Architecture | Médaillon, idempotence, CDC, lakehouse, observabilité |
03-dbt | dbt, incrémental, monitoring, journal d’exécution |
04-SQL-Patterns | Motifs SQL |
05-Gouvernance | Data mesh, data product, data contract |
06-Tests | Script de validation des exemples BigQuery |
Niveaux et statuts
| Étiquette | Sens |
|---|---|
backtobasic | Notion de base ; les prérequis internes sont listés en tête de note |
applique | Mise en pratique, décision d’architecture, ou notion qui suppose plusieurs bases |
avance | Gouvernance, organisation, ou sujet très spécialisé |
| Statut | Sens |
|---|---|
consolidé | Relu et confronté à des sources. Les éléments datés (versions, statuts de produits, prix) et le code non exécuté sur son moteur sont signalés dans la note |
référence-périssable | Annexe qui vieillit vite (catalogue de modèles d’un package, définitions et points de vue) |
La date updated est celle de la dernière révision éditoriale, pas d’une vérification de chaque fait.
Ce que ce vault couvre
Stockage et formats (OLTP et OLAP, colonnes, Parquet) ; cohérence (ACID, BASE) ; normalisation ; modèles Inmon, Kimball et Data Vault, schéma en étoile, SCD ; médaillon ; idempotence et backfill ; change data capture ; lakehouse (concepts, écosystème, maintenance, choix, une mise en œuvre sur Scaleway) ; dbt (bases, incrémental, lakehouse, monitoring BigQuery, journal d’exécution) ; observabilité ; data mesh, data product, data contract et ODCS ; un motif SQL (UNION ALL contre UNPIVOT).
Ce qu’il ne couvre pas encore
Orchestration, traitement par lots contre flux, SQL analytique de base (jointures, fonctions de fenêtrage), partitionnement et coût d’un entrepôt, ingestion (API, fichiers, connecteurs), sécurité et vie privée, CI/CD des pipelines.
Sources et vérification
- Les affirmations les plus datées ou discutées sont sourcées en note de bas de page, de préférence par des sources primaires (spécifications, documentation officielle, articles fondateurs). Les notes de principes ne citent pas toujours chaque source.
- Les sources secondaires (blogs, billets d’éditeurs) sont signalées comme telles.
- Les exemples SQL standard ont été exécutés sur DuckDB.
- Le script
06-Tests/bigquery_validation.sqlrejoue dans un dataset jetable les exemples BigQuery des notes sur les schémas, le SCD de type 2, l’idempotence, le CDC et UNPIVOT, et vérifie chaque résultat avecASSERT. Il a été exécuté sur BigQuery le 24 octobre 2026 et tous les tests sont passés. Le script adapte les noms de tables et joue la logique des exemples, pas leur texte au caractère près. La table externe sur GCS (section 6) n’a pas été exécutée. - Le SQL propre à Snowflake ou à SQL Server et les modèles dbt n’ont pas été exécutés : à tester avant usage.
- Les statuts, versions et prix changent vite : se référer à la documentation en vigueur.
Exécuter le script BigQuery
Dans un projet de test, avec la ligne de commande bq :
bq query --use_legacy_sql=false --project_id=MON_PROJET < 06-Tests/bigquery_validation.sqlou en collant le contenu du fichier dans la console BigQuery. Le script crée un dataset bq_vault_test, vérifie chaque résultat avec ASSERT, puis supprime le dataset. Il affiche TOUS LES TESTS SONT PASSÉS en cas de succès ; sinon, le message de l’ASSERT en échec indique l’exemple à corriger. Vérifier avant que le dataset bq_vault_test n’existe pas déjà dans le projet : le script le supprime à la fin.
Auteur et méthode de rédaction
Auteur : Camille Lebrun. Les notes ont été rédigées avec l’aide de l’IA, puis relues et améliorées : l’IA a servi à rechercher les sources, à produire des premières versions et à relire ; les choix éditoriaux et la validation finale restent ceux de l’auteur.
Licence
Texte sous CC BY-SA 4.0, code (SQL, YAML, dossier 06-Tests/) sous licence MIT : voir LICENSE.md. Les citations de tiers gardent leur licence d’origine.
Avertissement
Ce contenu est informatif. Il ne constitue pas un conseil technique, juridique ou de conformité (RGPD, par exemple) : valider auprès des professionnels concernés avant de l’appliquer.
Ce vault n’est affilié à aucun des éditeurs ou projets cités (dbt Labs, Snowflake, Google, Databricks, Scaleway, ClickHouse, projets de la fondation Apache, entre autres). Les noms de produits et de marques sont cités à titre informatif et appartiennent à leurs propriétaires.
Signaler une erreur
Une correction, une source plus récente ou un exemple qui ne fonctionne pas : à signaler à l’auteur, avec le nom de la note et la citation concernée.