Vous êtes sur la page 1sur 42

Mastère 2I2T

Chapitre 4: Le processus d’intégration


ETL

Dr. Sinda Elghoul

COURS BUSINESS INTELLIGENCE


Introduction

 Pour que des données sources soient exploitables, il est nécessaire de les
agréger et de les nettoyer de tous les éléments non indispensables aux
utilisateurs finaux.
 L'adaptation était alors une priorité pour ne pas avoir à modifier les outils
existants
 Cette opération d’extraction et d’homogénéisation des données est
assurée par la technologie ETL (Extraction, Transformation and Loading).
 L’ETL se charge de récupérer les données et de les centraliser dans
l’entrepôt de données.
 La réalisation de l'ETL constitue 70% d'un système d’information
décisionnel en moyenne
Architecture BI 3
L'intégration de données 4

 L'intégration de données regroupe les processus par lesquels les données provenant de
différentes parties du système d'information sont déplacées, combinées et consolidées.
 Ces processus consistent habituellement à extraire des données de différentes sources
(bases de données, fichiers, applications, Services Web, emails, etc.), à leur appliquer
des transformations (jointures, lookups, déduplication, calculs, etc.), et à envoyer les
données résultantes vers les systèmes cibles.
 Il existe plusieurs système d'intégration de données :
 La médiation au service de l'intégration de données d'entreprise (EII): Intégration Virtuelle
 L'intégration de données via les applications (EAI): Integration d’application
 L'intégration de données via les services Web (ESB, SOA).
 L'intégration de données en nuage (Data Cloud).
 L'ETL (Extract - Transform - Load) Integration matérialisée
L'intégration de données 5
EII - Entreprise Information Integration 6
 Enterprise Information Integration (EII) est une approche d'architecture
permettant d'obtenir une vue unifiée des données informatiques de
l'entreprise.
7
8
9
10
11
12
EII - Entreprise Information Integration 13

 Fournit une vue unifiée des données de l'entreprise, où les sources de


données forment une fédération;
 Les sources de données dispersées sont consolidées à l'aide d'une BD
virtuelle, de manière transparente aux applications utilisant ces données;
 Toute requête à la BD virtuelle est décomposée en sous-requêtes aux
sources respectives, dont les réponses sont assemblées en un résultat
unifié et consolidé;
 Permet de consolider uniquement les données utilisées, au moment où
elles sont utilisées (source datapulling).
 Le traitement en-ligne des données peut cependant entraîner des délais
importants.
EII - Entreprise Information Integration 14

 En fonction des choix retenus, l'utilisateur aura la possibilité de :


 modifier les données (et non pas seulement un accès en lecture seule) ;
 agir en temps réel sur les données ;
 accéder à des données structurées ;
 accéder à des données cohérentes ;
 accéder à des services ;
 remonter des informations jusque dans le modèle métier (objet) ;
EII - Entreprise Information Integration 15

 Avantages:
 Accès relationnel à des sources non-relationnelles;
 Permet d’explorer les données avec la création du modèle de l’entrepôt de données;
 Accélère le déploiement de la solution;
 Peut être réutilisé par le système ETL dans une itération future;
 Aucun déplacement de données.
 Inconvénients:
 Requiert la correspondance des clés d’une source à l’autre;
 Consolidation des données plus complexe que dans l’ETL;
 Surtaxe les système sources;
 Plus limité que l’ETL dans la quantité de données pouvant être traitée;
 Transformations limitées sur les données;
 Peut consommer une grande bande passante du réseau.
EAI - Entreprise Application Integration 16

 L'intégration d'applications d'entreprise est une architecture


intergicielle permettant à des applications hétérogènes de gérer
leurs échanges.
 On la place dans la catégorie des technologies informatiques
d'intégration métier (Business Integration) et d'urbanisation.
 Sa particularité est d‘échanger les données en pseudo temps réel.
 Basée sur:
 Logique de "Bus" ou de "Hub"
 Messages
EAI: Exemple 17
EAI vs EII vs ETL 18
ETL: Définition 19

 Extract-Transform-Load est connu sous le terme ETL, ou extracto-


chargeur, (ou parfois : datapumping).
 Il s'agit d'une technologie informatique intergicielle (à base middleware)
permettant d'effectuer des synchronisations massives d'information d'une
source de données (le plus souvent une base de données) vers une autre.
 Selon le contexte, on est amené à exploiter différentes fonctions, souvent
