ETL partie 1

Je vais vous présenter ce mystérieux sigle qui tient autant du management que du datawarehouse
Déjà  la définition de l’ETL : Extraction Transport/Transform load
Ca signifie que vous allez extraire des données, les modifier, les transporter et les charger quelque part

Il faut voir cela dans le concept du datawarehouse par opposition à l’OLTP
OLTP : Online Transaction Processing, Les base de données relationnelles que l’on connait, comme oracle, SQL serveur, MySQL
DATAWAREHOUSE : Un « entrepot » de stockage de données, c’est une base de données où l’on va seulement faire de requêtes SELECT sur la base et non plus des UPDATE ou des DELETE.

L’extraction
Il y a deux types d’extraction : L’extraction logique et l’extraction physique.

L’extraction logique peut elle même se diviser en deux : L’extraction complète et l’extraction incrémentielle.
L’extraction complète comme son nom l’indique prend TOUTES les données et les extrait de la base, il n’y a pas besoin de suivi mais c’est celle qui prend le plus de temps.
l’extraction incrémentielle prends une partie des données modifées depuis une extraction complète, mais nécessite pour cela un suivi des modifications. Bien sûr le temps d’extraction est considérablement réduit.

L’extraction physique, elle, s’occupe de la façon dont sont extraites les données : online et offline.
L’extraction online va taper directement dans la base sans passer par des intermédiaires.
L’extraction offline elle va passer par ce que l’on appelle une « staging area », autrement dit aire d’attente. Cette staging area peut être composee de fichier plat (CSV par exemple), de fichier de dump ou bien de tablespace transportable (une spécificité d’oracle).

La transformation
C’est sans doute la partie la plus complexe du processus d’ETL.
Ca peut être une simple conversion ou une modification plus avancee.
il existe deux types de transformation : La « pipelined transformation » et la « multistage transformation »
La multistage transformation est composée d’étapes de transformation suivies d’injection dans des tables temporaires.
Par exemple : Chargement dans la table n° 1 –> validation des contraintes –> injection dans la table n°2 –>  modification des cles –> insertion dans la table n°3 –> Injection dans le datawarehouse

La pipeline transformation elle réalise toutes les étapes à  la suite.
L’avantage de la pipelined transformation est qu’elle prend moins de temps que la multistage mais que si l’on rate une des étapes, on doit recommencer le processus de zéro.

On peut donc générer des rapports avec cette étape.

Le chargement
Le chargement lui est l’étape finale de l’ETL.
Une fois les données modifiées et transportées, nous allons les charger à  nouveau dans le datawarehouse, afin de les conserver en l’état.

Sources : Mon cours de 5ème année d’oracle sur le datawarehousing