Decisionnel-opensource

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Decisionnel-opensource as PDF for free.

More details

  • Words: 2,213
  • Pages: 103
Panorama d’outils décisionnels en open source Boughaba Ossama Avril 2007

Plan • Bases de données et entrepôt de données au service de l’entreprise. • ERPs et ETLs. • Postgres comme solution pour les Systèmes d’informations de demain. • Configuration de Postgres pour la haute disponibilité. • Configuration de Postgres pour le décisionnel.

Plan • Création de tableaux de bords avec JasperReports. • Outils de décisionnel en opensource. • Alimentation du datawarehouse avec l’ETL Octopus. • OLAP sur Mondrian. • Conclusion • Questions

Animateur Boughaba Ossama • Développeur d’applications d’entreprises • Chef de Projet Caciopee SARL [email protected] [email protected]

CHU IBN ROCHD CASABLANCA CACIOPEE

LA SOCIETE

 Société de Services Informatiques  Sept années d’existence  Objectif: devenir une référence en matière de Services Informatiques au Maroc et à l’Étranger.

CHU IBN ROCHD CASABLANCA CACIOPEE

LA SOCIETE

N ous avons adopté dès fin 2000,les m éthodologies etles technologies d’aujourd’hui…

S.O.A

®

CHU IBN ROCHD CASABLANCA CACIOPEE

LA SOCIETE

… etm aî trisé les plateform es etoutils les supportant

CHU IBN ROCHD CASABLANCA CACIOPEE

LA SOCIETE

Nosm étiers:

Conseil

Formation

Développement

Bases de données et entrepôts de données Au service de l’entreprise

Bases de données & Datawarehouse Contexte : • L’élargissement des secteurs d’activité et les évolutions dues à la mondialisation. • La concurrence accrue et l’obligation de sortir rapidement des produits innovants.

Bases de données & Datawarehouse Implications : • Le besoin permanant d’accéder aux données d’exploitation. • Le besoin accru d’accédé aux données historiées à fin de vérifier les performances et dessiner la stratégie.

Système d’information et fonctions des organismes

Bases de données & Datawarehouse Solution : • Les SI en datawarehouses et les outils de requêtage permettent de dégager l’information stratégique.

Bases de données & Datawarehouse

Sources et utilisation du datawarehouse

ERPs et ETLs

L’ERP • L’idée de l’ERP (Entreprise Ressource Planning) est l’idée d’un outil informatique taillé entreprise qui : – Emane d’un concepteur unique. – Couvre d’une façon modulaire plusieurs ou la totalité des activités de l’entreprise. – Repose sur une base de données unique. – Garantie la piste d’audit.

L’ERP • Deux dimensions capitales pour l’ERP – Le degrés d’intégration. – La couverture opérationnelle.

L’ERP • La répartition des coûts dans un projet ERP.

Point forts en statistiques de l’ERP

Exemple d’ERP : Compiere

Un menu exhaustifs !

Exemple d’ERP : Compiere

• L’utilisateur participe à des workflows.

Exemple d’ERP : Compiere

• Et à des écrans de maintenance

ETLs « Extract-Transform-Load »

ETLs • « Extract-Transform-Load » • Il s'agit d'un middleware permettant d'effectuer des synchronisations massives d'information d'une base de données vers une autre. • Selon le contexte, on traduira par « alimentation », « extraction », « transformation », « constitution » ou « conversion », souvent combinés.

Alimentation des Datawarehouses

Schémas simple

Schémas de production sur talend

Postgres comme solution pour les Systèmes d’informations de demain

Paysage des bases de données Open Source • Le monde du logiciel libre dispose d’une gamme complète de solutions de persistance. – Business (postgres) – Scientifiques (mysql) – Embarquée (hsqldb, Mkoi) – Web (mysql) – Performance (msql)

Paysage des bases de données Open Source • Certaines sociétés qui proposaient des bases de données qui ont atteint le cycle d’intégration dans d’autres produit, distribuent aujourd’hui gratuitement leurs Bases de données. – FireBird (Borland) – SapDB (SAP)

Cas de PostgreSQL • PostgreSQL est le fruit de longues années de développement à l’université de Berkeley et sponsorisé par des institution hautement importantes aux états unis. – – – –

Defense Advanced Research Projects Agency (DARPA) the Army Research Office (ARO) the National Science Foundation (NSF) …

• Depuis 1986 PostgreSQL est développé et utilisé dans les domaines financiers, médicales, GIS, messagerie … • Aujourd’hui Postgres est en développement actif par la communauté ainsi que par des société telles que Sun et Fujitsu

Cas de PostgresSQL • Ce développement est à l’origine des base de données relationnelles les pus avancées. – DB2 – Informix – Ingres (l’œuf et la poule) – Sybase

Cas de PostgreSQL • Techniquement PostgreSQL est un SGBDR mature et avancé qui offre les possibilités suivantes. (et au delà) – – – – – – – –

Intégrité référentielle. Transactions. Vues. Triggers. Procédures stockées. Héritage. Schémas. Interfaces programmables.

