Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Un Cube, qu'est ce que c'est ?

110 réponses
Avatar
thanksforyourhelp
Bonjour,

pourriez vous m'expliquer ce qu'est un cube ?
est ce qu'un TCD est un type de cube ?

merci beaucoup pour toutes vos explications.

10 réponses

Avatar
Pif 34
thanksforyourhelp wrote:
bonjour Hélios,

peux tu définir exactement ce qu'est une dimension ?

dans les définitions que j'ai lues, le temps par ex est une dimension ; les
produits d'un magasin sont un axe d'analyse et les pays dans lesquels les
magasins sont installés sont aussi un axe d'analyse.
es tu d'accord avec ça, déjà ?



oui, dimension est utilisé comme axe.. en compta analytique on par
d'axe... si on prend une enseigne qui a 5 magasins: tu auras des axes
qui sont:
- le client a un compte (Oui/non)
- le magasin qui a vendu
- la catégorie de produit
- la marque
- le prix
- la marge
- le client a un compte ou pas
- le prix du panier

Si tu prends un sondage marketing/politique quelconque: chaque question
est une dimension, depuis ton age, ta ville, ta profession à ta réponse
sur un candidat ou une chaine de télévision préférée...


Ce qui me gène dans cette vision, c'est qu'on dit qu'une fonction propre au
cube est de pouvoir faire pivoter les axes d'analyses et les dimensions afin de
donner une autre lecture des données.



si tu restreint ton cube à 3D et que tu visualiser un plan, tu extrait
2D... donc tu fais pivoter le cube en ne changeant pas le point de
vue... c'est une vision simpliste et imagée, et très restrictive:
personne se limite à 3D... sinon, t'as 3 combinaisons, tu fais pas
pivoter dans ce cas, tu fait tes trois graphiques et ciao !

J'en conclus donc qu'une dimension peut
devenir un axe d'analyse et inversement.



une dimension est un axe analyse....

Ca m'amène à ma seconde question :
pourquoi avoir besoin de définir en amont des "dimensions" ? Pourquoi ne pas
simplement demander de définir des typologies de données que l'on choisira de
mettre en dimension ou en axe lors de la construction du cube ?



ben pour la meme raison qu'on te demande de définir des nom de colonnes
dans une table et pas simplement de remplir les valeurs, c'est moins la
pagaille...

en plus, dans un système, le premier problème qui se pose est
d'alimenter le cube... donc il faut savoir ce qu'on peut envoyer et ce
qu'on veut envoyer dans le cube... si t'as un questionnaire sans le sexe
ou l'age, autant dire que ca sert à rien de le mettre dans ton cube....

merci encore
Avatar
helios
thanksforyourhelp a écrit :
helios a écrit le 05/10/2011 à 07h01 :

Pif 34 a écrit :

puis-je moi aussi poser la question d'ou tu veux en venir ?

que tu utilise un cube ou pas, tout le monde s'en moque, et toi aussi
normalement (c'est pas agressif, c'est provocateur). Qu'importe le nom...

TCD c'est une fonction excel et peut etre access... on quitte le monde
de la base de donnée relationnelle car il ne s'agit pas d'un
opérateur
relationnel a proprement parler.

Un cume, un espace multidimensionnel, des composantes multimodales, tu
peux donner des nom, c'est pas le plus important..

Un cube ca induit plusieurs choses comme le fait justement remarque
Yliur:
1) un outillage générique adapté à de gros volume
(datawarehouse,
datamart), des outils d'ETL, des outils d'analyse et de visu, etc.
2 (le plus important) l'usage : un (hyper)cube c'est un espace
muldimensionnel pour lequel on veut extraire et analyser une ou
plusieurs dimensions. Une dimension, c'est simple et pas besoin
d'outil. Plus de 2 dimensions, c'est complexe à visualiser et analyser
en général, ca implique des outils d'analyse de données
et de visu
d'info fouillé et adapté au domaine. Reste les 2D: on va
extraire un
plan dans ton espace qu'on va analyser. Ce que te permet le cube,
c'est de choisir indifférement 2 dimensions et de pouvoir les
comparer...

un datadube, en relationnel c'est quoi ?
deux entités:
- entité "dimension"
- entité "point"

et une relation n-n entre les deux, avec un attribut "valeur" qui
donc
permet d'associer à chaque point dans chaque dimension une valeur.


et sortir un plan, c'est projeter sur un plan en Y une dimension et en
X une autre... c'est tout

sortir 3D ou plus, c'est facile aussi... c'est analyser qui est sur...

On peut biensur enrober sur ce pattern, mais un datacube, c'est ni
plus ni moins que ca...

Donc le datacube, c'est un mot qui t'intéresse quand tu veux vendre ou
acheter un produit par rapport à une catégorie de distribution
de
software pasque t'auras le Oracle Grid, le oracle cube par exemple
etc. avec son lot d'outillage et le prix qui va bien..

Ce qui me semble intéressant, c'est pas tant de produire un datacube
que de produires les outils pertinent pour l'utilisateur final... car
ce qui est proposé est le plus souvent assez pipo et inutilisable...
y'a plein d'outils matheux mal compris et mal utilisé, et aucun outils
visuel...




en resumé avant de vouloir utilisé une technologie de cube
hypercube
.... il faut d'abord savoir quel type de resultat et analyse on veux
obtenir et sous quel forme on veux les visaulisé
apres la solution va du bricolage sous SQL au SGBD gérant des multi
niveau de données (XML, MD, MV )



bonjour Hélios,

peux tu définir exactement ce qu'est une dimension ?
dans les définitions que j'ai lues, le temps par ex est une dimension ; les
produits d'un magasin sont un axe d'analyse et les pays dans lesquels les
magasins sont installés sont aussi un axe d'analyse.
es tu d'accord avec ça, déjà ?



dimension, axe d'analyse, niveau de données sont des differents vocables
pour definir la meme choses


Ce qui me gène dans cette vision, c'est qu'on dit qu'une fonction propre au
cube est de pouvoir faire pivoter les axes d'analyses et les dimensions afin de
donner une autre lecture des données. J'en conclus donc qu'une dimension peut
devenir un axe d'analyse et inversement.





c'est la meme chose sous des noms differents

Ca m'amène à ma seconde question :
pourquoi avoir besoin de définir en amont des "dimensions" ? Pourquoi ne pas
simplement demander de définir des typologies de données que l'on choisira de
mettre en dimension ou en axe lors de la construction du cube ?

merci encore



parce que il faut que tes dimensions soit defini c'est a dire que tu ai
definie a quoi cela correspond

exemple dans un volume on definie que les coordonnés sont X Y Z avec
comme definition X largeur Y hauteur Z profondeur les dimension sont
donc X Y Z et les axe d'analyse largueur, hauteur, profondeur

les base de données peuvent facilement etre compare a des plan ou des
volumes sauf que en SGBD on se limite pas a 2 ou 3 dimensions
Avatar
helios
Pif 34 a écrit :
thanksforyourhelp wrote:
Pif 34 a écrit le 04/10/2011 à 19h00 :
merci pour ton éclairage.



de nada

tu me demandes où je veux en venir ? simplement comprendre ce concept
qui fait
couler bcp d'encre et qui suscite n définitions. Je vois comme il est
difficile
d'expliquer ce que c'est.



pas tant que ca a mon sens: un cube c'est terme marketing pour des
gammes de produit, comme tu dirais ETL ou backbone ou ERP... tu peux
mettre tout et n'importe quoi...

Toi même tu dis qu'un cube est un espace multi-dimensionnel (plusieurs
dimensions) dans lequel on veut analyser une ou pls dimensions.



oui, espace multidimensionnel est synonyme de espace vectoriel

plus bas tu parles d'"entités", et tu dis qu'un datacube, c'est 2
entités et
une relation n-n entre les 2 (que je comprends comme des "mesures").



oui, je parle de la modélisation relationnelle: si tu fais un schéma
"entité-association", t'as 2 entité est une association, l'association
a un attribut... si je te fais un modèle relationnel:
- Dimension (id, libelle)
- Point (id, libelle)
- Valeur (idDimension_FK, idPoint_FK, valeur).


