Architecture ETL

Objectif(s)
  1. Synchroniser les systèmes.
  2. Manipuler des ensembles de données très important.
Cible(s) 

Principes

ETL signigfie Extract Tranform and Load. Il s'agit de traitement qui :

  1. manipulent les données en masse et 
  2. les transportent d'un point A vers un point B prédéterminé.

Il existe 2 variantes de solutions ETL:

  • ETL
  • ELT

L'ELT est une solution qui internalise les étapes de transformations dans un moteur de persistance.

Les transferts de flux d'information sont ensemblistes. Ils sont conçus et optimisés pour manipuler de grandes sources de données (entre milliers et millions).

Le point fort de l'ETL est sa capacité à supporter l'aspect transactionnel.


Architecture typique

La plateforme ETL est organisé autour d'un service centrale offrant des fonctionnalités transverses:

  • Administration
  • Ordonnancement
  • Référentiel de binaires
  • Gestion des logs.

Ces fonctionnalités sont utilisés par des Jobs. Ceux-ci s'exécutent sur des serveurs dédiés car le moteur d'exécution doit être préalablement installé. L'adhérence avec ceux-ci est donc très forte.

Chaque job porte la route qui:

  1. charge les données en entrée
  2. transforme les données
  3. dépose les données en sortie.

Chaque job s'exécute dans un Processus machine indépendant afin de garantir la performance et un espace mémoire suffisant. 

Les applications mettent à disposition des interfaces dédiées au transfert comme:

  • des fichiers prêt à consommer
  • des tables de base de données: tables de travail ou requêtes SQL prédéfinies
  • des services manipulant une collection d'objets.


La force de ces solutions est leur capacité d'interconnexion. Les connecteurs dont disposent les solutions sont très nombreux.

Ordonnancement

La particularité des ETL est qu'ils doivent être ordonnancés. C'est-à-dire que chaque job est activité ou réveillé à intervalles réguliers ou à horaire prédéterminé.

Un ordonnanceur est alors indispensable pour gérer ces activations. Celui-ci peut-être intégré à la plateforme centrale ETL ou bien délégué à l'OS.

Chaque instance de job s'exécute dans un processus machine dédié, il est courant de lier une instance à une exécution temporelle.

Une très mauvaise pratique est de garder vivant une instance de job pour écouter des événements, un protocole, etc.

 

Produits

SolutionProduits
ETLTalend Data Integration, IBM InfoSphere, Informatica
ELTOracle Data Integrator


Adhérences


Avantages
Inconvénients
Interconnexion (lib, protocole, etc)Les connecteurs sont centralisés et disponibles pour tous les jobs.La modification d'un connecteur engendre une TNR des jobs l’utilisant.
Propagation des changements (format et version)Les binaires sont centralisés.Un changement sur la source ou la cible impacte le job.
Run (processus)Chaque processus est optimisé pour sa charge et ses traitements.

L'ordonnanceur limite les jobs aprallèles en fonction de la capacité matérielle.

Exploitation

Moteur d'exécution ETL à installer et configurer sur chaque machine.

Dépendances fortes entre le Moteur ETL et l'OS.

Synthèse


Avantages
Inconvénients
GouvernanceLe transfert en masse de données permet une compréhension simpliste des interactions.

Les systèmes manipulent des données avec une fraîcheur différentes.

Les activités métiers sont alors dépendantes des données à disposition donc des transferts réalisés.

Développement

Productivité très forte avec des IDE graphiques.



Exploitabilité

Centralisation de la plateforme.

Les transferts sont en tout ou rien. L’arrêt d'un job bloque la synchronisation de plusieurs systèmes interdépendants.

Les serveurs de Jobs sont dédiés et peuvent être nombreux.

Infrastructure

Chaque processus est indépendant.

Le nombre de processus est limité par la puissance machine disponible.

Par conséquence, l'ordonnancement doit prendre en compte la capacité disponible.