IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Approche théorique du décisionnel Discussion :

[OLAP] Que mettre dans une table d'agrégats ? [Débat]


Sujet :

Approche théorique du décisionnel

  1. #61
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    non. WITH CUBE fait les croisements entre niveaux d'agrégation, et peux donc être considéré comme dimensionnel, donc OLAP, mais MySQL ne l'implémente pas.

    WITH ROLLUP hiérarchise les dimensions entre elles, ce qui revient à tout ramener dans une seule dimension, donc je ne vois vraiment pas comment on peut parler d'OLAP.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  2. #62
    Membre éprouvé Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Points : 1 058
    Points
    1 058
    Par défaut
    Citation Envoyé par Antoun Voir le message
    WITH ROLLUP hiérarchise les dimensions entre elles, ce qui revient à tout ramener dans une seule dimension, donc je ne vois vraiment pas comment on peut parler d'OLAP.
    En fait, c'était pour apporter le débat. Si dans la norme ISO SQL c'est dans le package OLAP, peut-on douter de la compétence des gens qui ont fait cette norme?

    Pour moi c'est de l'OLAP car c'est pour faire de l'analyse en ligne, après certes pas forcément avec une histoire de cube et autre.

    Je discerne bien ce qu'on fait des détails de l'exécutions qui ne regardent que le service informatique. Si vous pouvez avoir la bonne réponse dans un temps correct, tout le monde se fiche de savoir s'il y a un cube R/D/S/RT/H-OLAP derrière.

  3. #63
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 92
    Points : 113
    Points
    113
    Par défaut
    Bien.

    Maintenant que tout le monde est d’accord sur la non-présence physique des données dans le cadre d’un cube R-OLAP , je souhaiterais revenir sur quelques précédents posts, au delà des questions de terminologie :

    Antoun : … il ne faut pas oublier les limites de cette solution : faibles performances et risques d'erreurs. Mais pour de la détection d'erreurs de saisie, c'est effectivement idéal...
    Tss,tss … Les outils R-OLAP seraient-ils cantonnées à la détection d’erreurs de saisie ? Chez Carrefour, la technologie R-OLAP servirait donc à détecter les erreurs de caisse ?
    Non. C’est un peu exagéré. Les matériels et les applications ont évolué. Le concept R-OLAP est en particulier destiné à des PME qui ne disposent pas de ressources (humaines, financières et structurelles) pour monter une plate-forme de BI globale incluant les différentes briques décrites dans vos différents posts (ODS, DW, DM et autres structures multidimensionnelles physiques).
    Il est à noter par ailleurs, que certaines organisations ont opté pour cette technique à la suite de temps excessivement longs d'alimentation des bases d'interrrogation M-OLAP.

    Ygrim : … Et comme les cube R-OLAP de microsoft (pour citer ce que je connais) associés aux technologies d'interrogation de cube répondent à ces spécs, les cubes R-OLAP sont des outils OLAP …
    Et
    Antoun : … Ce qui est cocasse, vu que MySQL ne fait évidemment ni MOLAP, ni ROLAP, ni HOLAP, ni DOLAP...
    Un point est primordial et caractéristique de la technologie R-OLAP : un cube R-OLAP est INDEPENDANT de la base de données interrogée. Sa description est définie dans l'outil de restitution (et non dans la BDD), et est TRANSPOSABLE. On peut donc décrire une structure multidimensionnelle R-OLAP sur une base MySQL, Oracle, voire Access, et migrer ensuite la BDD sans modification de la description.
    Toutes les bases de données sont susceptibles de supporter une description R-OLAP. A l'heure ou l'on parle de souplesse, d'agilité, et de ROI, c'est un avantage important.

  4. #64
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par Jester Voir le message
    En fait, c'était pour apporter le débat. Si dans la norme ISO SQL c'est dans le package OLAP, peut-on douter de la compétence des gens qui ont fait cette norme?

    Bon, disons que ça confirme ce que je disais qq posts plus haut : on peut peut mettre tout et n'importe quoi sous le chapeau "OLAP".
    Citation Envoyé par Jester Voir le message
    Pour moi c'est de l'OLAP car c'est pour faire de l'analyse en ligne, après certes pas forcément avec une histoire de cube et autre.

    Je discerne bien ce qu'on fait des détails de l'exécutions qui ne regardent que le service informatique. Si vous pouvez avoir la bonne réponse dans un temps correct, tout le monde se fiche de savoir s'il y a un cube R/D/S/RT/H-OLAP derrière.
    yep !
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  5. #65
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par Paul_S Voir le message
    Tss,tss … Les outils R-OLAP seraient-ils cantonnées à la détection d’erreurs de saisie ?
    Tu me fais dire ce que je n'ai pas dit.
    Citation Envoyé par Paul_S Voir le message
    ...
    Il est à noter par ailleurs, que certaines organisations ont opté pour cette technique à la suite de temps excessivement longs d'alimentation des bases d'interrrogation M-OLAP.
    Oui. Le choix MOLAP/ROLAP est essentiellement une question d'arbitrage entre durée d'alimentation, temps de réponse des requêtes et espace disque.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  6. #66
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 205
    Points : 222
    Points
    222
    Par défaut
    Ouais, c'est trop bien le R-OLAP .

  7. #67
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Citation Envoyé par Antoun Voir le message
    Oui. Le choix MOLAP/ROLAP est essentiellement une question d'arbitrage entre durée d'alimentation, temps de réponse des requêtes et espace disque.
    Les cubes M-OLAP offrent aussi des possibilités d'analyse particulières il me semble, en tous cas certaines technologies. Par exemple soit les faits suivants :
    Année | Pays | Volume
    2006 | France | 10
    2006 | France | 10
    2007 | France | 20
    2007 | France | 20
    2006 | Italie | 10
    2006 | Italie | 10
    2006 | Italie | 10
    2007 | Italie | 30
    2008 | Italie | 40
    2008 | Italie | 40
    Le tableau de bord suivant est possible en M-OLAP mais pas en R-OLAP :

    2006
    France | 20
    Italie | 30

    2007
    France | 40
    Italie | 30

    2008
    France | 0
    Italie | 80
    Aucun fait n'est disponible pour France 2008 et pourtant il existe forcément une valeur pour le Volume à l'intersection de 2008 sur l'axe Année et France sur l'axe Pays, valeur qui est 0 (car aucun fait).

    2008 |......0............80
    2007 |.....40...........30
    2006 |.....20............30
    .......|____|________|_______
    ..........France........Italie
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  8. #68
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Je ne vois pas trop pourquoi ce ne serait pas possible en ROLAP (mais je n'y connais pas grand-chose). Il suffit d'avoir une table des mois et une table des pays, et de faire les jointures comme il faut.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  9. #69
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Parce qu'il est impossible de lier une table en jointure externe avec 2 autres tables il me semble, enfin si quelqu'un a une solution je veux bien la noter.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  10. #70
    Membre éprouvé Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Points : 1 058
    Points
    1 058
    Par défaut
    Hum, je ne fait pas de MOLAP, mais pourquoi il y aurait 0 dans une telle case? Comme là c'est l'agrégation somme, encore ça passe. Mais si c'était la moyenne? Mettre un zéro ce serait un peu ambitieux.

    En ROLAP avec mondrian vous avez un NULL dans cette case, ce qui est le comportement le plus logique. Après libre à chacun de donner de la sémantique à ce NULL.

    Sinon pour ce qui est du SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    mysql> select coalesce(d.year, 'Toute annees') as 'Année', coalesce(d.nom, 'Tous Pays') as 'Pays', sum(coalesce(vol, 0)) as 'Volume' from (select * from Pays p, Annee a) d left outer join Faits f using(year, nom) group by d.year, d.nom with rollup;
    +--------------+-----------+--------+
    | Année       | Pays      | Volume |
    +--------------+-----------+--------+
    | 2006         | Espagne   |      0 | 
    | 2006         | France    |     20 | 
    | 2006         | Italie    |      0 | 
    | 2006         | Tous Pays |     20 | 
    | 2007         | Espagne   |      0 | 
    | 2007         | France    |     40 | 
    | 2007         | Italie    |      0 | 
    | 2007         | Tous Pays |     40 | 
    | 2008         | Espagne   |      0 | 
    | 2008         | France    |      0 | 
    | 2008         | Italie    |     80 | 
    | 2008         | Tous Pays |     80 | 
    | Toute annees | Tous Pays |    140 | 
    +--------------+-----------+--------+
    avec comme table de faits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    mysql> select * from Faits;
    +------+--------+------+
    | year | nom    | vol  |
    +------+--------+------+
    | 2006 | France |   10 | 
    | 2006 | France |   10 | 
    | 2007 | France |   20 | 
    | 2007 | France |   20 | 
    | 2008 | Italie |   40 | 
    | 2008 | Italie |   40 | 
    +------+--------+------+
    6 rows in set (0.00 sec)

  11. #71
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par nuke_y Voir le message
    Parce qu'il est impossible de lier une table en jointure externe avec 2 autres tables il me semble, enfin si quelqu'un a une solution je veux bien la noter.
    Non, l'histoire des deux tables max, c'est une limite artificielle imposée par les ODBC (ou seulement certains ?).
    Ce qui est plus problématique, c'est que les jointures sont dans le mauvais sens. ça peut se résoudre en faisant un produit cartésien d'abord :

    Code pseudo-SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FROM (Annees A CROSS JOIN Pays P)
      LEFT JOIN Faits F ON A.Annee = F.Annee AND P.IDpays = F.IDpays

    C'est un schéma de requêtage que j'appelle une requête XL (CROSS JOIN puis LEFT JOIN), mais peut-être quelqu'un lui a-t-il donné un autre nom ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  12. #72
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par Jester Voir le message
    Hum, je ne fait pas de MOLAP, mais pourquoi il y aurait 0 dans une telle case?
    Avec Essbase, ce serait effectivement #MISSING, qui est l'équivalent du NULL.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  13. #73
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 92
    Points : 113
    Points
    113
    Par défaut
    La notion de "Complétude" est effectivement gérée dans le modèle R-OLAP, au choix :
    • Au niveau de la base de données, en définissant des jointures externes, comme le cite Antoun.
    • Au niveau du moteur R-OLAP, qui génère dynamiquement une valeur dans le dataset pour le tupple considéré.

    En tout état de cause, je suis d'accord avec la remarque de Jester. Une valeur 'Null' est attribuée par défaut, quitte à ce qu'elle soit reprise sémantiquement par la suite.

  14. #74
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Jester, au passage, Mondrian fait-il du MOLAP ou seulement du ROLAP ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  15. #75
    Membre éprouvé Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Points : 1 058
    Points
    1 058
    Par défaut
    Seulement du ROLAP. Le cube n'existe qu'en mémoire. Du coup il ne conserve que certaines agrégations via un système de cache.

    HOLAP en partitionnement vertical peut-être?

  16. #76
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par Jester Voir le message
    Seulement du ROLAP. Le cube n'existe qu'en mémoire. Du coup il ne conserve que certaines agrégations via un système de cache.
    OK, merci !
    Citation Envoyé par Jester Voir le message
    HOLAP en partitionnement vertical peut-être?
    Tu veux dire que son cache fonctionne en stockage vertical, à la SyBase IQ ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  17. #77
    Membre éprouvé Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Points : 1 058
    Points
    1 058
    Par défaut
    En fait je ne connais pas précisément son système de cache ni SyBase IQ, donc je préfère ne pas m'avancer.

  18. #78
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 1
    Points : 0
    Points
    0
    Par défaut
    bonjours je veux juste la définition exacte de "agrégat" en BI et base de données opérationnelles.
    ensuite je demande les 2 raisons pour lesquelles les systèmes OLTP ne sont pas adaptés à la gestion d'information pour le décisionnel concernant le temps .
    Merci
    cordialement

Discussions similaires

  1. Que mettre dans une DAL et dans une BLL
    Par touftouf57 dans le forum C#
    Réponses: 8
    Dernier message: 12/10/2009, 02h09
  2. recupere le login de la banniere et le mettre dans une table
    Par boubourse92 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/07/2007, 10h24
  3. Réponses: 8
    Dernier message: 08/03/2007, 16h54
  4. Réponses: 5
    Dernier message: 21/02/2007, 16h12
  5. Réponses: 3
    Dernier message: 09/09/2006, 13h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo