decisionnel-opensource

Post on 07-Jun-2015

1.149 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

décisionnel open source

TRANSCRIPT

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

oboughaba@caciopee.com

boughaba@gmail.com

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

Nous avons adopt d s fin 2000, les m thodologies et les technologies é è éd’aujourd’hui …

®

S.O.A

CHU IBN ROCHD CASABLANCA

CACIOPEE LA SOCIETE

… et matris les plateformes et outils les supportantî é

CHU IBN ROCHD CASABLANCA

CACIOPEE LA SOCIETE

Nos m tiers:é

Développement

Formation

Conseil

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 swapshared_buffers : mémoire occupée par

postgresmax_fsm_pages : Espace d’élément

suppriméswork_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

• 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

Avec diagramme

A partir de la base de données

A partir de la base de données

• 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

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

• 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

OLAP sur Mandrian

SELECT {[Measures].[Unit Sales], [Measures].[Store Sales]} ON COLUMNS,{[Product].members} ON ROWSFROM [Sales]WHERE [Time].[1997].[Q2]

• 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

Architecture de Mandrian

• L’API Mandrian reprend le model JDBC• Connection connection =

DriverManager.getConnection( "Provider=mondrian;" +    "Jdbc=jdbc:odbc:MondrianFoodMart;" +    "Catalog=/WEB-INF/FoodMart.xml;", null, false);Query query = connection.parseQuery(    "SELECT {[Measures].[Unit Sales], [Measures].[Store Sales]} on columns," + " {[Product].children} on rows " +    "FROM [Sales] " +    "WHERE ([Time].[1997].[Q1], [Store].[CA].[San Francisco])");Result result = connection.execute(query);result.print(new PrintWriter(System.out));

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

L’API Mandrian

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 ??

top related