Cas de PostgreSQL • PostgreSQL gagne en popularité grâce au développement continue de ses fonctionnalités notamment. – – – – – – –

Support des plateformes Windows. Tablespaces. Vacuum. PL/SQL. SQL 99. Accès concurrents. …

PostgreSQL en environnement de production • PostgreSQL est une base de donnée destinée qui supporte des environnements d’exploitation divers et exigeants – Linux, Unices (AIX, Solaris, HP-UX, SGI IRIX, Mac OS X, Tru64 ), Windows NT, Beos… – Champs jusqu’as 1GB, enregistrements jusqu’as 1.6TB, Tables jusqu’as 32TB … – Les DBA déclarent que postgres supporte aisément des BD a 4TB sur un serveur a 8 processeurs.

Installation de PostgreSQL • PostgreSQL est distribué avec la majorité des Systèmes d’exploitation Linux. Il est aussi disponible pour une grande partie des autres Unix. • La version 8 de PostgreSQL est installable sous Windows grâce au système msi.

Configuration de Postgres pour la haute disponibilité

Haute disponibilité • Souvent les Systèmes de production exigent de la haute disponibilité afin de garantir la continuité de service même en cas de panne sur un serveur. • Les bases de données commerciales proposent des offres solides dans ce sens

Réponse open source • Sequoria est un middleware transparent pour une solution de clusturing. • Il propose un Driver JDBC générique et s’occupe de la distribution de charge sur les nœud du cluster. • Sequoria propose aussi l’implémentation de la haute disponibilité requise par les systèmes de production

L’outil sequoria

Réponse open source • Autres avantages : – Reprise transparente après incidents – Cache intégré sur requêtes – Administration JMX – Licence Apache – Support commercial –…

Configuration de Postgres pour le décisionnel

Problème de la transaction • Les applications demandent à ce que un ensemble d’opérations soient menée d’un coup. • Dans une opération de vente – – – – – –

Vérifier le stock. Mettre à jours les quantités. Générer une commande fournisseur en cas de besoin. Enregistrer la vente. Générer une Facture. …

Problème de la transaction

Critères ACID • Les transactions garantissent : – Atomicité. – Consistance – Isolation – Durabilité

Niveaux d’isolation • Trois phénomènes sont à éviter en cas de concurrence : – Dirty reads – Nonrepeatable reads – Phantom reads

Niveaux d’isolation

Postgres pour datawarehouse • Optimiser une base de données postgres pour le Datawarehouse. 1) Niveau d’isolation #default_transaction_isolation = 'read committed‘ 2) Transactions en lecture seule par défaut #default_transaction_read_only = on

Postgres pour datawarehouse • Autres paramètres : max_connections : pour éviter le swap shared_buffers : mémoire occupée par postgres max_fsm_pages : Espace d’élément supprimés work_mem : mémoire de tri

Postgres pour datawarehouse • Autres paramètres : commit_delay : augmenter les chances d’un commit groupé fsync : désactiver la synchronisation avant le commit

Etapes d’exécution d’une requête 1. Transmission of query string to database backend 2. Parsing of query string 3. Planning of query to optimize retrieval of data 4. Retrieval of data from hardware 5. Transmission of results to client

Réglages génériques du coté de l’application cliente

3. Utilisation des pools de connections 5. Utilisation des requêtes précompilée

Postgres pour datawarehouse • Mais surtout : • Un design saint des tables de la base de donnée. • Des requêtes et un mode requêtage bien étudiés.

Création de tableaux de bords avec jasper reports

Création de tableaux de bords avec jasper reports Jasper Reports, IReport

Plan • • • • •

Introduction. Installation des outils. Fonctionnement de Jasper Reports. Utilisation de Jasper Reports. Utilisation de IReport.

Plan • Utilisation de IReport. – Rapport simple. – A partir de la base de donnée. – Avec diagramme. – Avec code barre. – Sous Rapports.

Introduction • Les Reports constituent une partie importante dans les applications d’entreprises. • Ils aident à – Produire des documents. – Dresser des tableaux de bord . – D’aider aux décisions.

• Les solutions de reporting sont pour la plupart propriétaires et coûteuses.

Introduction • Il existe un ensemble de normes et de produits standards et open sources qui s’adressent à ce problème. – Standards • xsl • xsl-fo.

– Outils • Jfree chart, • Jasper report • IReport.

Introduction : Jasper Reports. • Jasper Reports est un projet open source stable et largement utilisé. • Le Projet est hébergé sur http://jasperreports.sourceforge.net/ • Le support professionnel est garantit sur http://www.jaspersoft.com

Introduction : IReport. • IReport est l’éditeur graphique open source le plus avancé pour Jasper Reports. • Le Projet est hébergé sur http:// ireport.sourceforge.net • La documentation étendue et support commercial sont disponibles sur http:// www.ireport.org

Installation des outils • Les outils Jasper Report et IReport présentent des avantages majeures. – Open sources. • Extensibles, personnalisables, ne contiennent pas de code malveillant.

– Gratuit. • Peuvent être testés sans contraintes. Adoptés ou laissés. • Na gonflent pas le budget du projet.

