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