ESNE Travail de diplôme 2011 Business Intelligence Open Source SpagoBI/Talend Résumé I.Cirillo 2010-2011
Introduction Le laboratoire de base de données de l ESNE a mis en place, il y a quelques années, un data warehouse (projet Ecureuil) permettant au CNIP (Centre Neuchâtelois d Intégration Professionnelle) de recueillir des informations concernant la formation pour adultes et à obtenir des rapports de synthèse sous la forme de tableaux croisés dynamiques Excel. Ce projet de data warehouse développé avec SQL Server 2005 est actuellement en production. Mon travail de diplôme à consisté à réécrire une partie de ce projet de data warehouse avec des outils open source. Je me suis concentré sur les procédures ETL (Extract Transform Load) ayant comme tâche le chargement de ce nouveau data warehouse. Ce travail a été précédé par une phase de recherche qui a permis de faire un choix entre les outils de Business Intelligence open source présents sur le marché. Ce choix a été fait pendant la réalisation de mon travail de laboratoire. Les outils retenus ont été «Talend Open Studio» pour le développement des procédures ETL et «SpagoBI» comme plateforme décisionnelle. Le serveur de bases de données utilisé a été PostgreSQL. Le projet de data warehouse du CNIP Le projet Ecureuil du CNIP repose sur une application MSAccess attachée à une base de données relationnelle SQL Server 2005. Ce projet inclut un data warehouse qui est peuplé à partir de la base de données de production grâce aux services SSIS (SQL Server Integration Services), intégrés dans SQL Server 2005, permettant de créer des lots ETL qui extraient, transforment et transfèrent les données depuis la base de production vers le data warehouse. Une fois les données transférées, elles sont prêtes à l utilisation. Les services SSAS (SQL Server Analysis Services), eux aussi intégrés à SQL Server 2005, utilisent ces données pour générer des cubes OLAP (Online Analytical Processing) qui seront, à leur tour, interrogés par les gestionnaires du CNIP à des fins statistiques et décisionnelles à l aide de tableaux croisés dynamiques construits dans Excel. I.Cirillo - 28/06/2011 2/5
Voici une représentation du projet de data warehouse en production au CNIP : 1 2 3 4 5 Figure 1 : Projet de data warehouse du CNIP 1. L application Access utilise la base de données de production pour stocker ses données. 2. Les données sont transférées dans la StagingArea à l aide des services SSIS. La Staging Area est une base de données intermédiaire dans laquelle les données sont dénormalisées. 3. Les données dénormalisées sont transférées dans le data warehouse. 4. Les cubes d analyse, qui seront interrogés par les utilisateurs finaux, sont créés et remplis avec les données du data warehouse. 5. Les cubes sont interrogés à l aide d Excel qui envoient des requêtes XMLA (XML for Analysis) au moteur d analyse SSAS. Le projet de data warehouse open source Pour la réalisation du projet open source, un serveur d application Tomcat a dû être installé, dans lequel sont déployées les applications de Business Intelligence qui remplacent les services SSIS et I.Cirillo - 28/06/2011 3/5
SSAS de SQL Server. De plus, le fait d avoir retenu la plateforme décisionnelle SpagoBI fait que ces applications sont incluses dans cette plateforme. Cela permet de centraliser les différentes applications en les rendant mieux gérables et tout le projet gagne entre autre, en maintenabilité et en évolutivité. Voici le schéma représentant le projet de data warehouse en open source : 1 2 3 4 5 6 Figure 2 : Projet de data warehouse en open source 1. L application Access utilise la base de données de production pour stocker ses données. 2. Les données sont transférées dans la StagingArea (base de données PostgreSQL) à l aide des procédures ETL mises en place avec Talend Open Studio. 3. Les données dénormalisées sont transférées dans le data warehouse. 4. Le data warehouse est interrogé par le serveur d analyse Mondrian afin d obtenir les données demandées et les envoyer à JPivot (5) qui permettra leur affichage dans le browser des utilisateurs finaux (6). Mon travail de diplôme s est concentré sur la partie ETL (points 2 et 3). La partie Mondrian / JPivot n a pas été réalisée mais des idées ont quand même été développées sur ce sujet. Le schéma montre donc aussi le travail prévu pour la suite. I.Cirillo - 28/06/2011 4/5
1.1 Conclusion Ce travail de diplôme, comme aussi le travail de laboratoire qui l a précédé, m ont permis d explorer un monde dont j ignorais presque l existence et qui s est révélé extrêmement intéressant : le monde de l informatique décisionnelle. De plus, c est un domaine qui est en pleine évolution et qui acquiert toujours plus d importance. J aurais bien voulu aller plus loin dans la réalisation de ce projet et pouvoir m occuper aussi des parties concernant la mise en place du serveur d analyse et des requêtes pour la construction des tableaux croisés dynamiques avec Jpivot mais le volume de connaissances que j ai dû acquérir pour prendre en main un outil comme Talend Open Studio et pour déployer une plateforme comme SpagoBI a demandé une quantité considérable de temps. De plus, le nombre de difficultés rencontrées par rapport à la migration même du projet, par exemple le passage d une base de données SQL Server vers une base PostgreSQL, ont représenté un frein au développement du projet. Même si dans certains cas j ai pu réutiliser des éléments d anciens travaux de diplôme, j ai dû toujours les vérifier et souvent les modifier afin de corriger des problèmes ou tout simplement d améliorer les performances. Au final, je suis satisfait du travail réalisé et heureux d avoir eu l occasion de participer au développement d un projet de data warehouse utilisant des technologies open source. I.Cirillo - 28/06/2011 5/5