Menu Content/Inhalt
Accueil

Nos portails

Data Warehousing
ETL
Modèle dimensionnel
OLAP

Connexion

Rss & Atom

Historique & Catégories ETL
Ecrit par Abdelghafour ELOMARI   
04-11-2007

Dans cet article nous présentons un historique des systèmes ETL. Nous y traitons les trois catégories des systèmes à savoir les ETL générateurs de code, les moteurs ETL et les ETL Intégrés à la base de données. Il y’est aussi question de présenter les différences entre les trois catégories.

Générateurs de code. 

Au début des années 90, la majorité des organisations a développé des applications personnalisées dans le but d’extraire et transformer les données à partir des systèmes opérationnels et de les charger dans des entrepôts de données. Au milieu des années 90, les fournisseurs de solutions informatiques se rendent compte de l’opportunité et commencent à vendre des solutions conçues afin de réduire la charge du codage des processus ETL. Les premiers outils ETL fournissent un environnement de conception graphique qui permet de générer du code (3GL), comme le COBOL.  Même si ces outils ont simplifié le travail de développement, ils étaient moins capables d’automatiser l’environnement d’exécution, de diminuer l’effort de la maintenance du code, ordonnancer et exécuter les processus ETL, et non plus copier et transporter les fichiers.

Le moteur ou l'engin 

Dans le but d’automatiser les processus ETL, les fournisseurs de solutions ont commencé à offrir des solutions basées sur un moteur à partir du milieu vers la fin des années 90. Ces solutions utilisent un langage de scripting propriétaire qui s’exécute dans un moteur ou dans un serveur de bases de données. Ces moteurs utilisent des interpréteurs de langage pour exécuter les processus ETL. Les flux ETL définis par les développeurs dans l’environnement graphique de développement sont stockés dans un référentiel, à partir duquel le moteur lit l’information qui lui permettra de déterminer comment réaliser les traitements.

Cette approche a le mérite d’unifier les processus ETL, cependant elle n’élimine pas nécessairement le développement spécifique et la maintenance. Pour répondre à des besoins complexes ou spécifiques, les développeurs sont le plus souvent amenés à développer  des routines spécifiques que l’outil pourra utiliser à l’exécution. Ce genre de développement amène de la complexité et un besoin de maintenance parfois difficile.

Tous les traitements se réalisent dans le moteur et par le moteur. Une autre caractéristique importante est que tous les traitements se réalisent dans le moteur et par le moteur et non pas dans le système source (Cependant il existe des architectures hybrides). L’engin roule en général sur une machine Windows ou UNIX et établis des connexions directes avec les systèmes sources. Si le système source n’est pas relationnel, les administrateurs ETL utilise des passerelles ou créent des fichiers plats afin  d’alimenter le moteur. Quelques moteurs supportent les traitements parallèles, ce qui leur permet de traiter les processus ETL en parallèle et ce en utilisant différents processeurs. D’autres nécessite une paramétrisation manuelle de la prise en charge des traitements parallèles en utilisant des partitions par exemple ce qui n’est pas souvent très dynamique.

Les générateurs de code Vs Les moteurs 

Même si les deux approches date depuis déjà plusieurs années, le débat sur la meilleure approche est toujours présent.

Avantages des ETL générateurs de code :

L’avantage le plus évident est que ce genre d’ETL permet de réaliser des processus ETL complexe par rapport à ceux permis par un moteur ETL. L’unité de traitement d’un moteur ETL est l’enregistrement ce qui limite leur capacité à gérer efficacement certains types de transformations. Par conséquence les ETL générateurs de codes éliminent le besoin de maintenir les routines complexes développés afin de répondre à des transformations que le moteur ne supporte pas.

En plus les ETL générateurs de code produisent un code qui peut tourner sur différentes plateformes. Le code est compilé n’est pas seulement performant, il permet à l’organisation de distribuer les traitements à travers plusieurs plateformes dans le but d’optimiser la performance. De ce fait, on n’a pas besoin de machines ayant des capacités énormes afin de réaliser les traitements, du moment ou on peut distribuer le traitement sur plusieurs machines ayant une capacité acceptable.

Avantages des  Moteurs ETL:

Les moteurs ETL centralisent les traitements dans un serveur unique. Même si cela peut devenir un goulot d’étranglement, les administrateurs peuvent configurer la machine afin d’atteindre une performance maximale.  En plus et du fait que tous les traitements se réalisent dans une seule machine, les administrateurs peuvent facilement contrôler la performance du moteur et de la machine et effectuer les ajustements nécessaires !Cette approche fait disparaître le besoin de distribuer les traitements sur plusieurs machines avec tout ce que cela peut engendrer comme tâches de maintenance. En d’autre part, en réalisant les transformations dans le moteur, celui libère rapidement les ressources des systèmes sources et interfère le moindrement possible avec les opérations.Par ailleurs, même si certains ETL générateurs de code offrent des environnements visuels de développement, ces derniers sont difficilement utilisant si l’on les compare à ceux offerts par les Moteurs ETL. Un environnement conviviale et facilement navigable permet de coder rapidement les processus ETL !.  

ETL Intégré à la BD 

De nos jours plusieurs fournisseurs de solutions informatiques intègrent leur outil ETL dans leur SGBD et l’offre à des prix très bas. Ce qui commence à présenter à une sérieuse options pour les compagnies afin de réduire les coûts et de simplifier leurs environnements BI.

