Chapitre 2 : Intégration de
données et processus ETL.
Intégration de données : place dans le processus
d’entreposage
Cubes de
données
31
Principe d’intégration de données
Sources hétérogènes → homogénéiser
Anomalies, Erreurs, Valeurs Manquantes → Corriger, Compléter
Processus continu :
Chargement initial
Rafraichissement périodique
32
Méta-données
Dans les BD : données sur les données (structure des tables,
informations sur les colonnes, etc).
Dans les ED : données sur les composants d'ED, sur les sources, sur
le processus, etc.
Rôles de méta données :
Permettre d'automatiser (certains) composants d'entreposage
(dont l'ETL).
Assurer les liens entre sources et ED.
33
...Méta données
Type des Méta données :
Sources de données : noms, liens, propriétés...
Modèle d'ED : serveurs, bases de données, tables.
Mapping source-ED : liens, transformations.
Outils d'intégration (ETL) : nom, période de rafraichissement... -
Architecture de l'ED (ED, Data Marts, …)
Règles et stratégies : indicateurs de performances, formules de calcul
Règles de sécurité : qui accède à quoi?
34
…Méta données
Exemple : méta données au niveau table
Exemple : méta donnée d'une colonne de table d'ED
35
Extraction (ETL)
Extraire les données (nouvelles ou changées) à partir des
sources.
Utilise les méta-données (liens entre les tables de l’entrepôt
et les tables sources)
Deux phases d’extraction :
Identification des ressources
Extraction des données :
Extraction complète
Extraction incrémentale
36
Extraction de données : Identification des ressources
1. Énumérer les items cibles (métriques et attributs de
dimension) nécessaires à l'entrepôt de données;
2. Pour chaque item cible, trouver la source et l'item
correspondant de cette source;
3. Si plusieurs sources sont trouvées, choisir la plus pertinente;
4. Si l'item cible exige des données de plusieurs sources, former des
règles de consolidation;
5. Si l'item source referme plusieurs items cibles (ex: un seul champs
pour le nom et l'adresse du client), définir des règles de découpage;
6. Inspecter les sources pour des valeurs manquantes.
37
Extraction de données
Extraction complète :
Capture l'ensemble des données à un certain instant (snapshot
de l'état opérationnel);
Normalement employée dans deux situations:
1. Chargement initial des données;
2. Rafraîchissement complet des données (ex: modification
d'une source).
Peut être très coûteuse en temps (ex: plusieurs heures/jours).
38
Extraction de données
Extraction incrémentale :
Capture uniquement les données qui ont changées ou ont été
ajoutées depuis la dernière extraction;
Peut être faite de deux façons:
1. Extraction en temps-réel
2. Extraction différée (en lot).
39
Extraction incrémentale en temps réel
S'effectue au moment où les transactions surviennent
dans les systèmes sources
Systèmes
opérationnels BD sources Journal de
transactions
sources triggers
Option 1:
Capture à l'aide des
journaux detransactions
Fichiers Fichiers
générés par générés par Option 2:
les sources les triggers Capture à l'aide de
triggers
Option 3:
Capture dans les Zone de préparation
applications sources de données
(staging area)
41
Extraction incrémentale en temps différé
Extrait tous les changements survenus durant une période
donnée (ex: heure, jour, semaine, mois).
Systèmes
opérationnels Extraction Extraction
BD sources d'aujourd'hui d'hier
sources
Programmede
Fichiers Programme comparaison
d'extraction d'extraction
utilisant les
timestamp Option 2:
s Capture par Fichiers
Option 1: comparaison de d'extraction
Capture basée sur Zone de préparation fichiers utilisant la
les timestamps de données comparaison
(staging area)
43
Transformation (ETL) : types
1. Révision de format :
Ex: Changer le type ou la longueur dechamps individuels.
2. Décodage de champs :
Consolider les données de sources multiples
Ex: ['homme', 'femme'] vs ['M', 'F'] vs [1,2].
Traduire les valeurs cryptiques
Ex: 'AC', 'IN', 'SU' pour les statuts actif, inactif et suspendu.
3. Pré-calcul des valeurs dérivées :
Ex: profit calculé à partir de ventes et coûts.
4. Découpage de champs complexes :
Ex: extraire les valeurs prénom, secondPrénom et nomFamille
à partir d'une seule chaîne de caractères nomComplet.
44
…Transformation (ETL) : types
5. Fusion de plusieurs champs :
Ex: information d'unproduit
– Source 1: code et description;
– Source 2: types de forfaits;
– Source 3: coût.
6. Conversion de jeu de caractères :
• Ex: EBCDIC (IBM) vers ASCII.
7. Conversion des unités de mesure :
• Ex: impérial à métrique.
8. Conversion de dates :
• Ex: '24 FEB 2011' vs '24/02/2011' vs '02/24/2011'.
9. Pré-calcul des agrégations :
• Ex: ventes par produit par semaine par région.
10. Déduplication :
• Ex: Plusieurs enregistrements pour un même client.
45
Transformation (ETL) : problèmes
Problème de résolution d'entités :
– Survient lorsqu'une même entité se retrouve sur différentes
sources, sans qu'on ait la correspondance entre ces sources;
• Ex: clients de longue date ayant un identifiant différent
sur les différentes sources;
– L'intégration des données requiert de retrouver la
correspondance;
– Approches basées sur des règles de résolution
• Ex: les entités doivent avoir au moins N champs identiques.
46
Transformation (ETL) : problèmes
Problème des sources multiples :
– Survient lorsqu'une entité possède une représentation
différente sur plusieurs sources;
– Approches de sélection :
• Choisir la source la plus prioritaire;
• Choisir la source ayant l'information la plus récente.
47
Loading ou chargement (ETL) : types
Chargement initial :
o Fait une seule fois lors de l'activation de l'entrepôt de données;
o Les indexes et contraintes d'intégrité référentielle (clé étrangères) sont
normalement désactivés temporairement;
o Peut prendre plusieurs heures.
Chargement incrémental :
o Fait une fois le chargement initial complété;
o Peut être fait en temps-réel ou en lot.
Rafraîchissement complet :
o Employé lorsque le nombre de changements rend le chargement
incrémental trop complexe;
Ex: lorsque plus de 20% des enregistrements ont changé depuis le dernier
chargement.
48
ETL : outils
Oracle Warehouse Builder;
IBM Infosphere Information Server;
Microsoft SQL Server Integration Services (SSIS);
SAS Data Integration Studio.
Talend Open Studio
49