Vous êtes sur la page 1sur 61

rn1

Diapositive 1 rn1
i016851; 09/01/2013

F. Boufars & R. Nefoussi


{boufares}@lipn.univ-paris13.fr LIPN : Bureau A109

Laboratoire LIPN Universit Paris 13

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

Plan

Partie 1
1- Introduction P1 2- Architecture, Maintenace des Data Warehouses (DWH) 3- Conception logique des data warehouses 4- Implantation et Administration des DWH 5- ETL : Alimentation des data warehouses 6- Optimisation des des data warehouses P2 P3 P4

ARCHITECTURE, MISE EN PLACE ET MAINTENANCE DES DWH

7- TALEN + Oracle Warehouse Builder; Quelques ETL du march 8- Modlisation et gnration des Reporting avec BO 9- SQL Avancs P5 P6
M. F. Boufars & R. NEFOUSSI, UP13

2012 - 2013

1. Introduction
La majeure partie des applications Bases de Donnes reposent aujourd'hui sur trois couches. La couche la plus externe est celle de qui permet de prsenter les donnes aux utilisateurs. Elle est appele "Graphical User Interfaces GUI". La couche application intermdiaire inclut le programme de l'application elle mme et ne stocke pas les donnes. La couche la plus interne gre le stockage des donnes. Elle est appele la couche Base de Donnes.

1. Introduction
Les applications interrogent les donnes avec par exemple le langage SQL "Select" et les mettent jour par l'intermdiaire des oprations "Insert, Update et Delete" qui constituent des transactions. Celles-ci doivent avoir certaines proprits telle que l'atomicit, la consistance Ce type d'application est appel "On-Line

Transaction Processing OLTP".

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

1. Introduction
Couche Prsentation Graphical User Interfaces GUI GUI

1. Introduction
Donnes volumineuses & Besoins nouveaux Systmes dInformation Dcisionnel ; Systmes dAide la Dcision : Rapports, Etats, Tableaux de Bord, Graphiques, Synthses, Groupement, Agrgat, Rsum (Repoting Tools, Management Information System, Executive Information System, Decision Support System DSS).

Couche Application

OLTP application
Insert, Delete, Update

OLTP application

Decision Support System

Read, Select Couche Bases de Donnes BD1 BD2

External source (File System , ftp, w ww , )

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

1. Introduction
Contrairement aux applications OLTP, qui consultent et mettent jour les donnes des BD oprationnelles, les DSS lisent les donnes seulement pour avoir de nouvelles informations partir des donnes sources. Le bnfice de cette approche est que seulement les BD oprationnelles ont tre cres et maintenues. Un ensemble de mta-donnes est utiliss pour les 2 systmes. Les DSS ne ncessitent que des travaux supplmentaires mineurs.

1. Introduction
Cependant, il y a plusieurs dsavantages quand le DSS et les application OLTP se partagent les mmes BD.
Le DSS ne peut utiliser que les donnes actuellement stockes dans les BD ; et donc les analyses historiques sont souvent impossibles cause des oprations de mises jour qui changent les donnes historiques. Lutilisation des BD en mode multi-utilisateurs, ce qui implique des oprations de verrouillage des donnes (Locking operations) et donc des problmes de performances ; car les requtes analytiques demandent laccs de trs grands nombre de tuples.

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

1. Introduction
La solution est de sparer la BD oriente Transaction de la BD oriente Aide la Dcision ; do la naissance du concept Data Warehouse = Entrept de Donnes.