Et là, tu
dis qu'un datacube, c'est une dimension et un point (on n'est plus
dans le
multidimensionnel et ce que tu décris ressemble à un 2D : un axe, une
dimension,
des mesures.



non, je dis que l'usage d'un datacube va consister à extraire un sous
ensemble des dimensions, le plus souvent 2... Par définition, un
espace à 1 dimension est un espace vectoriel, comme un ensemble vide
reste un ensemble..

donc dans ton datacube tu va extraire deux dimensions et regarder si
tu as une correlation entre les points (par exemple, telle catégorie
de revue est plutot lue par des femmes, etc.). Depuis longtemps il
existe des outils projeter plusieurs dimensions dans un plan et voir
la correction (ACP, ACM, MDS, etc.).

j'ai compris qu'il s'agit d'un univers de travail qui doit permettre
de charger
de larges volumes de données, qui doit être en mesure de recalculer
en des temps
records, et qui doit donner des clés de lecture aux opérationnels
métier.



oui, ca induit une grosse volumétrie et donc des problématique de
performance, comme un datawarehouse.

J'ai aussi compris que les données doivent être analysées par un
système de
gestion de bases de données de type XML qui doit permettre l'analyse
en 3D.



non, pas obligatoire du XML, c'est lourd et verbeux... si tu fais du
Oracle, tu reste en pure relationnel, c'est plus performant...



non

ORACLE est moins performant que les vrai SGBD à multiniveau de données
c'et a dire gerant par exemple le XML en natif ou les MD ou MV




pour la 3D, c'est le visualisation de la donnée, ca n'a rien a voir...
si t'as que 2 dimensions a projeter, tu mets surtout pas de la 3D...et
si t'as plus de 3 dimensions, t'es obligé de recourir des outils
mathématiques... la 3D, c'est sans intéret, meme pour 3dimensions à
mon avis...

C'est certainement encore plus complexe que ça, mais à mon niveau (je
ne suis
pas une informaticienne), j'ai perçu cette complexité dans toutes vos
tentatives
de définition.



j'ai essayé de montrer la simplicité via une définition simple: un
hypercube, c'est des points dans un espace vectoriel et ca se modélise
dans 3 tables dans l'absolu... et on l'utilise en extrayant une partie
des dimensions, d'ou un outillage un peu particulier...

après, ca inclue tout un tas de problématique: performance,
volumétrie, structuration, analyse de donnée, IHM et visualisation
d'information, et tous les besoins markettings et utilisateur divers
en aval, etc.




non la modelisation sur 3 tables est vrai que pour le volume particulier
qu'est un cube mais en réalité les cubes de données ne sont pas un cube
mais un ensemble de parrallepipede

chaque attribu est un cube contenant plusieurs cube appelle valeurs
chaque valeur est un cube contenant plusieur sous valeurs
chaque sous valeur est un cube .....

jusque au sous niveau theorique 127

ce qui multiplie le nombre de tables et jointures
Avatar
Pif 34
helios wrote:
non

ORACLE est moins performant que les vrai SGBD à multiniveau de données
c'et a dire gerant par exemple le XML en natif ou les MD ou MV



si tu lis bien, je parle pas de ta SGBDR: je dis que le format XML est
un format verbeux et couteux en terme d'analyse... et ca c'est vrai...

après, une base de donnée spécialisé dans l'analyse de hiérarchie et de
multidimensionnel peut se venter d'etre plus performante... si elle ne
l'est pas sur son coeur de métier... tant pis...

ensuite, ton discours, c'est n'importe quoi car c'est comme si tu
disais: une ferrari c'est plus performant qu'un IVECO... si je dois
livrer 5 pianos, ma ferrari elle va tirer la gueule...

alors si tu veux affier que Oracle est moins performant que Caché,
commence pas trouver un comparatif.... le seul que tu trouvera il est
sur le site de Caché et pas sur un site indépendant !

