ETL et ELT
L'ETL transforme les données avant de les charger, l'ELT les charge brutes puis les transforme en SQL dans l'entrepôt. L'ELT domine depuis que les entrepôts cloud calculent à la demande.
- extract
- transform
- load
- entrepôt
- cloud
- brut
- raw
Syntaxe
ETL : Extraire → Transformer (serveur ou outil dédié) → Charger le résultatELT : Extraire → Charger brut dans l'entrepôt → Transformer en SQL sur placeCouches habituelles en ELT : brut (raw) copie fidèle de la source, jamais modifiée staging renommage, typage, nettoyage, une table par source marts tables métier prêtes pour les tableaux de bordExemple
-- E + L : les données arrivent telles quelles, tout en texteCREATE TABLE brut_commandes (id TEXT, client TEXT, montant TEXT, statut TEXT);INSERT INTO brut_commandes VALUES ('1', ' durand ', '120.50', 'PAYEE'), ('2', 'Moreau', '45', 'annulee'), ('3', 'petit', '80.00', 'payee');-- T : la transformation se fait en SQL, dans l'entrepôtCREATE TABLE commandes_payees ASSELECT CAST(id AS INTEGER) AS id, UPPER(SUBSTR(TRIM(client), 1, 1)) || LOWER(SUBSTR(TRIM(client), 2)) AS client, CAST(montant AS REAL) AS montantFROM brut_commandesWHERE LOWER(statut) = 'payee';SELECT * FROM commandes_payees;-- 1 | Durand | 120.5-- 3 | Petit | 80.0-- La table brute reste intacte : on peut corriger la règle et rejouer.À retenir
- L'ELT a gagné parce que les entrepôts cloud séparent le stockage du calcul : charger le brut coûte peu et le SQL passe à l'échelle sans serveur de transformation à administrer.
- Garder la couche brute permet de rejouer une transformation corrigée sur tout l'historique sans réinterroger la source, qui a parfois déjà purgé ses données.
- L'ETL garde sa place quand il faut pseudonymiser ou filtrer des données personnelles avant qu'elles n'entrent dans l'entrepôt, ou pour des traitements que le SQL exprime mal (images, documents).
- Piège : croire que l'ELT dispense de gouvernance. La couche brute contient souvent des données personnelles complètes ; elle demande des droits d'accès restreints et une durée de conservation.
Voir aussi
- dbt : modèles, ref, sources et testsdbt transforme des requêtes SELECT versionnées en tables ou vues, dans le bon ordre et avec des tests. On l'emploie pour organiser la couche de transformation d'un entrepôt en ELT.
- Modélisation dimensionnelle : faits et dimensionsLe schéma en étoile place les mesures dans une table de faits entourée de dimensions descriptives. On le choisit pour des tableaux de bord simples à requêter et rapides à agréger.
- Lakehouse : Iceberg et Delta LakeIceberg et Delta ajoutent aux fichiers Parquet d'un lac un journal de versions : transactions ACID, mises à jour et voyage dans le temps. On les adopte pour un entrepôt bâti sur un lac.