– Java. • Portables, s’installent par simple copie, ne touchent pas aux dll, bases de registres autres programmes … • Peuvent s’intégrer aux produits java et J2EE.

Fonctionnement de Jasper Reports • Jasper Reports Fonctionne en tant que Compilateur et interpréteur • Il accepte en entrée un xml compatible avec jasperreports.dtd

Fonctionnement de Jasper Reports • L’xml décrit la structure du document, l’emplacement des éléments la source de données, les calculs … • Le document xml doit être compilé vers un document .jasper • Avec un document xml compilé et une source de donnée jasper reports réalise une impression.

Fonctionnement de Jasper Reports • Jasper Reports exporte son impression vers une page Web ou vers une application

Utilisation de Jasper Reports. • Jasper Reports est distribué en code source autant que projet Eclipse. • Le Projet peut être modifié et recompilé grâce à Jakarta ant.

Autours de Jasper Reports • Jasper Reports expose ses possibilités à travers les exemples compilables et démontrables.

Fonctionnement de IReport • IReport offre aux utilisateurs de Jasper Reports une interface graphique pour le design de leur rapports

Avec diagramme • IReport Utilise la librairie JFreeChart disponible sur http://www.jfreechart.org. pour créer des diagrammes. • JFreeChart est gratuite ouverte et populaire. • JFreeChart permet de créer des diagrammes de type camemberts, lignes, barres … en plat ou en 3D.

Avec diagramme

A partir de la base de données

A partir de la base de données

Sous Rapports • Pour créer des rapport plus complexes on peut élaborer des requêtes SQL plus recherchées. • Seulement les rapports simples peuvent être insuffisants pour montrer – plusieurs tableaux dans un seul rapport. – des détails de type master/slave.

Sous Rapports • Jasper Reports (et l’outil IReport) introduit la notion de sous rapports (subreports). • Un sous rapport est un rapport normal pouvant être inclus dans un rapport parent. • Le sous Rapport peut recevoir des paramètres du rapport parent.

Sous Rapports

Alimentation du datawarehouse avec l’ETL Octopus

ETL Octopus • Octopus est un ETL simple d’utilisation il permet, d’extraire transformer et charger vers n’importe quelle base compatible JDBC. • L’accès aux ressources CSV, Excel, Acess et XML peu se faire à travers le pont JDBC-ODBC

Architecture

ETL Octopus • Exécuter des taches imbriquées selon des valeurs calculées en runtime. • Les taches Octopus peuvent être exécutée par scripts Ant (donc programmés dans des scripts de build)

OLAP sur Mandrian

OLAP sur Mandrian • L’analyse multidimensionnelle est souvent très efficace pour découvrir les tendances. • Le Sytème doit répondre suffisamment rapidement à des requêtes en général en lecture seule

OLAP sur Mandrian • Les bases de données classiques peuvent supporter l’OLAP • Un DataSet est un ensemble de données à analyser.

OLAP sur Mandrian • Au niveau Base de données les données sont généralement représentée sous la notation étoile :

OLAP sur Mandrian • Mandrian est outil d’analyse de données membre de l’offre Pentaho. • Mandrian utilise le langage MDX pour le requêtage des Datasets SELECT {[Measures].[Unit Sales], [Measures].[Store Sales]} ON COLUMNS, {[Product].members} ON ROWS FROM [Sales] WHERE [Time].[1997].[Q2]

Architecture de Mandrian • 4 couches : – Présentation : données en tables intéractives, camemberts, histogrammes, XML… – Couche dimensionnelle parse et valide les requêtes MDX – Couche étoile : maintien un cache de mesures agrégées. – Couche Base de données : Mandrian utilise la puissance d’une base de données bien configurée au lieu de redéfinir un espace de stockage multidimensionnel

L’API Mandrian • L’API Mandrian reprend le model JDBC • Connection connection = DriverManager.getConnection( "Provider=mondrian;" +     "Jdbc=jdbc:odbc:MondrianFoodMart;" +     "Catalog=/W EB-INF/FoodMart.xml;", null, false); Query query = connection.parseQuery(     "SELECT {[Measures].[Unit Sales], [Measures].[Store Sales]} on columns," + " {[Product].children} on rows " +     "FROM [Sales] " +     "W HERE ([Time].[1997].[Q1], [Store].[CA].[San Francisco])"); Result result = connection.execute(query); result.print(new PrintW riter(System.out));

• Mandrian propose également une API XML pour être invoqué à partir de programmes non java

Le schémas

Utilisation du moteur de Mandrian à partir de JPivot • JPivot offre une librairie de tags afin de naviguer dans un schéma OLAP • JPivot offre une interface JSP pour le moteur de Mandrian (entre autres).

Utilisation du moteur de Mandrian à partir de JPivot Editeur de requêtes MDX

Utilisation du moteur de Mandrian à partir de JPivot • Résultat en histogramme

Utilisation du moteur de Mandrian à partir de JPivot

• Tableau de mesures avec axe hiérarchique

Conclusion

Questions ??