combinées entre elles :
 Extraction,
 Transformation ,
 Constitution Ou Conversion ,
 Alimentation .
ETL 20

 ETL ne se contente pas de charger les données, il doit les faire passer par un tas de moulinettes pour
les dénormaliser, les nettoyer, les contextualiser, puis de les charger de la façon adéquate,
 Dénormalisation : dans un DW (Data Warehouse), avoir des doublons n'est pas important, avoir un schéma
en troisième forme normale est même déconseillé. Il faut que les données apparaissent là où elles doivent
apparaître ;
 Nettoyage : dans un système de production, les utilisateurs entrent les données . Les risques d'erreurs sont là :
entrer la rue au lieu du pays, écrire Canoda au lieu de Canada. Ces erreurs ont des répercussions directes sur
les analyses (les commandes avec Canoda comme pays ne feront pas partie des commandes faites au Canada).
Il faut pouvoir détecter et corriger ces erreurs ;
 Contextualisation : imaginez un système de production où les informations sur l'activité du personnel sont
enregistrées, et un système de RH ou les informations personnelles, comptables des employés sont stockées.
Un entrepôt de données possède une vision universelle, un employé est un employé, et il n'y aura qu'une seule
dimension « Employé » avec toutes les informations le concernant ;
 Chargement en DW : c'est l'étape la plus complexe, il s'agit ici d'ajouter les nouvelles lignes, voir si des lignes
ont été modifiées et faire une gestion d'historique, voir si des lignes ont été supprimées et le mentionner dans
l'entrepôt, tout en faisant attention de ne pas charger des données en double.
ETL 21

Avantages:
 Optimisé pour la structure de l’entrepôt de données;
 Peut traiter de grandes quantités de données dans une même exécution (traitement en lot);
 Permet des transformations complexes et agrégations sur les données;
 La cédule (programme) d’exécution peut être contrôlée par l’administrateur;
 La disponibilité d’outils GUI sur le marché permet d’améliorer la productivité;
 Permet la réutilisation des processus et transformations (ex: packages dans SSIS).

Inconvénients:
 Processus de développement long et coûteux;
 Gestion des changements nécessaire;
 Exige de l’espace disque pour effectuer les transformations (stagingarea);–Exécuté indépendamment du besoin réel;
 Latence des données entre la source et l’entrepôt;
 Unidirectionnel (des sources vers l’entrepôt de données).
Cycle de vie de ETL
Conception d’un ETL 23

 Enumérer les items cibles nécessaires au datawarehouse ;


 Pour chaque item cible, trouver la source et l'item correspondant.
 Si plusieurs sources sont trouvées, choisir la plus pertinente.
 Si l'item cible exige des données de plusieurs sources, former des règles de
consolidation.
 Si l'item source referme plusieurs items cibles, definir des règles de
découpage.
 Inspecter les sources pour des valeurs manquantes.
Conception d’un ETL 24

Analyse des sources de données


 Le rapatriement des données peut se faire de trois façons différentes :
 Push : la logique de chargement est dans le système de production, il « pousse » les données
vers le Staging quand il en a l'occasion. L'inconvénient est que si le système est occupé, il ne
poussera jamais les données ;
 Pull : le Pull « tire » les données de la source vers le Staging. L'inconvénient de cette méthode
est qu'elle peut surcharger le système s'il est en cours d'utilisation ;
 Push-Pull : c'est le mélange des deux méthodes. La source prépare les données à envoyer et
prévient le Staging qu'elle est prête. Le Staging va récupérer les données. Si la source est
occupée, le Staging fera une autre demande plus tard.
ETL

 Extraire les données des sources hétérogènes (extract)


 Identifier les données sources utiles
 Déterminer les données qui ont changé
 Consolider les données (transform)
 Données redondantes, manquantes, incohérentes, etc.
 Découpage, fusion, conversion, agrégation, etc.
 Charger les données intégrées dans l’entrepôt (load)
 Mode différé (batch)ou quasi temps-réel.
 Partie la plus longue du développement (jusqu’à 70% du temps total).
Extraction 26

 Trois types d'extraction de données :


 Extraction complète :
 Capture de l'ensemble des données disponibles
 Pour le chargement initial, ou rafraichissement de données
 Extraction incrémentale :
 Capture des données qui ont changées
 Extraction Temps-réel :
 S'effectue au moment ou les transactions surviennent dans les systèmes sources