Il est certain qu’il s’agit d’une option à ne pas négliger, et plusieurs utilisateurs posent déjà la question « Pourquoi devrait-on acheter une suite ETL à un autre fournisseurs, alors que l’on peut disposer de toutes les fonctionnalités ETL, et ce gratuitement,  dans la base de données de notre choix ? Quels sont les avantages de l’achat d’une suite ETL ?

Pour répondre à ces questions il est important de comprendre le niveau et le type de traitement ETL que la base de données supporte. Pour ce faire, nous avons établis les 3 types de relations qui peuvent exister entre les suites ETL et les ETL intégrés à la BD :

Coopération : Dans ce cas de figure, la suite ETL peut exploiter les plusieurs fonctionnalités de la BD afin de réaliser les processus ETL. Par exemple une suite ETL peut utiliser les procédures stockées pour réaliser les transformations et les agrégations dans la BD la ou c’est approprié. Ceci permet aux suites ETL d’optimiser les performances en exploitant l’optimisation, le traitement parallèle et l’évolutivité de SGDB.

Complémentarité : Certains fournisseurs de BD  offrent des fonctionnalités ETL qui complètent ou remplacent celles des suites ETL. Par exemple, les vues matérialisées représentent des tables « sommarisées » qui sont automatiquement mises à jour ( Refresh ) lorsque les données détaillées ont été ajoutées ou mises à jour. Ce genre de table permet d’améliorer les performances d’une façon très considérable. En plus, certains fournisseurs de suites ETL offre des commandes SQL qui permettent d’interagir avec les applications Web-services… ce qui est très important lors de la mise en place d’un DW presque temps réel.

Compétitivité : La majorité de fournisseurs de fonctionnalités ETL intégrées à la BD offre un environnement de développement graphique. Ces outils offrent plusieurs fonctionnalités déjà offerts par les suites ETL et ce à  un coût nul ou presque modique. Cependant, de nos jours, les suites ETL continuent de fournir des avantages importants, à savoir le nombre de systèmes sources accessibles, la puissance des transformations et la simplicité de la maintenance. Aujourd’hui, les ETL intégré à la BD sont le plus souvent utilisés pour construire des data marts, cependant cela risque de changer, surtout que les fournisseurs de SGBD continuent d’améliorer leurs fonctionnalités ETL

Article Traduit par l'auteur. Lire l'article en anglais

Dernière mise à jour : ( 04-11-2007 )
 
Les différentes technologies OLAP : MOLAP ROLAP HOLAP & DOLAP
Ecrit par Abdelghafour ELOMARI   
05-09-2006

Définition des acronymes

Pour la définition de l’OLAP, veuillez vous référer au lien suivant : La définition de l'OLAP

MOLAP = Multidimensional OLAP

ROLAP = Relational OLAP

HOLAP = Hybrid OLAP

DOLAP = Desktop OLAP.

 Critères de différenciation 

Pour bien cerner les différences entre MOLAP, ROLAP, HOLAP et DOLAP nous avons tiré profit du travail effectué par Mr. Nigel Pendse sur les architectures OLAP à l’adresse suivante : http://www.olapreport.com/Architectures.htm

Il existe deux critères pour classifier une solution OLAP en tant que MOLAP, ROLAP, HOLAP ou DOLAP :

  • La technologie de stockage des données OLAP :
  1. Base de données relationnelles : les données sont stockées dans un SGBD relationnel. Il permet un stockage presque infini des données OLAP. (Rolap)

  2. Base de données dimensionnelle (Cube) : Les données sont stockées dans une base de données multidimensionnelles le plus souvent propriétaires. cependant il y’a des limitations quand à la quantité de données ! (Molap)

  3. Fichiers sur le poste client : Une petite quantité de données est stockée directement sur le poste client de l’utilisateur (Dolap)

  • Les techniques de traitements des données OLAP :
  1. SQL : SQL est utilisé pour effectuer les différents traitements sur les données OLAP. On réaliser des roll-ups, des drills-down... en utilisant des requêtes en général très complexes et très exigeantes en terme de ressources et de temps d’exécution. (Rolap)

  2. Serveur de traitement OLAP : Il s’agit de l’approche la plus adaptée aux traitements de données OLAP. Un serveur, conjointement avec la base de données, est alors dédié à effectuer les différents traitements de données OLAP. Les performances sont excellentes en général ! (Molap)

  3. Client de traitement OLAP : Une approche qui perd beaucoup de terrain vu l’émergence des postes clients léger. Un nombre limité de traitement OLAP se font sur le poste client de l’utilisateur. (Dolap)

Les définitions

En se basant sur ces deux critères il devient donc claire que :

  • Molap est une base de données dimensionnelle + serveur de traitement OLAP

  • Rolap est une base de données relationnelle + SQL avancé

  • Dolap est un  fichier sur le poste client + client de traitement OLAP

  • Holap est du Molap pour les données sommaires + Rolap pour les données détaillées

Dernière mise à jour : ( 23-09-2006 )
 
Recherche de collaborateurs
Ecrit par Abdelghafour ELOMARI   
30-09-2006

Nous sommes à la recherche de personnes sérieuses afin de nous aider à alimenter et développer le site.

  • Si vous êtes passionés du data warehousing
  • vous aimez partager votre savoir et savoir-faire ...
  • vous avez déjà acquis une bonne expertise dans le domaine
  • vous avez quelques heures par semaine de libre

Écrivez-nous à l'adresse suivante : Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir

 

 

Dernière mise à jour : ( 01-10-2006 )
 
<< Début < Précédente 1 2 Suivante > Fin >>

Résultats 1 - 4 sur 5

Liens

designed by made your web.com
re-designed to 1024x768 resolution by MamboTeam.Ru