1. Introduction
Data Warehouse : Daprs le dictionnaire
Un entrept de donnes est une structure informatique dans laquelle est centralis un volume important de donnes consolides partir des diffrentes sources de renseignements d'une entreprise (notamment les bases de donnes internes) et qui est conue de manire que les personnes intresses aient accs rapidement l'information stratgique dont elles ont besoin. Si, dans le pass, l'entrept de donnes servait davantage l'archivage, aujourd'hui il est devenu une pice matresse de l'informatique dcisionnelle (ou informatique d'aide la dcision). Il reprsente l'un des lments essentiels d'un ensemble matriel et logiciel dynamique de recherche d'informations. Dans un entrept de donnes, les donnes sont : slectionnes et prpares (pour rpondre aux questions vitales de l'entreprise), intgres ( partir des diffrentes sources de renseignements) et dates (elles gardent la trace de leur origine).

Les DW sont physiquement spars des SGBD oprationnels (BD oprationnelles).

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

10

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

11

1. Introduction
Datamining : Data Warehouse : Dfinition de Bill Immon (1996) Collection de donnes orientes pour un sujet, intgres, non volatiles et historises, organises pour le support du processus daide la dcision Il sagit base de donnes dans laquelle sont dposes aprs nettoyage et homognisation les informations en provenance des diffrents systmes de production de lentreprise Datamart: Est un sous-ensemble de lentrept de donnes, dfini lintention dun dpartement prcis de lentreprise.
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 12

1. Introduction
Selon SAS-INSTITUTE, il s'agit du processus de slection, exploration, modification et modlisation de grandes bases de donnes afin de dcouvrir des relations entre les donnes jusqu'alors inconnues. En outre, bien qu'utilisant des techniques et une dmarche statistique, le Data Mining et ses outils sont appels tre utiliss par des non-statisticiens praticiens spcialistes du problme modliser. Les applications du Data Mining sont multiples, elles concernent: la grande distribution, la vente par correspondance, les oprateurs de tlcommunications, les banques et assurances, etc. Le domaine majeur o le Data Mining a prouv son efficacit est la gestion de la relation client (CRM ou Customer Relationship Management). En effet, le Data Mining permet par une meilleure connaissance de la clientle d'accrotre les ventes.
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 13

1. Introduction
Couche Prsentation Graphical User Interfaces GUI GUI

1. Introduction
Le DW intgre des donnes partir de sources multiples et htrognes afin de rpondre aux requtes du systme daide la dcision. Ce type dapplication est appel On-Line Analytical Processing OLAP . OLAP permet la transformation des donnes en information stratgiques.

Couche Application

OLTP application
Insert, Delete, Update

OLTP application

OLAP application
Read, Select

Couche Bases de Donnes

BD1

BD2

Target DataBase Load Data W areHouse

External source (File System , ftp, w ww , )

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

14

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

15

1. Introduction
OLAP est un terme pour dcrire l'approche dimensionnelle de l'aide la dcision. Tout comme le modle relationnel, OLAP a t propos par
le Dr Edgar Codd(1923-2003) IL est dfini initialement (1993) par douze rgles qui reprsentent l'talon de mesure servant comparer les systmes OLAP. 6 critres ont t ajouts en 1995, et ont t reclasss en 18 fonctionnalits

1. Introduction : fonctionnalits de base B


F1-Multidimensional ConceputalView(Rgle originale 1) Permet d'avoir une vision multidimensionnelle des donnes. F2-Intuitive Data Manipulation (Rgle originale 10) La manipulation de donnes se fait directement travers les cellules d'une feuille de calcul, sans recourir aux menus ou aux actions multiples. F3-Accessibility : OALP as a Mediator (Rgle originale 3) OLAP est dcrit comme un middlewarequi se place entre les sources de donnes htrognes et un front-end F4-Batch extraction vs Interpretive (Nouvelle) La base OLAP dispose de deux niveaux de donnes, atomiques et agrges (HOLAP) atteignables de faon transparentes

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

16

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

17

1. Introduction : fonctionnalits de base B


F5-OLAP AnalysisModels (Nouvelle) Support des quatre modles danalyse Categorical (reporting) Exegetical(interactif avec front-end) Contemplative (What-if) Formulaic(Datamining) F6-Client-Server Architecture (Rgle originale 5) Il est essentiel que le produit soit Client-Serveur mais aussi que les composants serveur d'un produit OLAP intgre facilement ses diffrents clients. F7-Transparency (Rgle originale 2) L'utilisateur ne doit pas se rendre compte de la provenance des donnes si celles-ci proviennent de sources htrognes. F8-Multi-User support (Rgle originale 8) Les outils OLAP doivent fournir des accs concurrents, l'intgrit et la scurit.

1. Introduction : fonctionnalits spciales S


F9-Treatment of Non-Normalized Data (Nouvelle) Il doit tre impossible de modifier manuellement les donnes prcalcules F10-Storing OLAP Results: Keeping Them Separate from Source Data (Nouvelle) Les donnes de transactions doivent tre maintenues sparment des donnes dexploitations OLAP F11-Extraction of Missing Values (Nouvelle) Les valeurs absentes doivent tre traites comme des NULL et non pas comme des 0 F12-Treatment of Missing Values (Nouvelle) Les valeurs absentes doivent tre ignores par lanalyseur OLAP

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

18

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

19

1. Introduction : fonctionnalits Report R


F13-Flexible Reporting (Rgle originale 11) Lors de la cration de rapports, les dimensions peuvent tre prsentes de n'importe quelle manire. F14-Uniform Reporting Performance (Rgle originale 4) Les performances ne doivent pas tre diminues lors d'augmentation du nombre de dimension ou de la taille de la base de donnes. F15-Automatic Adjustement of Physical Level(Rgle originale 7) Le systme OLAP ajuste automatiquement son schma physique pour s'adapter au type du modle et au volume des donnes.

1. Introduction : fonctionnalits de contrle de


dimensions D
F16-Generic Dimensionality (Rgle originale 6) Chaque dimension doit tre quivalente par rapport sa structure et ses capacits oprationnelles. F17-Unlimited Dimensions & Aggregation Levels (Rgle originale 12) Dimensions et niveaux d'agrgations illimits. -Techniquement, aucun produit ne se soumet cette caractristique parce que il n'y a pas d'entit illimite sur un ordinateur limit! F18-Unrestricted Cross-dimensional Operations (Rgle originale 9) Les calculs doivent tre possibles travers toutes les dimensions.

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

20

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

21

1. Introduction : FASMI
En constatant que les rgles de Cood taient trop compliques, des auteurs indpendants ont proposs une dfinition OLAP simple FASMI
F : Fast A : Analysis S : Shared M : Multidimensional I : Information

1. Introduction : FASMI

Fast

Le systme doit tre conu pour rpondre aux requtes de l'utilisateur en moins de cinq secondes
Les analyses trs simples moins d'une seconde Les plus compliques, environ 20 secondes. Les temps de rponses doivent tre bon mme avec beaucoup de donnes Si le systme est trop lent, les utilisateurs estiment que lapplication est plante Ncessite des architectures de stockage ddies et des algorithmes de prtraitement.

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

22

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

23

1. Introduction : FASMI

Analysis

1. Introduction : FASMI

Shared

Le systme peut prendre en compte n'importe quel domaine ou analyse statistique, et fournir un rsultat exploitable par l'utilisateur final, sans avoir utiliser un langage de programmation L'utilisateur doit au moins pouvoir dfinir de nouveaux calculs ad-hoc et obtenir des tats sous la forme souhaite, sans programmation. L'analyse peut concerner des sries temporelles, allocations de cot, conversions de devises, recherche d'objectifs, gestion d'exceptions, etc.

Toutes les conditions de scurit et de confidentialit doivent tre remplies.


- ventuellement jusqu'au niveau de la cellule

Le systme doit en particulier grer les accs multiples en criture en toute scurit.

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

24

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

25

1. Introduction : FASMI

Multidimensional

1. Introduction : FASMI

Information

C'est la condition essentielle des applications OLAP. Les systmes OLAP peuvent fournir une vue "conceptuelle" multidimensionnelle des donnes, incluant le support des hirarchies simples ou multiples.

Linformation comprend l'ensemble des donnes et des informations drives, quel que soit leur volume et leur stockage.

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

26

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

27

1. Introduction
Un systme de DW peut tre formellement dfini comme un triplet <BD cible, mta-donnes, un ensemble doprations>. Lensembles des oprations peut tre prsents en 4 catgories. Extraction (Extraction): Ces oprations permettent de filtrer les donnes partir de donnes sources (BD, fichiers, sites web) dans des BD temporaires. Transformation (Transformation): Ces oprations permettent de transformer les donnes extraites dans un format uniforme. Les conflits entre les modles, les schmas et les donnes sont rsolus durant cette phase. Chargement (Load) : Ces oprations permettent de charger les donnes transformes dans la BD cible. La BD cible est souvent implante avec un SGBD relationnel-objet. Agrgat et Groupement (Agregating and Grouping) : La BD cible doit permettre de stocker les donnes oprationnelles et les donnes issues de calculs.

1. Introduction
Les donnes des entreprises sont gnralement : - Surabondantes - Eparpilles - Peu structures pour lanalyse - Focalises pour amliorer le quotidien Prise de dcision difficile Apparition doutils et de techniques visant prparer les donnes pour lanalyse :

Le Data warehousing
Il sagit dune technique visant extraire des donnes de diffrentes sources afin de les intgrer selon des formats plus adapts lanalyse et la prise de dcision
28 2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 29

Les mta-donnes telles que la description des structures des donnes et les contraintes sont trs utiles pour contrler la validit des donnes.
M. F. Boufars & R. NEFOUSSI, UP13

2012 - 2013

2. Architecture des DWs


Dictionnaire des Meta-donnes
MVS (TSO,JCL,DB2,..)

2.1 Problmatique gnrale


Le systme dinformation

OLAP Server
Oracle Express

Data select (requtes)

UNIX (,Aix,Oracle,..)

E (Xtract) T (translate) L (oad)

Business Object (rapports, analyse)

La mondialisation des changes Les diffrentes donnes de lentreprise La prise de dcision

Data Warehouse

Le dcisionnel au sein du systme dinformation


Oracle 9i (Olap) SAS (Datamining)

Transformer les donnes de Production sous forme dinformations Le S.I doit avoir la lourde tche dassurer aux dcideurs les donnes ncessaire pour une prise de dcision

Windows (sql server, excel, etc ..)

Data Marts

Applications En Production
2012 - 2013

Contrle et chargement des donnes

OLAP

Outils Front-End
30 2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 31

M. F. Boufars & R. NEFOUSSI, UP13

2.2 Pourquoi Un DWH ?

2.3 Comment le construire ?

Difficult et la complexit de lenvironnement Concurrence de plus en plus agressive Importance de la rapidit de la prise de dcision Rglementation

Composantes de base dun DWH Processus de base dun DWH

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

32

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

33

2.3.1 Composants de base dun DWH


Systme oprationnel Zone de prsentation des donnes Serveur de prsentation Modle dimensionnel Processus mtier Data mart Data mining Entrept de donnes Olap Rolap : Relational On-Line Analytical Processing. mais au lieu de faire des simulations, on analyse. Molap : Multidimentional On-Line Analytical Processing. utilisant une base de donnes multidimentionnelle. Outils de requte Mtadonnes

2.3.2 Processus de base dun DWH

Outil daccs aux donnes

Extraction Transformation Alimentation et indexation Contrle qualit Diffusion Mise jour Requtes Rinjection des donnes Surveillance et scurisation Sauvegarde et restauration

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

34

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

35

3. Conception logique des DWs


- Dfinition des objets - Dfinition des relations entre les objets

3. Conception logique des DWs

Choix dun modle de conception (Schma) Utilisation, par exemple, d Oracle Designer ou Oracle Warehouse Builder

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

36

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

37

3. Conception logique des DWs

3. Conception logique des DWs


Table dimension Table dimension

Table des faits

Table des faits

Table assez volumineuse

Table peu volumineuse

Schma en toile (star schema)

Schma en flocons (snowflake schema)

Schma en constellation (galaxy schema)


2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 38 2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 39

3. Conception logique des DWs

3. Schmas des DWs

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

40

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

41

3. Schmas des DWs

3. Schmas des DWs

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

42

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

43

3. Les objets intervenant dans les schmas


Les tables de faits (Fact tables)
- Les faits numriques (les mesures) - Les cls trangres vers les tables de dimension

Partie 2

Les tables de dimension (Dimension tables)


Composes dune ou de plusieurs hirarchies catgorisant les donnes

IMPLANTATION ET ADMINISTRATION DES DWH

Lidentifiant unique
Pour distinguer les enregistrements dans les tables

Les relations entre les objets


Elles assurent lintgrit des oprations

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

44

4.1 Implantation physique des DWs (Oracle 9i)


Mise en uvre : Vues relationnelles matrialises dfinies sur les bases sources, dcouples (indpendantes) des sources

4.1.1 Implantation physique des DWs (Oracle 9i)


Phase 1 : Il faut assurer la migration : - des entits vers des tables - des relations vers des cls trangres

Interrogation : BD multidimensionnelles ; outils OLAP

- des attributs vers des colonnes - des identifiants uniques vers des cls primaires

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

46

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

47

4.1.2 Implantation physique des DWs


Phase 2 :
Il faut crer un ensemble des structures parmi les suivantes : - les tablespaces - les tables et les partitioned tables - les vues - les contraintes dintgrit - les dimensions ...

4.2 Exemple de mise en place dun DW


Objectif du DW : Gestion du risque des organismes financiers

Agence Famille, particulier

Peugeot Fichiers Plats Citroen

Et pour amliorer les performances:


- les index et les partitioned index - les vues matrialises
M. F. Boufars & R. NEFOUSSI, UP13

Entreprise, Usine,etc..

Fiat Audit Liste fabricant


M. F. Boufars & R. NEFOUSSI, UP13

Type de contrat
48 2012 - 2013

Trt donnes collectes


49

2012 - 2013

4.2 Architecture technique


Gros Systmes (Fiat : Italie, France,Belgique,Portugal)
Gestion des clients particuliers Appli1 (gest Clients) Appli2(Gest des contrats) Appli3 (Gest Financement) Gestion des Agences Appli1 (gest Clients) Appli2(Gest des contrats) Appli3 (Gest Financement) Gestion des socits Appli1 (gest Clients) Appli2(Gest des contrats) Appli3 (Gest Financement)

4.2 Dfinition du primtre


Objectif : mise en place du DW Gestion des risques des pays suivants: * Italie * France * Belgique * Portugal Primtre technique : la socit PRESTDW doit faire : * Le recensement des donnes utiles * le collecte et la dfinition des donnes * Description de la structure des fichiers Partie Fixe Partie Variable * La mise en place de ETL : Extraction des donnes partir des applications existantes des diffrents constructeurs (Bases DB2) Transformation des donnes L : Chargement des donnes * La cration, suivi et la maintenance du DW Partie Matriel informatique : la partie matriel est dj en place : Toute les applications existantes des # constructeurs sous Gros systme Envoi des fichiers sera fait par CFT (envoi scuris) 3 machines Unix (Dev, Valid et Production) chez PRESTDW
M. F. Boufars & R. NEFOUSSI, UP13

DB2

PrestDW : (Prestaire Informatique) Machines Unix (Dev,Valid,Prod)

Gros Systmes (Peugeot) Gros Systmes (Citroen) Gros Systmes (Audit)

Fichiers Plats

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

50

2012 - 2013

51

4.2 Collecte des donnes


Pays : France , Constructeur FIAT
Partie Fixe : Pays : 10 caractres Constructeur : 30 caractres Application : 10 caractres code traitement : 20 caractres numriques code fichier : 20 caractres numriques filler 100 Partie variables : Liste des colonnes du fichier (exemple fichier Client) id client : 10 caractres Nom : 30 caractres Prenom : 10 caractres Statut du client : 20 caractres numriques filler 200

4.2 Liste des fichiers (Par Pays et par type dapplication)


Flux codification (6 fichiers) => Nbre Total 6 *3 * 4 = 62 Pays Constructeur Application Codification Valeur_codification Codification_pays application Flux financement (4 fichiers) => Nbre Total = 48 Financement prlvement_impay Garantie caractristiques Flux Client (2 fichiers) => Nbre Total = 24 Client Caractristiques du client Flux impays (1 fichiers) => Nbre Total = 12 Impays Flux Report-payement (1 fichiers) => Nbre Total = 12

Nous allons avoir 12 fichiers clients : - un fichier par type de contrat (socit, particulier et agences) * 4 pays

Report des payements

DB2
M. F. Boufars & R. NEFOUSSI, UP13 M. F. Boufars & R. NEFOUSSI, UP13

Unix

2012 - 2013

52

2012 - 2013

53

4.2 Prparation de lETL


1. Cration dune table DB2: liste des mnemeoniques - id_mnemo - nom_mnemo - type - longueur - table_origine - libell 2. Cration dune table DB2: liste des fichiers - id_pays - id_appli - Liste des colonnes

4.2 Prsentation de lETL


Partie Gros systme 1. Gnration du fichier de donnes 2. Crnration du fichier de contrle 3. Contrle des donnes 4. Etc Partie Unix 1. Envoi des fichiers via (CFT) vers Unix 2. Chargement des donnes dans TEMPO 3. Application des contrles 4. Liste des rejets 5. Avoir en automatique ou validation ou rejet des donnes aprs contrle 6. Etc c 7. Chargement dans le dfinitif des donnes cohrentes 8. Mise en palces des Datamart et doutils pour la partie dcisionnelle Liste des tables DB2
2012 - 2013

1. Gnration du fichier 2. Gnration du fichier contrle

Liste des tables DB2

PREPARATION de lETL

GENERATION DES PREMIERS OUTILS DE lETL


54

ETAPE de lETL
M. F. Boufars & R. NEFOUSSI, UP13 55

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

5. Administration dun DWH

5.1 Grer lenvironnement de Data Warehouse existant


Assistance des utilisateurs: Former les utilisateurs aux outils dinterrogation de la base Mettre la disposition des utilisateurs une bibliothque de requtes Aider les utilisateurs pour le dveloppement des requtes optimises Grer lexploitation du DWH: Grer linfrastructure technique et accs aux donnes Optimiser les performances de la base de donnes Maintenir les processus de gestion des donnes et des mtadonnes Evaluer le succs du DWH et faire sa promotion Surveiller les mtriques dvaluation de la russite et du service Recenser les dcisions prises laide du DWH Promouvoir activement le DWH

Grer lenvironnement du DWH existant Prparation du croissance et de lvolution du DWH Exemple doutils pour la maintenance dun DWH

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

56

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

57

5.2 Prparer la croissance et lvolution du DWH Prvoir lvolution de lespace disque


Utiliser les outils pour contrler les tablespaces Prvoir des disques supplmentaires

6 Exemple doutils pour la maintenance et loptimisation dun DWH


Dveloppement par ladministrateur de la base des scripts pour le suivi quotidien du DWH. Progiciels
OEM Toad Precise (rachet par VERITAS) Relationnel Tool

Hirarchiser les priorits des opportunits de croissance et dvolution


Quels sont les projets les plus prioritaires ? Quelles sont les actions de maintenances les plus prioritaires ? Quels sont les donnes errones reprendre en priorit ?

Utilisation de Package dOracle pour optimisation des requtes :


TKPROF Utlbstat et Utlestat Statpack

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

58

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

59

6.1 Quelques Scripts du DBA, pour le suivi de la base (


analyze5pct.sql : Analyse statistique d'un schma. chained_rows.sql : Affiche les tables ayant des enregistrements chans. free_tbs.sql : Espace libre pour chaque tablespace. invalid.sql : Liste des objets invalides. nr_extents.sql : Objets dpassant un certain nombre d'extensions. rbs_status.sql : Statut des rollbacks. space.sql : Espace libre pour chaque tablespace. object_extent.sql : Objets ne pouvant plus s'tendre. TbsCoalesce.sql : Liste de tous les tablespaces de la base avec pour chacun, son pourcentage de fragmentation. tbs_offline.sql : Listes des tablespaces non actifs. index_unusuable.sql : Listes des index UNUSUABLE. frag_table.sql : Etat de la fragmentation des tables. unused_col_tab.sql : Tables ayant des colonnes UNUSED.

6.2 Interface Oracle Entreprise Manager (OEM)

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

60

5.3.2 Interface TOAD

6.3 PRECISE Activit courante de la base :


Liste des requtes en cours:
User, Dbut dexcution de la requte Temps dexcution de la requte Script de la requte dans lexcution est en cours Etc ..

Activit rcente de la base Objets de la base Performance du DWH


M. F. Boufars & R. NEFOUSSI, UP13 M. F. Boufars & R. NEFOUSSI, UP13

2012 - 2013

62

2012 - 2013

63

5.3.2 OUTIL PRECISE

5.3.2 OUTIL PRECISE

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

64

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

65

6.4 RT: pour lextraction et le chargement dun jeu dessai cohrent Access Definition :
Dfinit les liens fonctionnel entre les # tables permettant ainsi de dfinir un ensemble fonctionnel cohrent

RELATIONAL TOOLS

Cration des requtes dextraction des donnes dfinit dans un Access Definition Cration des requtes de chargements partir dun fichier dextraction ETC.

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

66

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

67

6.5 Utilisation des Packages dOracle, pour loptimisation des requtes SQL

6.6 TKPROF
Mettre la base ou la session en mode Trace :
Base : mettre SQL_TRACE=TRUE dans init.ora Session : alter session set SQL_TRACE TRUE

Utilisation de TKPROF Utilisation de utlestat et utlbstat Utilisation de Statpack DOracle

Utilisation de TKPROF :
TKPROF fichier_entree.trc fichier_sortie [ [Explain=username/password] [sys=no] [insert=filename] [print=entier]

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

68

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

69

6.7 TKPROF
Rsultat de TKPROF : Count : Nombre de fois que la commande SQL a t excute cpu : Temps total CPU en centime de seconde elapsed : temps total coul pour chaque tape phys : Nombre de block physique lus sur disque Cr : Nombre de fois quune ancienne version du buffer a t utilise (lecture consistante) Cur : Nombre de fois que la version courante du buffer a t utilise. La quntit cr+cur donne le nombre de blocks ramens en mmoie. Rows : nombre de lignes trouves par lOrdre SQL)

6.8 Utlbstat et Utestat


Utlbstat :
permet le collecte des statistiques par lalimentation des vues de la base

Utlestat : permet ldition dun tat de lactivit de la base en sappuyant sur les donnes statistique collectes par Utlbstat.sql

Ils sexcutent partir de SQL*PLUS connect en tant que SYSDBA

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

70

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

71

6.9 Utlbstat et Utlestat : Report.txt


Installation
Statistic Total Per Transact Per Logon Per Second --------------------------- ------------ ------------ ------------ -----------SQL*Net roundtrips to/from 15 15 15 .71 background timeouts 21 21 21 1 bytes received via SQL*Net 916 916 916 43.62 bytes sent via SQL*Net to c 601 601 601 28.62 calls to get snapshot scn: 6 6 6 .29 calls to kcmgas 1 1 1 .05 calls to kcmgrs 16 16 16 .76 commit cleanouts 10 10 10 .48 commit cleanouts successful 10 10 10 .48 consistent gets 4 4 4 .19 cursor authentications 4 4 4 .19 db block changes 26 26 26 1.24 db block gets 27 27 27 1.29 enqueue releases 15 15 15 .71 enqueue requests 9 9 9 .43 execute count 6 6 6 .29 free buffer requested 4 4 4 .19 logons cumulative 1 1 1 .05 messages received 1 1 1 .05 messages sent 1 1 1 .05 opened cursors cumulative 2 2 2 .1 parse count (hard) 4 4 4 .19 parse count (total) 6 6 6 .29 recursive calls 2 2 2 .1

6.10 Statpack
- Excution du script spcreate.sql

Collecte des statistiques


- manuelle : statspack.snap - automatique : spauto.Sql

Compte-rendu de Statpack
- Cinq premiers vnement Wait - Liste complte des vnements Wait - Informations sur les instructions SQL - E/S des TBS et des fichiers - Statistiques sur lactivit de linstance

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

72

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

73

7. Maintenance des DW
Problme : Lorsque les relations de base sont modifies, comment rpercuter la mise jour sur les vues ?

7. Maintenance des DW
Quand et comment assurer les mises jour (la maintenance) dun data warehouse ? Quelles anomalies peuvent tre causes par la maintenance ? A quel niveau pourrait-on automatiser cette maintenance ?

Rponses : - Recalculer la vue entirement ? - Recalculer la vue partiellement ?

Comment mesurer et assurer la performance et quels critres choisir ? La maintenance ou l'auto-maintenance pourra t-elle elle seule garantir la performance ?

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

74

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

75

7.1. Stratgies de maintenance des DW


Stratgies de maintenance : - Maintenance priodique - Maintenance immdiate - Maintenance diffre

7.1.1. Maintenance priodique

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

76

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

77

7.1.2. Maintenance immdiate

7.1.3. Maintenance diffre

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

78

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

79

7.2. Type de maintenance des DW


Types de maintenance : - Maintenance de donnes - Maintenance structurelle - Redfinition des vues - Reconfiguration du DW - Evolution du DW

Maintenance de donnes

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

80

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

81

Maintenance structurelle

Maintenance structurelle

Sources R1 ( W, X, Z ) R2 ( X, Y )

Dpart DW Dpart V = Projection [W] ( Jointure R1 avec R2 sur X )

Sources R1 ( W, X, Z ) R2 ( Y )

Arrive DW

Arrive

V = Projection [W] ( Jointure R1 avec R2 sur X ! )

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

82

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

83

Redfinition des vues

Redfinition des vues

Sources R1 ( W, X, Z ) R2 ( X, Y, Z )

Dpart DW Dpart V = Projection [W] ( Jointure R1 avec R2 sur X )

Sources R1 ( W, X, Z ) R2 ( X, Y, Z )

Arrive DW Arrive V = Projection [Y] ( Jointure R1 avec R2 sur X )

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

84

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

85

Reconfiguration du DW

Reconfiguration du DW

DW = {V1, V2, V3, V4, V5, V6 }

Dpart

DW = {V1, V3, V6, V8, V9 }

Arrive

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

86

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

87

Evolution du DW

Evolution du DW
DW = {V1, V2, V3, V4, V5, V6 } Dpart

V1, V3, V5 sont des vues matrialises (stockes dans le DW) V2, V4, V6 sont des vues non matrialises (calcules la suite d une requte de consultation)

DW = {V1, V2, V3, V4, V5, V6 }

Arrive

V2, V3, V4 sont des vues matrialises (stockes dans le DW) V1, V5, V6 sont des vues non matrialises (calcules la suite d une requte de consultation)

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

88

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

89

7 (ETL)
Extraire, Transformer et Charger les donnes dun DWH

Partie 3

Extraction (E) :
Utilisation Utilisation Utilisation Utilisation du spooler de dblink de PL/SQL : Gestion des curseurs de lutilitaire dexport (EXP)

Transformation (T) :
Utilisation de la commande Update Utilisation de PL/SQL (Exemple:transformation des dates)

E.T.L : Extraction , Transformation Chargement (Load)

Chargement (L) :
Utilisation de lutilitaire dimport (IMP) Utilisation de lutilitaire de chargement (SQLLOADER) Utilisation de dblink, pour le chargement dune table Create table as select col1, col from table
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 90

7.1 Extraction

7.1 Extraction Utilisation du spooler : exemple1


set echo off set verify off set termout off set embedded off set feedback off set recsep off set linesize 400 set pagesize 0 set underline off set heading off column to_char(date_entree,'dd-mm-yyyy') heading date_entree" column nom format A25 column speciallite format A20 column num_prof format 9999 select NUM_PROF,nom,specialite,to_char(date_entreedd-mm-yyyy),salaire_actuel from professeur; Spool off
M. F. Boufars & R. NEFOUSSI, UP13

Utilisation du spooler :
Utilisation du spooler
Utilisation define col Utilisation de ; comme sparateur de colonne

Utilisation de dblink :
Cration dun dblink Utilisation du dblink pour lextraction dune table

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

92

2012 - 2013

93

7.1 Extraction Utilisation du spooler : exemple2


set echo off set verify off set termout off set embedded off set feedback off set recsep off set linesize 400 set pagesize 0 set underline off set heading off select NUM_PROF || ;,nom || ;,specialite || ;,to_char(date_entree,dd-mm-yyyy) || ;,salaire_actuel from professeur; Spool off

7.1 Utilisation de dblink pour lextraction dune table


Rappel (TNSNAMES.ORA) ORCL.world = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST =serveur1 )(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) ) TEST.world = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST =serveur1 )(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST) ) ) DBDISTANTE.world = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST =serveur2 )(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =DBDISTANTE) ) )

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