Extraction
Transformation des données

 Il s’agit de l’action de transformer les données pour alimenter


l’entrepôt de données.
 C’est là que le gros du processus ETL a lieu et est habituellement la
partie qui prend le plus de temps.
 La partie transformation de ETL se concentre sur la consolidation
des données, la correction des données, l’élimination de toute
ambiguïté, l’élimination des données redondantes et le
renseignement des valeurs manquantes.
Chargement des données.

 Il s’agit de prendre la sortie de l’étape de transformation et de les placer dans


l’emplacement approprié dans l’entrepôt de données. C’est une étape très délicate et
exige une certaine connaissance des structures de système de gestion de la base de
données (tables et index) afin d’optimiser au mieux le processus.
 Le chargement initial est effectué au tout premier chargement de l'entrepôt et dans des
cas spéciaux comme après la perte des données de l'entrepôt. Dans ce cas, on charge
toutes les données de l'entreprise dans l'entrepôt.
 Le chargement incrémentiel est le fait d'ajouter des données à un entrepôt existant, c'est
l'opération qui va se répéter dans le temps (chaque jour par exemple). Il faudra faire
attention dans ce cas à ne charger que les informations nouvelles, et ne pas charger
deux fois la même information.
Choix d’outil ETL 30

 Les éléments à prendre en compte dans le choix de votre ETL sont les suivants :
 taille de l'entreprise : j'entends par là taille des structures. S'il s'agit d'une multinationale avec des
milliers de succursales à travers le monde, on ira plus pour une solution complète et, en général, très
coûteuse. Si on est une PME, on optera plutôt pour des solutions payantes (comme Microsoft
Integration Services) assurant un certain niveau de confort sans impliquer des mois de
développement ;
 taille de la structure informatique : une entreprise avec une grosse structure informatique pourra se
permettre d'opter pour une solution Open Source et la personnaliser selon les besoins de l'entreprise.
Une PME ne pourra sûrement pas faire cela ;
 culture d'entreprise : évidement, si une entreprise à une culture de l'Open Source très prononcée,
l'application d'une solution payante risquera fortement de subir un phénomène de rejet ;
 maturité des solutions : il existe des solutions bien rodées, qui fonctionnent bien et qui bénéficient
d'un bon retour d'expérience, c'est en général les plus chères (Business Objects, Oracle, SAP). Il existe
d'autres solutions, moins matures, bénéficiant d'un « effet de mode » et qui semble offrir de très
bonnes performances (Microsoft). Enfin, il existe des solutions Open Source qui, de par leur jeunesse,
n'offrent pas autant de flexibilité et de facilité de mise en œuvre que les solutions précédemment
citées. Il faudra compter avec le temps pour que ces solutions émergent et arrivent à un niveau de
maturité acceptable…
ELT: Extract, Load and Transform 31

 Problèmes avec ETL:


 Traite les données importantes au moment de la conception;–Développement
long et complexe.
 Solution ELT:
 Utilise les technologies BigData(ex: Hadoop, Spark, etc.);
 Chargements rapides, potentiellement temps-réels;
 Lacs de données (data lakes) permettent les données non-structurées;
 Transformations faites au moment de la requête;
 Technologies moins matures que ETL et implémentation plus complexe (ex:
code Java vs outil dédié).
ELT: Extract, Load and Transform 32

 LesELT (Extract Load Transform) ont la même finalité


que les ETL mais le font de manière différente :
 ETL : Transformations effectuées ligne à ligne, par un moteur
intermédiaire et sans lien avec le type de source/destination.
 ELT : Transformations en bloc, les calculs sont effectués par la
source ou par la destination. Le but est d'utiliser les outils déjà
présents sans en apporte de nouveaux.
ELT vs ETL 33
DW vs Data Lake 34
Outils ETL 35
Outils ETL 36

 BusinessObjects,
Data Integrator, http://
www.businessobjects.fr/
 Oracle
Corporation, Warehouse builder, http://
www.oracle.com/technology/products/warehouse/index.h
tml/
 IBM, Websphere Datastage ,
http://www.ascential.com/products/datastage.html
Couche de préparation de données
Couche de stockage de données (presentation)
Couche de restitution de données
Approches de conception des ED : 40
ascendantes
Approches de conception des ED : 41
descendantes
Approches de conception des ED : 42
descendantes

Vous aimerez peut-être aussi