non la modelisation sur 3 tables est vrai que pour le volume particulier
qu'est un cube mais en réalité les cubes de données ne sont pas un cube
mais un ensemble de parrallepipede



non, c'est un espace multidimensionnel... et la modélisation est juste..
. je le sais pour l'avoir utilisée à plusieurs reprise... (espace
vectoriel à 873 dimensions précisément) et elle est tellement simple
qu'on peut meme pas le considérer comme fausse ... pisque les
définitions mathématiques sont elles aussi particulièrement simple...


chaque attribu est un cube contenant plusieurs cube appelle valeurs
chaque valeur est un cube contenant plusieur sous valeurs
chaque sous valeur est un cube .....

jusque au sous niveau theorique 127

ce qui multiplie le nombre de tables et jointures



tu peux jours rajouter des notions de hiérarchies dans un cube, mais
t'es pas obligé... par ailleurs, la notion de "rotation" dans un sous
cube perd tout son sens ...
Avatar
Pif 34
helios wrote:
dimension, axe d'analyse, niveau de données sont des differents vocables
pour definir la meme choses



ca confirme que t'as rien compris à la théorie:
axe = dimension...
mais niveau de donnée --> hiérarchie (ou treillis)
donc t'es plus dans un espace multidimensionnel mais dans un graphe
orienté !

c'est pas pasque caché peut faire comme n'importe quel outil du MD que
le MD est hiérarchique pasque caché sais gérer les hiérarchies...
Avatar
helios
Pif 34 a écrit :
helios wrote:
non

ORACLE est moins performant que les vrai SGBD à multiniveau de
données c'et a dire gerant par exemple le XML en natif ou les MD ou MV



si tu lis bien, je parle pas de ta SGBDR: je dis que le format XML est
un format verbeux et couteux en terme d'analyse... et ca c'est vrai...

après, une base de donnée spécialisé dans l'analyse de hiérarchie et
de multidimensionnel peut se venter d'etre plus performante... si elle
ne l'est pas sur son coeur de métier... tant pis...

ensuite, ton discours, c'est n'importe quoi car c'est comme si tu
disais: une ferrari c'est plus performant qu'un IVECO... si je dois
livrer 5 pianos, ma ferrari elle va tirer la gueule...

alors si tu veux affier que Oracle est moins performant que Caché,
commence pas trouver un comparatif.... le seul que tu trouvera il est
sur le site de Caché et pas sur un site indépendant !

non la modelisation sur 3 tables est vrai que pour le volume
particulier qu'est un cube mais en réalité les cubes de données ne
sont pas un cube mais un ensemble de parrallepipede



non, c'est un espace multidimensionnel... et la modélisation est
juste.. . je le sais pour l'avoir utilisée à plusieurs reprise...
(espace vectoriel à 873 dimensions précisément) et elle est tellement
simple qu'on peut meme pas le considérer comme fausse ... pisque les
définitions mathématiques sont elles aussi particulièrement simple...




voila un exple en XML qui tient dans un cube met le sur 3 tables sans
pertes d'informations

<personne>

<nom>
toto
<nom>

<prenoms>
jean
michel
</prenoms>

<tel>
0122334455
0222334455
</tel>

<enfants>
<nom>
toto
<nom>

<prenoms>
jean
michel
</prenoms>

<tel>
0122334456
0222334457
</tel>

<nom>
toto
<nom>

<prenoms>
jean
paul
</prenoms>

<tel>
0122334458
0222334459
</tel>

<nom>
toto
<nom>

<prenoms>
jean
jacques
</prenoms>

<tel>
0122334466
0222334477
</tel>

</enfants>

<personne>

une requete doit pouvoir sortir le(s) telephone(s) d'un enfant ayant
pour prenom "jacques" et seulement cela

la requete serait :

list personne avec F4<2> ="jacques" F4<3>

pour faire simple sans definir de dico


chaque attribu est un cube contenant plusieurs cube appelle valeurs
chaque valeur est un cube contenant plusieur sous valeurs
chaque sous valeur est un cube .....

jusque au sous niveau theorique 127

ce qui multiplie le nombre de tables et jointures