94

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

95

7.1 Utilisation de dblink pour lextraction dune table

7.1 Extraction:PL/SQL
set serveroutput on size 100000 set feedback off set termout off spool extract_fournisseur.txt DECLARE CURSOR C1 IS SELECT * FROM FOURNISSEUR; enreg_c1 c1%rowtype; BEGIN DBMS_OUTPUT.put_line(' NUM_PROF NOM SPECIALITE DATE_ENTREE SALAIRE_ACTUEL); OPEN C1; LOOP FETCH C1 into enreg_c1; exit when c1%notfound; DBMS_OUTPUT.put_line(enreg_c1.num_four || ; || enreg_c1.nom || ; || enreg_c1.specialite || ; || enreg_c1.date_entree || ; || enreg_c1.salaire_actuel); end loop; close C1; exception when others then null; end; / Exit spool off M. F. Boufars & R. NEFOUSSI, 2012 - 2013 UP13

Cration de dblink : Create database link remote_db connect to user1 identified by mdp1 using dbdistante;

Extraction de la table emp partir dune base distante dbdistante :


Spool emp.txt Set echo off Set heading off select * from emp@ remote_db; Spool off
M. F. Boufars & R. NEFOUSSI, UP13

2012 - 2013

96

97

7.1 Utilitaire dexport (EXP) pour lextraction des donnes Syntaxe exp system/manager tables=(schema1.tab1,schema1.tab2) file=file.dmp log=exp_tab.log . 1. Variables de EXP : - full - tables - log - file - full - indexes - grants - parfile - query -
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 98

7.1 Utilitaire dexport (EXP) pour lextraction des donnes

Exemples de requte dexport (EXP) en ligne exp scott/tiger tables=emp query=\"where job=\'SALESMAN\' and sal\<1600\" exp scott/tiger file=scott.dmp owner=scott grants=Y rows=Y compress=y exp system/manager tables=(scott.emp,blake.dept) grants=Y indexes=Y

exp scott/tiger tables=(emp:m, emp:sp4) rows=Y

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

99

7.1 Utilitaire dexport (EXP) pour lextraction des donnes

7.1 Rsultat dexport (EXP)


exp scott/tiger file=scott.dmp owner=scott grants=Y rows=Y compress=y Export Messages Export: Release 8.1.6.0.0 - Production on Wed Oct 6 15:24:25 1999 (c) Copyright 1999 Oracle Corporation. All rights reserved. Connected to: Oracle8i Enterprise Edition Release 8.1.6.0.0 Production With the Partitioning and Java options PL/SQL Release 8.1.6.0.0 Production Export done in WE8DEC character set and WE8DEC NCHAR character set . exporting pre-schema procedural objects and actions . exporting foreign function library names for user SCOTT . exporting object type definitions for user SCOTT About to export SCOTT's objects ... . exporting database links . exporting sequence numbers . exporting cluster definitions . about to export SCOTT's tables via Conventional Path ... . . exporting table BONUS 0 rows exported . . exporting table DEPT 4 rows exported . . exporting table EMP 14 rows exported . . exporting table SALGRADE 5 rows exported . exporting synonyms . exporting views . exporting stored procedures . exporting operators . exporting referential integrity constraints . exporting triggers . exporting indextypes . exporting bitmap, functional and extensible indexes . exporting posttables actions . exporting snapshots . exporting snapshot logs . exporting job queues . exporting refresh groups and children . exporting dimensions . exporting post-schema procedural objects andM. actions F. Boufars & R. NEFOUSSI, . exporting statistics Export terminated successfully without warnings. 2012 - 2013 UP13 101

Exemples de requte dexport (EXP) avec parfile exp tiger/scott parfile=params.dat Le fichier params.dat contient les informations suivantes : FILE=blake.dmp TABLES=(dept,manager) ROWS=Y COMPRESS=Y

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

100

7.2 Transformormation

7.2 Transformation:utilisation de DECODE


SELECT DECODE(NO_FOUR, ' ', NOM_FOUR_COMM,NOM_FOUR) " Nom fournisseur " FROM FOURNISSEUR WHERE VILLE = 'PARIS'; SELECT DECODE(SUBSTR(ANNEE_MOIS,5,2), '01', 'janvier' , '02', 'fvrier' , '03', 'mars' , '04', 'avril' , '05', 'mais' , '06', 'juin' , '07', 'juillet' , '08', 'aot' , '09', 'septembre' , 10', 'octobre' , '11', 'novembre' , '12', 'dcemrbe' ) " Mois de traitement" FROM FOURNISSEUR WHERE VILLE = 'PARIS;
102 2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 103

Transformation (T) :
Utilisation de la commande DECODE Utilisation de PL/SQL (Exemple:transformation des dates)

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

7.2 Transformation:PL/SQL

7.3 Chargement Chargement (L) :


Utilisation de lutilitaire dimport (IMP) Utilisation de lutilitaire de chargement (SQLLOADER) Utilisation de dblink, pour le chargement dune table Create table as select col1, col from table .

DECLARE CURSOR C1 IS SELECT * FROM FOURNISSEUR; enreg_c1 c1%rowtype; BEGIN OPEN C1; LOOP FETCH C1 into enreg_c1; exit when c1%notfound; Insert into dw_fournisseur values (enreg_c1.num_prof,enreg_c1.nom,to_char(data_entree,ddmmyyyy end loop; close C1; exception when others then null; end; / Exit spool off
M. F. Boufars & R. NEFOUSSI, UP13

2012 - 2013

104

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

105

7.3 Chargement : IMP


imp system/manager parfile=params.dat params.dat contient les informations suivantes : FILE=blake.dmp SHOW=n IGNORE=n GRANTS=y ROWS=y FROMUSER=blake TOUSER=scott TABLES=(unit,manager); Les paramtres de IMP : Rows Fromuser Touser Tables File Ignore Grants Indexes Show .
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 106

7.3 Chargement : IMP


imp system/manager fromuser=blake touser=scott file=blake.dmp tables=(unit,manager) Import Messages Import: Release 8.1.6.0.0 - Production on Wed Oct 6 15:26:18 1999 (c) Copyright 1999 Oracle Corporation. All rights reserved. Connected to: Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production With the Partitioning and Java options PL/SQL Release 8.1.6.0.0 - Production Export file created by EXPORT:V08.01.06 via conventional path Warning: the objects were exported by BLAKE, not by you import done in WE8DEC character set and WE8DEC NCHAR character set . . importing table "UNIT" 4 rows imported . . importing table "MANAGER" 4 rows imported Import terminated successfully without warnings.
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 107

7.3 Chargement:sqlldr
Syntaxe : sqlldr ... Valid Keywords: userid -- Oracle username/password control -- Control file name log -- Log file name bad -- Bad file name data -- Data file name skip -- Number of logical records to skip (Default 0) errors -- Number of errors to allow (Default 50) direct -- Use direct path (Default FALSE) parfile -- Parameter file: name of file that contains parameter specifications parallel -- Perform parallel load (Default FALSE) readsize -- Size (in bytes) of the read buffer file -- File ..
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 108

7.3 Chargement:sqlldr
Exemple 1 : utilisation de la commande sqlldr en ligne SQLLDR CONTROL=foo.ctl, LOG=bar.log, BAD=baz.bad, DATA=etc.dat USERID=scott/tiger, ERRORS=999, LOAD=2000, DISCARD=toss.dis, DISCARDMAX=5 Exemple 2 : utilisation de la commande sqlldr avec parfile SQLLDR PARFILE=example.par Le fichier example.par peut avoir les informations suivantes : userid=scott/tiger control=example.ctl errors=9999 log=example.log Le fichier contrle example.ctl peut contenir les informations suivantes :

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

109

7.3 Chargement:sqlldr
Exemple N1 de Contrle file : etl1.ctl

7.3 Chargement:sqlldr

Exemple N2 de Contrle file : etl2.ctl

Le fichier etl1.ctl contient les informations suivantes : LOAD DATA INFILE * INTO TABLE departement FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (No_dept, nom_dept, departement) BEGINDATA ,INDUSTRIE, ILE de FRANCE" ,COMPTABILITE,"IDF" ,"ART", ,"IDF" ,FINANCE ,"IDF"
M. F. Boufars & R. NEFOUSSI, UP13

LOAD DATA INFILE 'ulcase2.dat' INTO TABLE EMPLOYE (No_emp POSITION(01:04) INTEGER EXTERNAL, nom POSITION(06:15) CHAR, job POSITION(17:25) CHAR, salaire POSITION(32:39) DECIMAL EXTERNAL, comm POSITION(41:48) DECIMAL EXTERNAL, No_dept POSITION(50:51) INTEGER EXTERNAL)

2012 - 2013

110

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

111

7.3 Chargement:sqlldr

7.3 Chargement:sqlldr
The following shows a portion of the log file: Control File: etl2.ctl Data File: etl2.dat Bad File: etl2.bad Discard File: none specified Number to load: ALL Number to skip: 0 Errors allowed: 50 Bind array: 64 rows, maximum of 65536 bytes Continuation: none specified Path used: Conventional Table EMP, loaded from every logical record. Insert option in effect for this table: INSERT Column Name Position Len Term Encl Datatype ------------------------------ ---------- ----- ---- ---- --------------------No_emp 1:4 4 CHARACTER Nom 6:15 10 CHARACTER JOB 17:25 9 CHARACTER SaLaire 32:39 8 CHARACTER COMM 41:48 8 CHARACTER No_dept 50:51 2 CHARACTER Table EMPLOYE: 7 Rows successfully loaded. 0 Rows not loaded due to data errors. 0 Rows not loaded because all WHEN clauses were failed. 0 Rows not loaded because all fields were null. Space allocated for bind array: 65520 bytes(1092 rows) Space allocated for memory besides bind array: 0 bytes Total logical records skipped: 0 Total logical records read: 7 Total logical records rejected: 0 Total logical records discarded: 0 Run began on Sun Nov 08 11:09:31 1998 Run ended on Sun Nov 08 11:09:32 1998 Elapsed time was: 00:00:00.63 CPU time was: 00:00:00.16

Exemple N3 de Contrle file : etl3.ctl

load data append into table compte_marne fields terminated by ';' ( cpt_branch , cpt_racine , cpt_groupe , cpt_noisy )

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

112

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

113

7.3 Utilisation de dblink pour le chargement dune table

7.3 Utilsation de create table .. As select

Cration de dblink :
Create database link remote_db connect to user1 identified by mdp1 using dbdistante;

Cration de la structure dune tables :


Create table tab1 as select * from tab2 where 1=2;

Cration et chargement dune table :


Create table tab1 as select * from tab2;

Chargement de la table emp partir dune base distante dbdistante :


Insert into emp select * from emp@ remote_db;

Cration et chargement dune table avec choix de tablespace


Create table tab1 tablespace TBS_TEST as select * from tab2;

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

114

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

115

Partie 4

8. Utilisation des techniques doptimisation du DWH


Les tables partitionnes Vues matrialises Tablespace transportable SQL Multidimentionnel Chargement en parallle avec SqlLoader MERGE Table Externe

Optimisation dun DWH

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

117

8.1 Table partitionne


1.Table partitionne par liste
CREATE TABLE () PARTITION BY LIST () ( PARTITION VALUES () , PARTITION VALUES () , );

8.1.1 Table partitionne par liste


CREATE TABLE SALES_BY_REGION ( ITEM# INTEGER , QTY INTEGER , STORE_NAME VARCHAR(30), STATE_CODE VARCHAR(2) , sale_date DATE ) STORAGE(INITIAL 5M NEXT 5M) TABLESPACE TBS1 PARTITION BY LIST (state_code)(1) ( PARTITION region_east(2) VALUES ('MA','NY','CT','NH','ME','MD','VA','PA','NJ'), (3) PARTITION region_west VALUES ('CA','AZ','NM','OR','WA','UT','NV','CO'), PARTITION region_south VALUES ('TX','KY','TN','LA','MS','AR','AL','GA'), PARTITION region_central VALUES ('OH','ND','SD','MO','IL','MI','IA'), PARTITION region_null VALUES (NULL) (4), PARTITION region_unknown VALUES (DEFAULT) (5) ); (1) : Indique quil sagit dun partitionnement par liste dont la cl de partitionnement est la colonne STATE_CODE. ((2) : Nom de la partition. (3) : Liste des valeurs autorises pour la partition. (4) : Les STATE_CODE NULL iront dans la partition REGION_NULL. (5) : Les STATE_CODE ne correspondant aucune liste iront dans la partition REGION_UNKNOWN.

2. Table partitionne par RANGE


CREATE TABLE () PARTITION BY RANGE () ( PARTITION VALUES LESS THAN () , PARTITION VALUES LESS THAN () , );

3. Table composite RANGE-LIST partitionne par intervalle et sous partitionne par liste
CREATE TABLE () PARTITION BY LIST () ( PARTITION VALUES () , PARTITION VALUES () , );

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

118

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

119

8.1.2 Table partitionne par RANGE


CREATE TABLE TB_CONTRAT ( AN_MS_COMPTA VARCHAR2(6) NOT NULL, NO_CNT VARCHAR2(11) NOT NULL, CD_SOC VARCHAR2(4) NOT NULL, NO_INDV VARCHAR2(8) NOT NULL, DT_TRT DATE ) NOLOGGING PARTITION BY RANGE (AN_MS_COMPTA) ( PARTITION PART_TB_CONTRAT_200310 VALUES LESS THAN ('200311') LOGGING TABLESPACE TBS_TEST1 , PARTITION PART_TT_CONTRAT_200311 VALUES LESS THAN ('200312') LOGGING TABLESPACE TBS_TEST PARTITION PART_TT_CONTRAT_DEFAULT VALUES LESS THAN ('201012') LOGGING TABLESPACE TBS_TEST ) NOCACHE NOPARALLEL ENABLE ROW MOVEMENT;

8.1.3 Table partitionne composite (RANGE-LIST)


Table composite RANGE-LIST partitionne par intervalle et sous partitionne par liste : CREATE TABLE SAMPLE_REGIONAL_SALES ( DEPTNO NUMBER , ITEM_NO VARCHAR2(20), TXN_DATE DATE , TXN_AMOUNT NUMBER , STATE VARCHAR2(2) ) PARTITION BY RANGE (TXN_DATE)(1) SUBPARTITION BY LIST (STATE) (1) ( PARTITION q1_1999 VALUES LESS THAN (TO_DATE('1-APR-1999','DD-MON-YYYY')) (2) ( SUBPARTITION q1_1999_northwest VALUES ('OR','WA') (3) , SUBPARTITION q1_1999_southwest VALUES ('AZ','UT','NM') , SUBPARTITION q1_1999_northeast VALUES ('NY','VM','NJ') , SUBPARTITION q1_1999_southeast VALUES ('FL','GA') , SUBPARTITION q1_others VALUES (DEFAULT) (4) ), PARTITION q2_1999 VALUES LESS THAN ( TO_DATE('1-JUL-1999','DD-MON-YYYY')) ( SUBPARTITION q2_1999_northwest VALUES ('OR','WA') , SUBPARTITION q2_1999_southwest VALUES ('AZ','UT','NM') , SUBPARTITION q2_1999_northeast VALUES ('NY','VM','NJ') , SUBPARTITION q2_1999_southeast VALUES ('FL','GA') , SUBPARTITION q2_1999_northcentral VALUES ('SD','WI') , SUBPARTITION q2_1999_southcentral VALUES ('OK','TX') ), PARTITION q3_1999 VALUES LESS THAN (TO_DATE('1-OCT-1999','DD-MON-YYYY')) ( SUBPARTITION q3_1999_northwest VALUES ('OR','WA'), SUBPARTITION q3_1999_southwest VALUES ('AZ','UT','NM'), SUBPARTITION q3_others VALUES (DEFAULT) ), PARTITION q4_1999 VALUES LESS THAN ( TO_DATE('1-JAN-2000','DD-MON-YYYY')) ); (1) : La table SAMPLE_REGIONAL_SALES est partitionne par intervalle sur le champ TXN_DATE et est sous partitionne par liste sur le champ STATE. (2) : La partition Q1_1999 contient les donnes ayant une TXN_DATE infrieure au 1er avril 1999. (3) : La partition Q1_1999 est sous partitionne en diffrents tats. Par exemple, la sous partition Q1_1999_NORTHWEST contient les tats OR et WA . (4) : Les enregistrements ayant un STATE non prsent dans des listes iront dans la sous partition Q1_OTHERS. M.aucune F. Boufars & R. NEFOUSSI,

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

120

2012 - 2013

UP13

121

8.2 Vue matrialise (MV)

8.2.1 Syntaxe

Syntaxe et rgle de cration dune MV Suppression des objets dune vue matrialise Cration du journal de la vue matrialise Cration dune vue matrialise Plan dexcution (accs la table) Plan dexcution (accs la MV)

CREATE MATERIALIZED VIEW MV_SYNTAXE PCTFREE 0 TABLESPACE TBS_TEST STOTAGE (INITIAL 5 M NEXT 5 M PCTINCREASE 0) PARALLEL 4 BUILD {IMMEDIATE , DEFERED} REFRESH {COMPLETE,FAST,FORCE,NEVER} ENABLE QUERY REWRITE AS /* Corps de la requte*/ SELECT .. From

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

122

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

123

8.2.2 Diffrents types de MV


Mthode de construction
- BUILD DEFERRED : Cre la dfinition de la MV, mais elle ne sera pas alimente avec les donne. - BUILD IMMEDIATE : Cre la MV et l'alimente avec les donnes.

8.2.3 Rgles

Les droits Oracle


-

2. Option de rafrachissement (Refresh Option )


- COMPLETE : recalcule compltement la requte dfinissant la vue matrialise. -FAST : Rafrachit de faon incrmentale en ajoutant seulement les nouvelles donnes qui ont t insres dans les tables. Les nouvelles donnes sont obtenues directement partir des logs de la vue matrialise. -FORCE : Applique Fast refresh si c'est possible, sinon Complete refresh. -NEVER : Indique que la vue matrialise ne sera pas rafrachie qu'avec des mcanismes de rafrachissent d'Oracle.

CREATE ANY VIEW CREATE TABLE CREATE ANY INDEX CREATE ANY MATERIALIZED VIEW CREATE ANY SNAPSHOT GLOBAL QUERY REWRITE

Dclenchement du query rewrite


-

ALTER session SET QUERY_REWRITE_ENABLED = TRUE ;

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

124

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

125

8.2.4 Syntaxe

8.2.5 Suppression des objets de la MV

CREATE MATERIALIZED VIEW MV_SYNTAXE PCTFREE 0 TABLESPACE TBS_TEST STOTAGE (INITIAL 5 M NEXT 5 M PCTINCREASE 0) PARALLEL 4 BUILD {IMMEDIATE , DEFERED} REFRESH {COMPLETE,FAST,FORCE,NEVER} ENABLE QUERY REWRITE AS /* Corps de la requte*/ SELECT .. From

Rem ========================================= Rem Suppression des objets relatifs la vue materialise. Rem ========================================= drop materialized view log on CONTRAT ; drop materialized view MV_CONTRAT_01;

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

126

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

127

8.2.6 Cration du journal de la MV

8.2.7 Cration de la MV
rem================================= rem Cration de la vue matrialise. rem ================================

rem===================================== rem Creation du journal de la vue materialise. rem ==================================== create materialized view log on CONTRAT tablespace TBS_TEST storage (initial 50M next 50M maxextents unlimited pctincrease 0) nologging with primary key /

create materialized view MV_CONTRAT_01 tablespace TBS_TEST storage (initial 50M next 50M pctincrease 0 maxextents unlimited) nologging build immediate refresh fast using default rollback segment enable query rewrite as select no_par_ttu,count(*),sum(mt_frs_doss),sum(mt_net_valr),sum(mt_tva_net_valr ), sum(mt_enc_ms) from contrat group by no_par_ttu /
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 129

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

128

8.2.8 Plan dexcution (accs la table)


ALTER session SET QUERY_REWRITE_ENABLED = FALSE ; delete from plan_table where statement_id='RNE'; explain plan set statement_id='RNE' for select no_par_ttu,count(*) "nombre",sum(mt_frs_doss) "somme_frs",sum(mt_net_valr) "somme_net",sum(mt_tva_net_valr) "somme_tva",sum(mt_enc_ms) "somme_enc" from contrat group by no_par_ttu; select decode(id,0,'', lpad(' ',2*(level-1))||level||'.'||position)||' '|| operation ||' '||options||' '||object_name||' '|| object_type||' '||decode(id,0,'Cost = '||position) query_plan from PLAN_TABLE connect by prior id=parent_id and statement_id = upper('RNE') start with id = 0 and statement_id = upper('RNE'); Explained. QUERY_PLAN SELECT STATEMENT Cost = 30075 2.1 SORT GROUP BY 3.1 TABLE ACCESS FULL CONTRAT
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 130

8.2.9 Plan dexcution (accs la MV)


ALTER session SET QUERY_REWRITE_ENABLED = TRUE ; delete from plan_table where statement_id='RNE'; explain plan set statement_id='RNE' for select no_par_ttu,count(*) "nombre",sum(mt_frs_doss) "somme_frs",sum(mt_net_valr) "somme_net",sum(mt_tva_net_valr) "somme_tva",sum(mt_enc_ms) "somme_enc" from contrat group by no_par_ttu; select decode(id,0,'', lpad(' ',2*(level-1))||level||'.'||position)||' '|| operation ||' '||options||' '||object_name||' '|| object_type||' '||decode(id,0,'Cost = '||position) query_plan from PLAN_TABLE connect by prior id=parent_id and statement_id = upper('RNE') start with id = 0 and statement_id = upper('RNE'); Explained. QUERY_PLAN SELECT STATEMENT Cost = 731 2.1 TABLE ACCESS FULL MV_CONTRAT_01
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 131

8.2.10 Utilisation du Hint (MV )


drop materialized view inf_fr.MV_TT_CNT_02; create materialized view inf_fr.MV_TT_CNT_02 as select no_par_ttu,count(*) "nombre",sum(mt_frs_doss) "somme_frs",sum(mt_net_valr) "somme_net",sum(mt_tva_net_valr) "somme_tva",sum(mt_enc_ms) "somme_enc" from contrat group by no_par_ttu; analyze table contrat estimate statistics sample 5 percent; analyze table mv_contrat_02 estimate statistics sample 5 percent; alter session set query_rewrite_enabled=true; ALTER session SET QUERY_REWRITE_ENABLED = TRUE ; delete from plan_table where statement_id='RNE'; explain plan set statement_id='RNE' for select /*+ REWRITE(MV_CONTRAT_02 */ no_par_ttu,count(*) "nombre",sum(mt_frs_doss) "somme_frs",sum(mt_net_valr) "somme_net",sum(mt_tva_net_valr) "somme_tva",sum(mt_enc_ms) "somme_enc" from contrat group by no_par_ttu; @c:\oracle\ora92\rdbms\admin\utlxpls.sql Explained. QUERY_PLAN SELECT STATEMENT Cost = 731 2.1 TABLE ACCESS FULL MV_CONTRAT_02 M. F. Boufars & R. NEFOUSSI, UP13

8.3 Tablespace transportable

Limitations Rgles Syntaxes

2012 - 2013

132

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

133

8.3.1 Limitations

8.3.2 Les rgles

Les tablespaces transporter ne doivent pas exister sous le mme nom dans la destination; il n'y a pas possibilit de changer le nom "en cours de route". Un tablespace fragment est transfr tel quel : pas de rorganisation.

Mettre les tablespaces en Read Only :


ALTER TABLESPACE S_EX_DICO_DATA READ ONLY; ALTER TABLESPACE S_EX_DICO_INDX READ ONLY;

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

134

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

135

8.3.3 Syntaxes
1. Export des mtadonnes sur la machine source (quelques minutes) exp userid=sys/change_on_install file=S_FR_GEN.DMP log=S_FR_GEN.LOG transport_tablespace=Y TABLESPACES=S_FR_GEN_DATA,S_FR_GEN_TG_CRCOH,S_FR_GEN_TG_STVD,S_FR_GEN_INDX 2. Copie des fichiers *.dbf des tablespaces par ftp de la machine source vers la machine destination 3. Import des mtadonnes sur la machine de destination imp parfile=impgen.par avec impgen.par : userid=sys/change_on_install file=S_FR_GEN.DMP log=S_FR_GEN.LOG transport_tablespace=Y datafiles=,'/opt/app21vg/appl/dwhev/dbdc/oracle/dbs/oradata3/FR_DWHE_V_GEN_AUDIT_1.dbf', '/opt/app21vg/appl/dwhev/dbdc/oracle/dbs/oradata3/FR_DWHE_V_GEN_DATA_1.dbf', '/opt/app21vg/appl/dwhev/dbdc/oracle/dbs/oradata3/FR_DWHE_V_GEN_INDX_1.dbf', '/opt/app21vg/appl/dwhev/dbdc/oracle/dbs/oradata3/FR_DWHE_V_GEN_TG_CRCOH_1.dbf', '/opt/app21vg/appl/dwhev/dbdc/oracle/dbs/oradata3/FR_DWHE_V_GEN_TG_STVD_1.dbf'

8.4.2.1 Instruction Merge

MERGE INTO NOM_TABLE1 USING (SELECT COL1, FROM NOM_TABLE2 WHERE ) ON (CONDITION) WHEN MATCHED THEN merge_update_clause WHEN NO MATCHED THEN merge_insert_clause;

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

136

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

137

8.4.2.1 Instruction Merge (Example) The following example creates a bonuses table in the sample schema oe with a default bonus of 100. It then inserts into the bonuses table all employees who made sales (based on the sales_rep_id column of the oe.orders table). Finally, the Human Resources manager decides that all employees should receive a bonus. Those who have not made sales get a bonus of 1% of their salary. Those who already made sales get an increase in their bonus equal to 1% of their salary. The MERGE statement implements these changes in one step:

8.4.2.1 Instruction Merge (Example)


CREATE TABLE bonuses (employee_id NUMBER, bonus NUMBER DEFAULT 100); INSERT INTO bonuses(employee_id) (SELECT e.employee_id FROM employees e, orders o WHERE e.employee_id = o.sales_rep_id GROUP BY e.employee_id); SELECT * FROM bonuses; EMPLOYEE_ID BONUS ----------- ---------153 100 154 100 155 100 156 100 158 100 159 100 160 100 161 100 163 100 M. F. Boufars & R. NEFOUSSI,
2012 - 2013 UP13 139

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

138

8.4.2.1 Instruction Merge (Example)


MERGE INTO bonuses D USING (SELECT employee_id, salary, department_id FROM employees WHERE department_id = 80) S ON (D.employee_id = S.employee_id) WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01 WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus) VALUES (S.employee_id, S.salary*0.1); EMPLOYEE_ID BONUS ----------- ---------153 180 154 175 155 170 156 200 158 190 159 180 160 175 161 170 163 195 157 950 145 1400 170 960 179 620 152 900 M. F. Boufars & R. NEFOUSSI, 169 1000
2012 - 2013 UP13

8.4.2.1 Instruction Merge (Example)

Exemple2 :Alimentation de la table Vente avec la commande MERGE


MERGE INTO VENTE D USING (SELECT * FROM t_vente) S ON (D.ID_MODELE=S.ID_MODELE and d.ID_COULEUR=S.ID_COULEUR and d.ID_POINTURE=s.ID_POINTURE and d.SEQ_ID_MAGASIN=s.SEQ_ID_MAGASIN and d.DATE_VENTE=s.DATE_VENTE) WHEN MATCHED THEN UPDATE SET D.PRIX_HT = S.PRIX_HT WHEN NOT MATCHED THEN INSERT (D.ID_MODELE,d.SEQ_ID_MAGASIN, D.ID_COULEUR,D.ID_POINTURE,d.DATE_VENTE,d.PRIX_HT,d.NOMBRE) VALUES (s.ID_MODELE, s.SEQ_ID_MAGASIN,s.ID_COULEUR,s.ID_POINTURE,s.DATE_VENTE,s.PRIX_HT,s.NOMBRE);

140

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

141

8.4.2.1 Table externe Contenu du fichier externe vente1.dat 1,1,1,1,1,30,30012007 1,1,1,1,1,30,14042008 1,2,1,1,1,32,15072007 1,2,1,1,1,32,03102006 Cration dun repertoire sous System create directory dir_vente as '/opt/appl/bcri/dbdc/oracle/admin/rne/eid Attribution des droits GRANT READ ON directory dir_vente TO RNE GRANT WRITE ON directory dir_vente TO RNE
2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 142

8.4.2.1 Table externe


Cration de la table Externe Vente_Externe
CREATE TABLE VENTE_externe ( id_modele VARCHAR2(11) , id_couleur VARCHAR2(11) , id_magasin VARCHAR2(11) , id_pointure VARCHAR2(11) , nombre VARCHAR2(4) , prix_ht VARCHAR2(8) , date_vente VARCHAR2(8)) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY dir_vente ACCESS PARAMETERS ( records delimited by newline badfile 'vente_externe.bad' logfile 'vente_externe.log' fields terminated by ',' missing field values are null ( id_modele,id_couleur , id_magasin , id_pointure ,nombre , prix_ht,date_vente ) ) LOCATION ('vente1.dat') ) PARALLEL REJECT LIMIT UNLIMITED ;

Affichage du contenu de la table externe


SELECT * FROM rne.VENTE_externe ;

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

143

9 Exemple dETL
Vendor Ascential Software Business Objects DataMirror April 1, Evolutionary Technologies (ETI) Group 1 Hummingbird IBM DB2 Informatica iWay Software Microsoft Oracle Pervasive SAS Sunopsis TALEND

9.1 Quelques ETL du march


Product Release Date

DataStage Data Integrator Transformation Server ETI Solution June Data Flow Fall Genio September Warehouse Manager PowerCenter DataMigrator Data Transformation Services (DTS) Oracle Warehouse Builder (OWB) Data Integrator Enterprise ETL Server Sunopsis TALEND

July 1, 2004 April 6, 2004 2003 1, 2004 2004 3, 2004 August 1, 2003 August 25, 2004 July 3, 2004 August 7, 2000 May 1, 2004 July 1, 2004 August 11, 2004

September, 2007

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

145

ETL : TALEND

Description : TALEND OPEN STUDIO


Cest un outil intelligent fournissant une solution complte de conception et de dploiement des DW, des data marts et des applications intelligentes de Buisness

TALEND OPEN STUDIO


Extraction + Transformation + chargement + design tools

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

146

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

147

Installation : TALEND OPEN STUDIO


Installation de Talend Open Studio : Installation de la couche Java (jdk-1_50_11) Installation de Perl (ActivePerl-5.8.8.820) se connecter sur www.TALENDCOM et tlcharger la dernire version (V.2.2.3 ou plus) Dcompresser le fichier Copiez tl.bat dans la racine TalendOpenStudio -vmargs -Xms512m -Xmx1100m -XX:PermSize=128m XX:MaxPermSize=128m Modification des paramtres denvionnement JAVA_HOME : C:\Program Files\Java\jre1.5.0_11\bin PATH : C:\Program Files\Java\jre1.5.0_11\bin; C:\Program Files\Java\jdk1.5.0_11; Excuter le fichier tl.bat Ce qui permet de lancer Talend ( et en mme temps de charger les modules ncessaires
M. F. Boufars & R. NEFOUSSI, UP13

Compilation des modules : TALEND OPEN STUDIO


La compilation des modules les plus importants :
ppm install DBD-DB2.ppd ppm install DBD-mysql.ppd ppm install DBD-ODBC.ppd ppm install DBD-Oracle.ppd Interface DB2 Interface MYSQL Interface ODBC Interface avec Oracle : cela suppose quOracle est dj install Interface DBI : non obligatoire Class-Trigger gestion des email via Talend

ppm install DBI.ppd ppm install Class-Trigger.ppd ppm install Email-Simple.ppd ppm install Email-LocalDelivery.ppd ppm install Email-Filter.ppd ppm install MIME-Lite.ppd ppm install Net-LDAP-Express.ppm ppm install Spreadsheet-ParseExcel.ppd

: Exploitation des fichiers Excel (csv) ppm install Spreadsheet-WriteExcel.ppd : Gnration dun fichier Excel partir de la Base ppm install Text-ASCIITable.ppd ppm install Text-CSV_XS.ppd : Gestion des fichiers Excel Csv

2012 - 2013

148

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

149

Cration dun Projet : TALEND OPEN STUDIO


Cration du Projet : Il faut commencer par donner un nom votre Projet

Composantes : TALEND OPEN STUDIO


Linterface Utilisateur Talend Open Studio est compose de :

Rfrentiel (Repository) Espace de modlisation (WorkSpace) Proprits (Properties), Excution (Run Job) et Logs
Aperu Schma (Outline) Aperu du code (Code Viewer)

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

150

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

151

Interface Utilisateur : TALEND OPEN STUDIO

Quelques Composants : TALEND OPEN STUDIO


Tdb2input : ce module lit la base db2 et extrait les champs Tdb2output : ce module crit, modifie ou supprime les entes de la base db2 Tdb2sqlrow : a pour fonction dexcuter la requte spcifique db2 Tmysqlinput : idem que tdb2input mais pour la base mysql Tmysqloutput : idem que tdb2output mais pour la base mysql Tmysqlrow : idem que tdb2row mais pour la base mysql Toracleinput : idem que tdb2input mais pour la base Oracle Toracleoutput : idem que tdb2outut mais pour la base Oracle Toraclerow : idem que tdb2row mais pour la base mysql Tpostgresqlinput : idem que tdb2input mais pour la base Postgress Tpostgresqloutput : idem que tdb2output mais pour la base postgress Tpostgresqlrow : idem que tdb2row mais pour la base PostGress Tsystem : Excution des commande system sqlloader, exp, etc .. Tsendmail : envoie des mails par le navigateur Etc ..

Description de linterface Utilisateur :

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

152

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

153

Edit caractristiques Connexion la base Oracle : TALEND OPEN STUDIO

Edit caractristiques Connexion la base Oracle : TALEND OPEN STUDIO

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

154

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

155

Cration dune Connexion la base Oracle : TALEND OPEN STUDIO

Cration dune Connexion la base Oracle : TALEND OPEN STUDIO

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

156

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

157

Cration dune Connexion la base Oracle : TALEND OPEN STUDIO

1ere partie de lETL (E)xtraction : TALEND OPEN STUDIO

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

158

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

159

1ere partie de lETL (E)xtraction : TALEND OPEN STUDIO

1ere partie de lETL (E)xtraction : TALEND OPEN STUDIO

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

160

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

161

2ime partie de lETL (T)ransformer : TALEND OPEN STUDIO

2ime partie de lETL (T)ransformer : TALEND OPEN STUDIO

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

162

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

163

2ime partie de lETL (T)ransformer : TALEND OPEN STUDIO

2ime partie de lETL (T)ransformer : TALEND OPEN STUDIO

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

164

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

165

3ime partie de lETL (L)oad : TALEND OPEN STUDIO

Quelques fonctionnalits avances : TALEND OPEN STUDIO

Mapping de flux de donnes dans un Job Excution dun Job Construction dune requte avec SQLBUILDER Type de connexion connexion de type Row Connexion de type iterate Connexion de type trigger Connexion de type Link Dfinition dun contexte et des variables dun job Ordonnancement des traitements par scheduler de TALEND Excution dune commande systme (Sqlloader, cmd; ..)

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

166

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

167

Maping : TALEND OPEN STUDIO

Mapping : TALEND OPEN STUDIO

Filtrage des donnes par le module de Mapping

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

168

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

169

Mapping : TALEND OPEN STUDIO

Mapping : TALEND OPEN STUDIO

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

170

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

171

Mapping : TALEND OPEN STUDIO

Excution dun job : TALEND OPEN STUDIO


Excution dun job se fait de deux manires : Repository : bouton (excution job) Run Job (ETL)

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

172

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

173

Excution dune requte avec SqlBuilder : TALEND OPEN STUDIO

Excution dune requte avec SqlBuilder : TALEND OPEN STUDIO

SqlBuilder est Utilisable partir des modules tdbinput et tdboutput

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

174

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

175

Cration d1 contexte et des variables d1 Job : TALEND OPEN STUDIO

# types de connexions des Composants : TALEND OPEN STUDIO


Row Main Row : Elle transmet les flux de donnes dun composant lautre Trigger : Elle transmet les flux en fonction des vnements

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

176

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

177

Ordonancement dun job avec Scheduler : TALEND OPEN STUDIO

Exction des commandes system : TALEND OPEN STUDIO

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

178

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

179

Exction des commandes system : TALEND OPEN STUDIO

ETL DORACLE

Chargement dune table avec sqlldr

Oracle Warehouse Builder (OWB)

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

180

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

181

Oracle Warehouse Builder (OWB)


Installation de OWB :

Installation : OWB
1. Download du produit partir du site dOracle

Cest un outil intelligent fournissant une solution intgre de conception et de dploiement des DW, des data marts et des applications intelligentes de Buisness

Extraction + Transformation + chargement + design tools

2. Installation dOracle Warehouse Builder


2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 182 2012 - 2013 M. F. Boufars & R. NEFOUSSI, UP13 183

Cration dun Projet : sous OWB


Cration du Projet : Il faut commencer par donner un nom votre Projet Concevoir Cration dun nouveau Projet

Composantes : OWB : Centre de conception


Linterface Utilisateur OWB (Centre de conception) est compose de :
Bases de donnes fichiers Applications Profils de donnes Rgles de donnes Mappings pluggables Flux de processus Programmations Business Intellgence Modules dfinis par lutilisateur Experts Configurations

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

184

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

185

Interface Utilisateur : Centre

de conception

Quelques Composants : Editeur du mapping avec OWB


Constante : Gestion des constantes Construire un objet : Construire un objet Expression : Utilisation des expressions pour la transformation des donnes Filtre : filtrage des donnes Oprateur dagrgation : Utilisation des oprations dagrgation pour la transformation des donnes Oprateur de cube : utilisation dun cube Oprateur de dimension : utilisation dune dimension Oprateur de fichier plat : utilisation dune dimension Oprateur de Fractionnement : fractionnement des donnes Oprateur de jointure : Jointure des tables Oprateur de table : Gestion des tables par le mapping Oprateur de table externe: Gestion des fichiers plat par le mapping Etc ..

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

186

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

187

Edit caractristiques Connexion la base Oracle : OWB

Edit caractristiques Connexion la base Oracle : OWB

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

188

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

189

1ere partie de lETL (E)xtraction : avec OWB (Cration dun fichier plat)

1ere partie de lETL (E)xtraction : avec OWB (2)

Mapping

configurer (rajouter le nom du fichier)

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

Il faut que le rpertoire fichier_plat_loction1 existe

190

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

191

2 me partie de lETL (L)Oad : avec OWB (alimentation table)

2 me partie de lETL (L)Oad : avec OWB (dmarage de lalimentation table)

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

192

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

193

3ime partie de lETL (T)ransformer : avec OWB

Operateur dclatement : Sous OWB

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

194

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

195

Excution dun job : sous OWB


Excution dun job se fait de deux manires : sous debugger (sous mapping) sous le centre de conception

Excution dune requte : sous OWB Cliquer sur la table partir du centre de conception (ensuite cliquer sur visualiseur des donnes)

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

196

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

197

Ordonancement dun job avec Scheduler : TALEND OPEN STUDIO

Exction des commandes system : TALEND OPEN STUDIO

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

198

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

199

Exction des commandes system : TALEND OPEN STUDIO

Architecture de lOWB
2 composantes : -Environnement de conception (meta-data repository + outils de reprsentation et ddition ) -Environnement dexcution ( Warehouse Builder Deployment Manager ou bien Oracle Entreprise Manager)

Chargement dune table avec sqlldr

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

200

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

201

Fonctionnalits du OWB
- Importer les dfinitions des sources de donnes - Conception et cration des schmas des bases de donnes (DW) - Dfinition des mouvements et des transformations des donnes des sources - Attribuer les dpendances entre les diffrents processus de lETL - Manipuler et grer les dfinitions des sources

Fonctionnalits du OWB
- Mise jour et gestion des schmas des bases de donnes (DW) - Conception et cration de lenvironnement dexcution (requtes et outils dextraction) - Conception et cration dun environnement OLAP

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

202

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

203

Composantes du OWB
- Warehouse Builder Client Application - Warehouse Builder Runtime Platform Service - Warehouse Builder design repository - Warehouse Builder runtime repository - Audit Reporting Browser - Metadata Reporting Browser - Advanced Queues - External tables - Connectors - Cubes - Dimensions - Files - Locations - Mappings - Materialized views
M. F. Boufars & R. NEFOUSSI, UP13

Objets du OWB

2012 - 2013

204

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

205

Objets du OWB
- Process flows - Sequences - Tables - Transformations - Views

Posibilits de dploiement de OWB


- Relational databases - OLAP Databases - Oracle Entreprise Manager - Oracle Workflow - Oracle BI Beans - Oracle Discoverer - CWM Bridges

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

206

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

207

Partie 5

Les outils de Business Objects : Supervisor Designer Business Objects

Modlisation et Reporting avec Business Object(BO)

Console du supervisor

Dfinition Univers

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

211

Cration d'un nouveau Univers

Ajout dune connexion la Base

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

212

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

213

Test de la connexion la base

Cration des classes et des Objets

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

214

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

215

Cration de lUnivers Russie

Visualisation de lUNIVERS

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

216

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

217

Parametrage de lUnivers

Parametrage de lUnivers

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

218

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

219

Parametrage de lUnivers

Parametrage de lUnivers

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

220

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

221

Parametrage de lUnivers

Parametrage de lUnivers

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

222

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

223

Contrle dintgrit dun Univers

Contrle dintgrit dun Univers

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

224

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

225

Excution de BO Utilisateur partir de Designer

Identification pour laccs BO

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

226

Cration d'un rapport

La fentre principale du module Utilisateur

Gnral

Affichage (Display)

Drill

Localisation des fichiers

Nouveau Document

Macros

Editeur des requtes

Les rapports

Exemple de rapport

Partie 9

SQL Avancs

F. Boufars & R. Nefoussi


{boufares}@lipn.univ-paris13.fr LIPN : Bureau A109

2012 - 2013

M. F. Boufars & R. NEFOUSSI, UP13

240