Introduction à ORACLE WAREHOUSE BUILDER - Cedric
Transcription
Introduction à ORACLE WAREHOUSE BUILDER - Cedric
Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l’outil a été conçu. Dans ce support, nous allons introduire l’outil à un très haut niveau afin de vous permettre de comprendre les bénéfices essentiels procurés par cet outil, ainsi ses principales fonctionnalités. 1 Introduction à Warehouse Builder Avant de commencer à regarder le produit, il est important de comprendre ce que fait Warehouse Builder à un haut niveau. Bien qu’on le présente souvent comme un outil Extract, Transform and Load (ETL), Warehouse builder fait bien plus pour les Environnements de Business Intelligence. Warehouse Builder est un outil industriel majeur qui vous permet de concevoir vos schémas de base de données, de définir les processus ETL et déployer tout ceci avec votre base de données ORACLE. Warehouse Builder gère cet environnement et les métadonnées requises à l’aide d’une unique interface. Pour compléter votre système B.I., Warehouse Builder vous permet de générer les métadonnées pour votre outil B.I., de manière similaire à Oracle Discoverer. 1.1 Domaines applicatifs Si vous faites un tour d’horizon des outils pour les entrepôts de données sur le marché, vous trouverez que la plupart des outils disponibles sont focalisés sur une seule fonctionnalité, comme par exemple ETL ou conception de bases de données. Les utilisateurs doivent souvent utiliser plusieurs outils, fournis par differents vendeurs, à des prix élevés, et doivent gérer tous les problèmes liés à l’intégration de ces différents outils. Warehouse builder a un avantage car il s’agit d’une solution complète qui intègre donc toutes les fonctionnalités nécessaires. Fonctionnalité Intégration et gestion des données Conception de systèmes Qualité des données Intégration et gestion de métadonnées Description Extraction, transformation et chargement de données à partir de systèmes hétérogènes Création d’environnements dimensionnels, relationnels et pour utilisateurs finaux, à partir d’un unique outil Fonctionnalités intégrées afin de nettoyer et de corriger n’importe quel type de données Intégration de métadonnées métiers dispersées à l’intérieur d’un repository central pour l’entrepôt de données avec des fonctionnalités de gestion sophistiquées 1 Figure 1: Capacités de OWB 1.2 Conception et génération de code Warehouse Builder est un outil de conception basé sur un repository de métadonnées dans la base Oracle. Par conséquent, un développeur réalise une conception en utilisant des diagrammes et laisse alors Warehouse Builder traduire cette conception en code pour les bases de données. Cette étape est appelée génération. Ensuite le développeur ou le DBA utilise Warehouse Builder pour déployer ce code au sein de la base de données afin de créer les tables, les dimensions, les packages PL/SQL et autres objets des bases de données qu’il a conceptualisé. L’étape suivante consiste à lancer les packages PL/SQL pour charger les données (ETL) dans le schéma cible, qui permet alors à l’utilisateur final d’analyser les données de l’entrepôt. Parce que Warehouse Builder est un outil de conception, il permet à l’utilisateur d’améliorer directement sa productivité. En travaillant avec des représentations graphiques, il devient beaucoup plus facile de changer les processus existant, de créer des nouveaux processus ou d’incorporer de nouvelles fonctionnalités à sa plateforme. 1.3 Valeurs ajoutées à votre organisation En plus d’intégrer plusieurs fonctionnalités au sein d’un seul produit, Warehouse builder apporte à votre organisation les valeurs ajoutées suivantes: 2 Figure 2: Concevoir, générer, déployer et analyser Valeur ajoutée Productivité Performance Exactitude Ouverture Efficacité et coût Description Une productivité accrue à travers des fonctionnalités avancées et l’utilisation d’outils intuitifs pour la conception ainsi que pour la manipulation et gestion des métadonnées Une intégration étroite avec la base de données Oracle fournit à l’organisation de bonnes performances au niveau de la charge L’amélioration de l’exactitude des données et des métadonnées à l’aide des fonctionnalités avancées de Warehouse Builder vous permet de produire de meilleurs systèmes à moindre effort OWB permet d’échanger des métadonnées à l’aide de standards ouverts. Il permet également la connectivité à de nombreuse sources de données. Pour une compagnie souhaitant à la fois disposer d’un vaste ensemble de fonctionnalités pour sa conception, ainsi qu’un prix total raisonnable, OWB qui est un outil complet apparait comme une bonne solution. Pour résumer, d’après ce que l’on a vu concernant les capacités de OWB ainsi que les valeurs ajoutées, OWB apparait comme le seul outil B.I. de conception et d’intégration qui gère le cycle de vie complet des données et métadonnées d’une base de données Oracle. 1.4 Pourquoi choisir OWB... encore des arguments Dans le cas où nous disposons d’un environnement ORACLE DW, il est fréquent d’avoir tous les processus (process en anglais) développés en utilisant PL/SQL et UNIX et gérés par des DBA et les développeurs. Un des avantages à utiliser un outil ETL est l’automatisation et la gestion des processus ETL complexes, principalement dans un environnement de grande taille et complexe conduisant à des cycles de développement très rapides et une demande de production de prototypes en un temps le plus faible possible. Dans cet environnement ORACLE DW et avec ce contexte, le choix OWB plutôt qu’un autre outil ETL est motivés par les facteurs suivants: 3 1. la majorité des membres de l’équipe de développement est familière avec PL/SQL (ou Java) et UNIX. Les développeurs ont ainsi les connaissances pour créer des transformations définies par l’utilisateur en PL/SQL ou Java, qui viendraient compléter les 150 transformations préétablies fournies par OWB; 2. OWB est très étroitement intégré avec Oracle server et peut utiliser de manière optimale les fonctionnalités “ETL” fournit par Oracle server comme “table functions”, “external tables”, “multi-table inserts”, “partition exchange loading”, etc; 3. intégration avec d’autres outils BI d’Oracle tels que Discover, Oracle Designer, Oracle Work Flow et OEM; 4. possibilité d’extraire des données de sources très diverses telles que SAP, R/3, DB2, etc, en utilisant des intégrateurs, des passerelles transparentes, etc; 5. capacité à générer du code (PL/SQL, ABAP (Advanced Business Application Programming, a high level programming language created by SAP)) 6. possibilité d’utiliser les composants d’Oracle Application Server (OracleiAS) pour publier des rapports de métadonnées (meta data report) en version web-like. 1.5 Les différents composants de OWB Les principaux composants de OWB sont: • OWB repository qui stocke les meta définitions utilisées dans le DW ainsi que la bibliothèque de transformations qui contient plus de 150 transformations prédéfinies; • OWB client qui est utilisé pour concevoir le DW et les processus ETL. Ce composant inclus également les intégrateurs et éditeurs et se comporte comme un point d’accès aux autres composants OWB; • OWB design browser client qui permet de visualiser les métadonnées, de lancer des rapports web, analyser les métadonnées,... • OWB runtime audit browser client pour lancer des rapports sur l’audit et sur les informations d’erreur capturées lorsqu’on lance des jobs pour charger et rafraîchir les processus ETL; • OWB runtime assistant qui aide à installer un runtime repository et un schema cible (target schema), ainsi qu’à maintenir à jour les information d’audit/erreur pour le deploiement ou l’exécution. 1.6 Les tâches typiques réalisées avec OWB OWB intervient notamment dans les étapes ou phases typiques suivantes de la vie d’un DW: 1. conception du modèle du DW et de la structure physique 2. identification des sources de (méta) données (SGBD, fichiers plats, etc) 3. conception des processus d’extraction, transformation et chargement (ETL) 4. identification et gestion des changements dans les définitions des sources 4 5. gestion et extension des structures du DW cible 6. intégration avec d’autres outils de business intelligence, tels que les outils de reporting, etc. 7. import ou export de métadonnées afin de faciliter l’échange de données entre différents outils (ouverture) 8. conception et mise en place d’un environnement de reporting de métadonnées 2 OWB architecture L’architecture de OWB est représentée sur la figure 3 ci-après. Le concept au cœur de l’architecture de OWB est le repository qui est stocké dans le serveur Oracle. L’architecture de base comprend 2 composants: • le design time component • le runtime component 2.1 Le design time component Il fournit un repository autorisant un fort passage à l’échelle, des éditeurs pour la conception et des outils de reporting qui permettent de créer et publier les métadonnées. Certains éditeurs incluent: 1. les éditeurs de module qui permettent de définir les modules sources/cibles et les modules d’édition 2. les éditeurs d’objets qui incluent l’éditeur de tables, de dimensions, de faits, etc, permettant d’éditer les propriétés des objets 3. l’éditeur de mappings qui permet de concevoir et de configurer comment les données sont chargées dans le DW cible, et est utilisé pour concevoir une représentation graphique de la relation entre les objets sources de données qui sont utilisées pour peupler les objets cibles du DW. L’éditeur fournit un ensemble d’opérateurs qui peuvent être inclus lors des mappings et des transformations. Il permet également la validation et la génération du code utilisé pour peupler le DW cible 4. l’éditeur de code qui permet d’éditer ou personnaliser le code généré par OWB. Le design time browser permet aussi de voir différent rapports. 2.2 Runtime component Le runtime component inclue the runtime repository et le visualiseur d’audit, qui permet de voir les informations lors de l’exécution des travaux d’ETL qui ont été exécutés en utilisant des outils Oracle tel que Oracle enterprise Manager (OEM). Ces travaux d’ETL sont créés dans le repository OEM lorsqu’ils sont enregistrés avec OEM dans l’éditeur de mappings. 5 Figure 3: Architecture de OWB 2.3 Autres composants Integrators OWB est capable d’extraire des données de sources variées comme des fichiers plats, SAP, d’autres sources Oracle, d’autres bases de données telles que DB2, ou encore des versions plus anciennes de repository OWB. Les intégrateurs sont des composants qui facilitent l’extraction de systèmes non-Oracle comme l’intégrateur SAP R/3. Ils fournissent l’utilitaire MDL (Meta Data Loader) pour l’extraction des métadonnées. Bridges Ce composant permet de transférer les métadonnées à d’autres outils Oracle tels que Oracle discoverer, OLAP, etc. Metabase Cette couche intermédiaire fournit des services à tous les producteurs (sources) et consommateurs (cibles 6 ou autres outils Oracle) de données. Les services comprennent un service multi-utilisateur et verrouillage, des services de génération et de validation, etc. 3 Ce que l’on va voir dans les TPs Après avoir rapidement vu et compris ce que fait Warehouse Builder, nous allons regarder ce que nous allons faire dans ces séances de TPs. Comme nous venons de le voir, il existe de nombreuses fonctionnalités dans OWB. Pour des raisons de temps, nous avons du faire des choix et seulement avons sélectionné les fonctionnalités les plus pertinentes pour démarrer. Nous verrons également en détails les fonctionnalités que nous ne couvrirons pas dans ces TPs. 3.1 Sur quoi nous nous focaliserons Dans les séances de TPs qui vont suivre nous allons nous focaliser principalement sur • Intégration de données ou ETL • Conception de systèmes La raison pour les choix de ces fonctionnalités est qu’ils constituent une part importante de n’importe quelle système Business Intelligence. L’intégration de données est l’activité qui est la plus coûteuse en terme de temps, et la conception de système est typiquement nécessaire avant de pouvoir faire n’importe quel intégration de données. La qualité des données est une fonctionnalité à part au sein de l’outil et par conséquent est séparé des fonctionnalités de l’intégration de données. Cependant intégrer la qualité des données dans l’outil fournit certains bénéfices notables au client, et par conséquent nous avons choisi de travailler un sous-ensemble des fonctionnalités de qualité de données dans nos TPs. Ce constant est également valable pour le Metadata Reporting, qui offre souvent un bénéfice significatif au client. Utilisé lors de la collecte et l’intégration de métadonnées, Metadata Reporting est un point crucial de n’importe quel projet d’intégration de données. Par conséquent nous jeterons également un œil aux fonctionalités de compte-rendu concernant les métadonnées dans OWB. 3.2 Autres fonctionnalités importantes Afin de comprendre toute la puissance de l’outil OWB, il faut également connaître les autres fonctionnalités non-couvertes par les TP. Nous les présentons par famille de fonctionnalités, par exemple par “conception de systèmes” nous entendons, les fonctionnalités non-présentées dans ces TPs dans le domaine de la conception de systèmes. 3.2.1 Conception de système • la création d’un système ON-Line Analytical Processing (OLAP) est seulement présenté lors des TPs comme une partie du travail de conception de système 7 • la conception de schémas: la conception un schéma normalisé est souvent utilisé dans un entrepôt de données. Dans les TPs nous ne présenterons pas cette fonctionnalité car cette conception est généralement connue par les concepteurs d’entrepôts de données. Nous nous focaliserons plus sur la modélisation des dimensions. La conception de schéma inclus des choses comme la définition des vues, des vues matérialisées, etc. Vous pouvez définir, maintenir et créer tout ceci dans OWB pour compléter votre conception de schéma, sans avoir à utiliser un autre outil. • la gestion du cycle de vie: elle vous permet de gérer les changements dans les systèmes source ou cible. OWB vous permet de manipuler et propager les changements dans l’environnement de votre entrepôt, de manière rapide et simple. 3.2.2 Intégration de données • fonctionnalités diverses: un grand nombre de fonctionnalités avancées ou très spécifiques ne sont pas abordées dans ces TPs. Par exemple ce qui concerne les files d’attente des messages source ou cible, l’envoi d’emails à partir du flux de traitements, et bien d’autres • Transformations: OWB comprend un grand nombre de transformations prédéfinies (transformations de caractères, conversions, format de date, de nombres, transformations OLAP). Dans ces TPs seuls un sous-ensemble de ces transformations seront abordées. • chargement d’un système OLAP: puisque lors de ces TPs nous n’aurons sans doute pas le temps de travailler avec OLAP, nous ne verrons pas le mécanisme de chargement d’une base OLAP depuis n’importe quelle source. • Chargement dans une partition d’échange: cette fonction vous permet de charger les données dans une table temporaire et alors de changer celle-ci en une partition d’une table beaucoup plus grande. Ce processus de chargement est très rapide et efficace et estcomplètement automatisé par OWB • sources de données hétérogènes: OWB permet nativement une connectivité avec des systèmes SAP en utilisant du code ABAP généré pour extraire des données de SAP. L’outil OWB supporte également différentes approches pour charger à partir de serveurs centraux et supporte ODBC 3.2.3 Qualité des données • Nettoyage du nom et de l’adresse: un composant important et déjà intégré dans OWB vous permet de vérifier l’exactitude des noms et des adresses dans votre système source avant de les déplacer dans l’entrepôt de données cible. Typiquement vous voulez faire cela avant d’utiliser les fonctionnalités “match/merge”, afin de travailler ainsi sur des données propres et correctes. • Match/Merge: intégré dans OWB, cette fonctionnalité permet de faire des détections et fusions avancés de n’importe quel type de données. En s’appuyant sur les règles métiers, vous pouvez fusionner plusieurs enregistrements en un enregistrement unique, créant une unique base d’enregistrements pour vos analyses. 3.2.4 Intégration de métadonnées • Version des métadonnées: OWB supporte la gestion des version à un niveau objet 8 • Détermine la différence entre version: OWB vous permet d’obtenir un rapport des différences entre versions ou entre la situation actuelle et une vieille version. Vous pouvez ainsi déterminer avec quelle version travailler. • Support de langages multiples: OWB vous permet à la fois de stocker les métadonnées dans le repository dans différents langages, et de lancer OWB dans votre langue préférée 3.2.5 Ouverture • API publiques: des APIs java publiques sont disponibles pour donner aux applications externesun accès direct en lecture/écriture au repository OWB • Vues SQL publiques: OWB fournit un accès SQL en lecture-seule au métadonnées dans le repository de OWB 4 Refaire le TP chez vous Nous vous donnons maintenant la technique pour installer OWB chez vous, ainsi que les données d’essai que nous utiliserons en TP. Il s’agit d’instruction pour windows. On suppose que vous posséder également une base (avec un serveur) Oracle. 4.1 Installer OWB • aller sur le site http://www.oracle.com/technology/software/products/warehouse/index.html • choisissez le fichier correspondant à votre configuration, en général le premier lien (pour les utilisateurs de linux, il est possible de l’installer, mais les jeu d’essai n’existe que pour windows). • supposons que j’ai choisi le premier lien, je télécharge le fichier OWB_10.2.0.1.win.zip que je sauve sur mon disque dur • si besoin, lorsque c’est demandé, créez vous un compte sur le site Oracle 4.2 Installer les jeux d’essai • aller sur le site http://www.oracle.com/technology/products/warehouse/selfserv_edu/reviewersguide.html • cliquer sur le petit ordinateur dans le tableau, correspondant à la colonne delivery • télécharger ce fichier reviewCD.zip sur votre ordinateur • une fois déarchiver, lancer le programme d’installation 9 4.2.1 Où trouver de la documentation seulement en anglais malheureusement! • le guide d’installation de Oracle warehouse Builder http://download-uk.oracle.com/docs/html/B12150_01/toc.htm • le guide utilisateur de OWB http://download-uk.oracle.com/docs/html/B12146_01/toc.htm • OWB - présentation pédagogique par Oracle http://www.oracle.com/technology/products/warehouse/selfserv_edu/self_service_education.html • présentation en anglais du TP http://www.oracle.com/technology/products/warehouse/selfserv_edu.. ../Reviewers%20Guide%20for%20Oracle%20Warehouse%20Builder.pdf • la page Oracle générale sur OWB http://www.oracle.com/technology/products/warehouse/index.html 4.2.2 Se connecter à distance sur votre compte au CNAM sous linux Pour ceux ne travaillant pas sous windows et souhaitant refaire le TP, il est possible de se connecter sur votre compte au CNAM et travailler a distance. Il faut alors faire les étapes suivantes: • dans un terminal taper la commande ssh -X [email protected] • une fois saisi le mot de passe vous êtes maintenant sur le serveur vlad (le seul accessible depuis l’extérieur) • connectez-vous ensuite sur le serveur odessa avec ssh -X santorin • une fois connecté sur la machine vous pouvez ensuite lancer les scripts de paramétrage (cf démarrage présenté lors du premier TP) 4.2.3 Premiers tests • une fois sur odessa, fixer le nom de la base que vous souhaiter “attaquer” en tapant: export ORACLE_SID=NFE115 • essayer de vous connecter avec votre compte en faisant sqlplus avec votre login/password • placez vous dans le repertoire de owb avec la commande cd /opt/oracle/product/11.1.0/db_1/owb/bin/unix • tester la commande suivante ./reposinst.sh 10