tu peux jours rajouter des notions de hiérarchies dans un cube, mais
t'es pas obligé... par ailleurs, la notion de "rotation" dans un sous
cube perd tout son sens ...

Avatar
Pif 34
helios wrote:

voila un exple en XML qui tient dans un cube met le sur 3 tables sans
pertes d'informations



je le mettrais pas plus dans trois tables que t'arrivera a les mettre
dansun espace multidimensionnel...

ce que tu décrit, c'est un graphe, par un espace vectoriel, on confirme
donc que tu fais pas la différence entre espace vectoriel et graphe...


par ailleurs, ton exemple est faux... : <enfants> devrait contenir des
entités "<personne>"

arrete de prendre les gens pour des imbéciles. je sais que c'est un
espace vectoriel et un arbre généalogique... le problème est que
visiblement t'as aucune connaissance théorique élémentaire...


<personne>
<nom>
toto
<nom>

<prenoms>
jean
michel
</prenoms>

<tel>
0122334455
0222334455
</tel>

<enfants>
<nom>
toto
<nom>

<prenoms>
jean
michel
</prenoms>

<tel>
0122334456
0222334457
</tel>

<nom>
toto
<nom>

<prenoms>
jean
paul
</prenoms>

<tel>
0122334458
0222334459
</tel>

<nom>
toto
<nom>

<prenoms>
jean
jacques
</prenoms>

<tel>
0122334466
0222334477
</tel>

</enfants>

<personne>
Avatar
helios
Pif 34 a écrit :
helios wrote:

voila un exple en XML qui tient dans un cube met le sur 3 tables sans
pertes d'informations



je le mettrais pas plus dans trois tables que t'arrivera a les mettre
dansun espace multidimensionnel...



le voila pourtant dans un espace MultiValué

001 toto
002 jean[michel
003 0122334455[0222334455
004
toto]jeanmichel[0122334456222334457[toto]jeanpaul]0122334458222334459[toto]jeanjacques]0122334466222334477

avec les séparateurs de valeur [ ]


la difference entre XML MV et MD est juste la codification des multi
niveau de données
Avatar
Pif 34
helios wrote:
Pif 34 a écrit :
helios wrote:

voila un exple en XML qui tient dans un cube met le sur 3 tables sans
pertes d'informations



je le mettrais pas plus dans trois tables que t'arrivera a les mettre
dansun espace multidimensionnel...



le voila pourtant dans un espace MultiValué

001 toto
002 jean[michel
003 0122334455[0222334455
004
toto]jeanmichel[0122334456222334457[toto]jeanpaul]0122334458222334459[toto]jeanjacques]0122334466222334477


avec les séparateurs de valeur [ ]

la difference entre XML MV et MD est juste la codification des multi
niveau de données



ben donc on est d'accord, tu le met pas dans un espace multidimensionnel...

c'est bien... dès fois, faudrait que tu sorte de ton discours et que tu
regardes ce que les autres écrivent...

mais bon, je suis en train de p...er dans v..l.n ...
Avatar
JKB
Le Wed, 05 Oct 2011 15:08:17 +0200,
Pif 34 écrivait :
helios wrote:
Pif 34 a écrit :
helios wrote:

voila un exple en XML qui tient dans un cube met le sur 3 tables sans
pertes d'informations



je le mettrais pas plus dans trois tables que t'arrivera a les mettre
dansun espace multidimensionnel...



le voila pourtant dans un espace MultiValué

001 toto
002 jean[michel
003 0122334455[0222334455
004
toto]jeanmichel[0122334456222334457[toto]jeanpaul]0122334458222334459[toto]jeanjacques]0122334466222334477


avec les séparateurs de valeur [ ]

la difference entre XML MV et MD est juste la codification des multi
niveau de données



ben donc on est d'accord, tu le met pas dans un espace multidimensionnel...

c'est bien... dès fois, faudrait que tu sorte de ton discours et que tu
regardes ce que les autres écrivent...

mais bon, je suis en train de p...er dans v..l.n ...



Je vois que tu commences à comprendre à qui tu réponds...

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr