Staging, ODS, DWH et architecture médaillon
Résumé
Deux vocabulaires décrivent le même besoin : faire passer la donnée d’un état brut à un état fiable et modélisé. Le vocabulaire entrepôt (staging, ODS, DWH, data marts) décrit des zones aux rôles techniques précis. Le vocabulaire médaillon (bronze, silver, gold) décrit des niveaux de raffinement. Ils se recoupent sans se superposer : la correspondance se fait au cas par cas, pas par une table de traduction.
Prérequis
Schema-on-Write vs Schema-on-Read pour la différence entre garder le brut et imposer un schéma. Le Glossaire data engineering définit SCD et ELT.
Le flux classique
flowchart LR S[Sources] --> ST[Staging] --> O["ODS<br/>(optionnel)"] --> D[DWH] --> M[Data marts] --> B[BI] ST --> D
Chaque zone ajoute de la structure, de la fiabilité et de la valeur métier. La flèche directe de Staging vers DWH rappelle que l’ODS n’est pas obligatoire.
Staging : la zone d’atterrissage
Premier point d’arrivée des données des systèmes sources. Données proches du format source, transformation nulle ou minimale, pas d’accès pour les utilisateurs. Dans la version « ETL classique », elle est vidée et rechargée à chaque cycle. Rôles : isoler les sources des traitements lourds, permettre des contrôles de base, offrir un point de reprise.
ODS : l’Operational Data Store
Vue intégrée et nettoyée des sources, pensée pour le reporting opérationnel proche du temps réel. Chez Inmon, c’est un composant de la Corporate Information Factory, qui contient des données courantes et volatiles (peu ou pas d’historique). L’ODS n’est pas une étape obligatoire avant l’entrepôt : l’entrepôt peut être alimenté directement depuis le staging ou l’intégration.
Pas de définition unique
Les définitions varient. Snowflake décrit un ODS qui garde les données brutes et sert de zone intermédiaire ; IRI décrit un ODS alimenté par un vrai ETL, qui peut propager des mises à jour vers la source. Ces deux sources sont des blogs d’éditeurs ; la définition de référence est celle d’Inmon. Toujours demander ce que recouvre le mot dans le projet concerné.
DWH : l’entrepôt
Données intégrées, historisées et non volatiles, pour l’analyse. Son modèle dépend de l’école : 3NF chez Inmon, dimensionnel chez Kimball, Hubs/Links/Satellites en Data Vault (voir Inmon, Kimball et Data Vault). Il n’est donc pas « toujours dimensionnel ». Il n’est pas non plus toujours en ajout seul : une dimension en SCD de type 1 écrase la valeur, et une table de faits de type accumulating snapshot est mise à jour.
Comparaison
| Aspect | Staging | ODS | DWH |
|---|---|---|---|
| Contenu | Brut | Intégré, nettoyé | Modélisé, historisé |
| Transformation | Aucune ou minimale | Nettoyage, règles métier | Modélisation, SCD, agrégations |
| Interrogeable | Non | Oui, usage opérationnel | Oui, usage analytique |
| Historique | Non | Non ou limité | Oui |
| Durée de vie | Un cycle de chargement | Valeurs courantes | Permanente |
Le médaillon
Pattern popularisé par Databricks : trois niveaux de raffinement de la donnée.
| Niveau | Rôle | Conserve le brut ? |
|---|---|---|
| Bronze | Copie des données sources, peu ou pas transformée, conservée et rejouable | Oui, par principe |
| Silver | Données nettoyées, dédupliquées, typées, souvent intégrées entre sources | Non |
| Gold | Tables prêtes à la consommation : métriques, modèles pour la BI | Non |
Pourquoi il n’existe pas de table de correspondance
Staging n'est pas Bronze, DWH n'est pas Gold
- Staging ≠ Bronze. Le staging classique est écrasé à chaque cycle ; la bronze est conservée et permet de tout rejouer. Un staging qu’on ne vide pas, dans un lakehouse, devient une bronze.
- ODS ≈ Silver, de loin. Les deux nettoient et intègrent. Mais l’ODS est volatil, alors que silver est généralement historisée.
- DWH ≠ Gold. Un entrepôt Inmon en 3NF ressemble plus à une silver (intégrée, historisée) ; un mart dimensionnel de Kimball ressemble plus à une gold. Le médaillon dit « à quel point la donnée est raffinée », pas « quelle méthode de modélisation utiliser ».
flowchart LR subgraph Entrepôt ST[Staging] --> O[ODS] --> D[DWH] --> M[Marts] end subgraph Médaillon BR[Bronze] --> SI[Silver] --> GO[Gold] end ST -. "proche, mais non conservé" .- BR O -. "proche, mais volatil" .- SI M -. "proche" .- GO
Trois sens du mot « staging »
Le Glossaire data engineering renvoie ici pour cette distinction.
Le mot revient sous trois sens dans le vault. Les distinguer évite des confusions.
| Sens | Où | Nature |
|---|---|---|
| Zone d’atterrissage ETL | Cette note | Zone transitoire, vidée à chaque cycle |
| Couche bronze | Médaillon | Copie conservée des sources |
Modèles stg_ de dbt | dbt — Fondamentaux | Vues ou tables qui renomment et castent les colonnes de chaque source, une par source |
Pourquoi cet ordre
- Atterrir d’abord : on ne nettoie pas ce qu’on n’a pas encore reçu de façon fiable.
- Intégrer avant de modéliser : on veut une vue cohérente des sources avant de la découper en faits et dimensions.
- Modéliser en dernier : l’étape la plus coûteuse en transformations, appliquée à des données déjà propres.
Règle de décision
Choisir son vocabulaire
- Plateforme lakehouse ou cloud récente, ELT avec dbt : parler en bronze / silver / gold, avec une bronze conservée.
- Entrepôt relationnel avec ETL classique, ou contexte Inmon : parler en staging / ODS / DWH, en précisant quel modèle porte le DWH.
- Dans tous les cas, écrire dans la documentation du projet ce que recouvre chaque zone (conservée ou non, historisée ou non, modèle utilisé).
Sources
- Snowflake, Operational Data Store et IRI, Operational Data Store : définitions d’éditeurs de l’ODS.
- Bill Inmon, Building the Data Warehouse : définition de référence de l’entrepôt et de l’ODS.
Notes liées
- Inmon, Kimball et Data Vault : le modèle qui porte le DWH.
- Schema-on-Write vs Schema-on-Read : bronze brute, silver typée.
- dbt — Fondamentaux : la convention staging / intermediate / mart.
- Data lake vs lakehouse : le médaillon sur un lakehouse.
- dbt_bigquery_monitoring : surveiller le coût d’un tel pipeline.
- Glossaire data engineering : SCD, ELT, append-only.
- MOC Data Engineering : carte du vault.