r
*
-
.,iJt
a*U!/--*+Jl
LrJli---Jl I
,,
,-,
4t
REPUBLIQUE ALGERIENI\IE
DEMOCRATIQTIE
ET POPULAIRE
l
de.-/l
:
,J' .lt
trllf
Ministdre
de I'Enseignement
Sup6rieur
et de la Recherche
Scientifique
Universitd Mohamed Sadik Benyahia
-Jijel
-
L
Facultd
desSciences Exactes
etInformatique
X.,
Ddpartement
d'informatique
^,j
,s\A\
.04lie
MEMOIRE
Prdsentd pour I'obtention du dipldme de
MASTER
En
: InformatiqueSp6cialit6 : Systdmes d'Information et Aide d la D6cision
(tTrlne
Conception
et
impl6mentation
d'un
systime
d'entreposage et
d'analyse
des
questions-r6ponses dans un
forum
dtentraide:
Application
i
StackExchange
R6alis6
par:
Khaled Messadi Mounir DerradjiEncadrd
par:
Dr
Doulkifli
BOUKRAA
-r-,,tfr
rrro)l,Ir;
q4pr,rJ.+,
Annde universitair e 20 | 8 I 20 19Nous
tremoms
tonnt
dl'ahond
i
renrdne
gr6rc,e
d
Dt,eu
X.retout
lpr.ui.ssamt
qlut
rnorJs
a
dlornnr6,
X.afonce,
X.ec@unag'.e,
eu
[a
lpatLemce
'
d.'acconrrpttr
c,e cnavai.n.
lilouts
adnessolns
xnCIssfurncdr,es
rennercfi.,enrnemts
d nour,e
,e:racadlreun
Dr.
Borrkraa
Doulktftt
pourr
s@rmsoutfi.ern, ses
prrdcl.etrx
cornsefi.il.s,
sa
cornrnprr6lherrnsi.orn,
sa
d6tenrmi.nrattorn
ret
auxssfi.pour
ses
€mcouirag'errnerrnts tor-ut
aunnorng dle
c*e
crawarfi.{..Notrs
temorns
d
,exprtnaer rnotne
grrati.lturde
aurx nnermhr,es dle
l*oy
quui.ornt accrept6
d,e
jug'en
rnotne
tnava[n"
Sans
oubti.en 6g'al.ernent
{.es
errnsei.grrnants qLui
rrnous
accom{npagrrn6s
dturamt
nos
6ttrdes
sup6ri.eures
ir
t'urntversit,6
d.e
ltjetr.
A
reotre
proxnotlom
SIAD
i.rnforrrnatil.qure
2on8-2olg.
A
toutes
les
perso]n)nes
qui.
ont
partici.pds de prds ou de
Loin
i
[a r6al"i.sation
de ce
travatt.
O6[baces
A
fules cfiers
parents
A
fulafemrne
A
%onfits
'gylafrdmmef
ef
amine'
A
tuIesfrires
A
foles
seurs
A
llous
mcsprocfies
et
mes
arnis
A
{ous cerqquej'aime
Et
enfin
d
{oute
k
promotion fD'informatQue
2018-2019.
O6[baces
i
fuLes
chers
Sarents
A
fl4afemme
A
fuLes
enfants
'
futofiammefetr1frafrf
,
'*Ieriern',
'Ima[Ed6ine'
A
*les
frires
A
*Ies
s@urs
A
'Tow
mesprocfres
et
mes
amis
A
'Tous
ceu^trquej'aime
Et
enfn
d
toute
k
pronotion
O'informatique
201g-2019.
Rdsum6
UdiJ..J
l*trJllC
d{r.l"i"ll *ls.r,ill6"+t
StackExchange
ls}i..J'
4JJdllol4ls.}l
ci-j
&Jl
l.u g,.,-i:6llilill
d.
;t.jll
gl.i-3
oCLJI dJS"lu.
dh"ll liA,-i{+
t"S ."!rrl3q';
dl}" l-r,rlF UJ*ll
crUrijt
fc$
-b
MySQL
.:t4!t ;.u.:"
crtil;1 6.rcll 1+.-r+l Ft.-J '
dl.'Jllia
dli"icJ
4$l#llcrLJ",;lt
.1"ti)loil
F0jlJl-,6cl.l-l
lJ.*t;*
LIJJI
.r clJ":llis+_r
ctUh
cit+'S4 ,JS.iJ'
6rc,lill olu,Talend OS
lc+JrKtll
phii-h
.
:Jlrl-rlla*hll
ey-il
dir
4i#t3
;r;etirl.;$l
6.5oacrl$)*.(OLAP)
al.;"tt
iJrliilll+lt'.Il
R6sum6
L'objectif
de ce travail est d'6tendre les possibilitds analytiques du r6seau StackExchange etdes rdseaux similaires, basds
sur
la
notion de
Questionset
Rdponses. Cetravail
consiste dconcevoir et impldmenter une base de donn6es multidimensionnelle sous la forme d'un ensemble
de cubes, afin de permettre des analyses diverses par des outils OLAP. Pour rdaliser notretravail,
nous avons exploitd
hois
technologies:MySQL
comme serveur de base de donndes, Talendcomme
outil
ETC,
JasperSoft
commeoutil
de visualisation. Nous montronsla
faisabilitd denotre proposition
i
travers son impldmentation et nous donnons quelques perspectives.Mots-cl6s:
CubesOLAP,
Base de donndes multidimensionnelleoMySQL,
Talend openstudio, Jasper Soft.
Abstract
The objective
of
this
work is to
extendthe
analytical possibilities onthe
StackExchangenetwork and similar networks, based on the concept
of
Questions and Answers. This work aimsto
design and implement a multidimensional databaseof
a setof
cubes, which can be analyzedby
OLAP
tools.To this
purpose,we
useda
setof
technologies:MySQL
as database seryer,Talend OS as an
ETL tool
and Jasper soft as a reportingtool.
We show the feasibilityof
ourproposal through its implementation and we give some perspectives.
Key-Words: OLAP Cubes, Multidimensional database, MySQL, Talend open studio, Jasper
E
rabte
de
matiires
Ta6[e
fe
matidres
R6sum6
...I
Liste
des
figures
...,...
...
V
Liste
des
tableaux
...
...
VI
Introduction
g6n6rale
...
...01
chapitre
01 :
Entrepdt
de
donn6es
&
systimes
d'entraide
e/R
l.Introduction
...
...052. Entrepdts de
donndes
...052.l.D6finition
...
...052.1.1 Donn6es orient6es
sujet
...052.l.2Donrr6es int6grdes
...
...062.1.3
Donndes historisdes...
...062.1.4
Dorurfles nonvolatiles
...062.2. Canctdristiques d'un entepdt de donndes
...
...,...,072.3. Architecture de rdfdrence d'un entrep6t de donndes
...
...,...072.3.1. L,es classes de
donn6es
...092.3.2. Moddlisation de
donndes
...092.4,r.a structure logique
&
physique de schdmas de I'enfepdt de donndes ... II
2.4.1. Le schdma en6toile
... 122.4.2.
k
schCma enflocon
.,...,....I2 2.4.3. Le schdma en constellation defaits
...
...132.5. R€alisation d'un
ED
...
...142.5.1. Bottom-up (the
Kimball
approach)
...t4
2.5.2. Top-down(Bill
Inmonapproach)
...t4 2.5.3. Hybrid (un mdlange des deuxapproches)
...153. Les Systdmes QuestionlRdponse
...
...153.1 Les SysGmes d'entraide en ligne euestion/Rdponse
...
...153.1.1 Pourquoi un sysGme d'entraide en rigne euestion/Rdponse ...15
...16
3.1.2 Etude d'un cas d'un d'entraide en
li
E
rabte
de
matiires
3.1.3 L'exploration des donndes de
Stack-exchange
...1g4. Besoins d'analyse dans un systdme de
e/R
...195. Conclusion 21
Chapitre
02 : Conception
du
Systdme
l.Introduction
...
,.,...,...232.L'approche de la
conception
...233.
Descripion des sources dedonndes
...244.
Conception decubes
...,...
.,...324.1. Les tables de
faits
...324.2.Les
dimensions
...,...,.374.2.1. Les dimensions communes
...
...j7 4.2.2. Les dimensions noncommunes
...394.3.Le moddle
multidimensionnel
...404.3.1. Selon l'approche de Top-Down (descendante)
...
...404,3.2, Selon l'approche Bottom-Up
(ascendante)
...434.3.3. Schdmas en constellation
...
...,....475. Conception
Logique
...495.1. Les niveaux hi6rarchiques
...
...,...49S.2.Latechnologie utilisde dans la conception logique d,un
ED
...496. Conclusion
...
...50Chapitre
03 :
Le
Processus
ETC
l.Introduction
...
...522. Le processus ETC
@xtraction-Transformation-Chargement)
...522.1.
L'extraction
...
...522.z.Latransformation
...
...,...522.3.Le
chargement
...533. Mapping entre la source et l'entrep6t de
donndes
...534. Alimentation des
cubes
...575. Conclusion
...
...
60Chapitre
04 :
Mise
en rnuvre
l.Intoduction
...
...622.1.
Canctdristiques
...622.2. Fonctionnalitds
...
...623. Valentina
Studio....
...634.
Talend...
...645. Jasposoft
...
...656. La mise en
€uvre
desystArne
..."..."65 6.1. Alimentation de la sornceinterne
...,...676,2. Cr6ation et chargement des cubes olap avec Talend open
studio
...686.3.
Lavisualisation
...
...71 7.Conclusion...
...73Conclusion g6n6rale
...
...7s
Bibliographie
Annexe
I'u
Liste
des
Figures
Liste
f,es
lFigures
Figure 0l.Dondes non volatiles
...
...06F'igure O2.Architecture de rdference d'un
ED...
... ..0g F'igure 03. Moddle en6toile
...,,..,....lz
X'igure 04. Exemple d'un moddle en flocon deneige
... 13Figure 05. Exemples d'un schdma en constellation
...
... 14X'igure 06. Une partie des donndes de
StackEschange
...lg
F'igure 07. Requ6te q1:" group by tagname"
... 20Figure 08. R6sultat d'exdcution de
Ql
... 20Figure09.
Requdte q2:'oplusieurs groupby"
...
...,..,...21Figure 10. Schdma relationnel de
StackEschange
...,.3l
Figure
11. Requ0teQl
"How many UpVotes do I have for eachTag?',
...,...42Figure
12. Requ6te Q2 *How many comments do I have for eachscore?,,
...42X'igure 13. Requdte Q3 *What is my accepted answer percentage Rate? .o ... ...42
X'igure 14. Requ6te Q5 "Top 500 answers on the
site,'...
....43
Figure
15. Requote"up
vs Down votes by day of week of a question or answer? "...43X'igure 16. Une partie de schdmas relationnels de Stackoverflow
...
...44Figure
17. Schdma multidimensionnel de I'analyse des PostTags...
... 45Frgure 18. Schdma multidimensionnel de I'analyse des commentaires
...
...4s Frgure 19. Schdma multidimensionnel de l'analyse desvotes
...,.. 46Flgure2O. Schdma multidimensionnel de l'analyse des Interactions des utilisateurs avec les divers types de
posts...
...46trIcunn21. Schdmas en
constellation...
...4g Figure22. Valentinastudio
...63Liste
des
Figures
F''igure23. Talend OS : Talend OS
...
...65Figure24. Talend OS : chargement de latable Posts
...
...66Figure25. Valentina Studio : la table stackexchange.
Posts....
... 66Figure26. Talend OS : chargement de la table Posffeedback
...
...,...67Figure27. Talend OS : chargement de la dimension
Users_dim
...68Figure28. Talend OS : chargement de cube olap < Count cube ))
...
...69Figure29. Talend OS : chargement de cube olap < PostTagsAnalysis_cubeD ...70
Figure.30. Valentina Studio: cube olap < Count_cube)
...
...70Figure3l.
Valentina Studio: cube olap < PostTagsAnalysis_cube>...
...21Figure32. Jasperserver: Table croisde de navigation << Count_cube>>
...
...71Figure33. Jasperserver: nombre d'Upvotes pour chaque
Tag
....,...,.72Figure34. Jasperserver: nombre de Post par
Tag
...,,.72Liste
des
Tableaux
Liste
festa\feauy
Tableau
0l.OLAP
VSOLTP
...02Tableau
02. Moddle conceptuel d'une table de faits...
...l0
Tableau
03. Moddle conceptuel d'une table dedimension
... ll
Tableau 04. Comparaison entre SE, Quora, Yahoolanswers
... 17Tabfeau 05. Description des donndes de
StackExchange
...24Tableau
06. Descripion des Associations entres les donndes de StackExchange...26Tableau 0T.extraction des cubes selon I'approche
Bottom-UP
...41Introduction
G6n6rale
Introduction
Generale
Le fidsor de nos jours est la valeur inestimable que reprdsente
I'un
des capitaux principal del'organisation; on
ne parle pas d'argentni
de facteur humain mais des donndes.Le
besoind'exploiter ces donndes par l'organisation a poussd l'dvolution des techniques et des applioations
qui
traites ces donndes.L'6volution
importante de ces technologies en termesde
vitesse detraitement,
de
capacitden
m6moireet en
stockage,le
cloud
computing,tout
cela
a
aid6I'organisation d manipuler de grandes masses des donn6es en distinguant le plus important de
l'important. De nos jours, la question pos6e est comment bien g6rer ces donn6es en temps r6el
tout
en gagnant en temps et en argent pourle
but de bien aider les d6cideurs de prendre uneddcision correcte et en temps opportuns.
L'aide
i
la
ddcision est ddfinie comme dtantI'activitd
de celui qui, prenant appui sur des modOles clairement explicitds mais non ndcessairement completement formalisds, aide d obtenirdes 6l6ments de rdponse aux questions que se pose
un
acteur dansun
processus de ddcision,dl6ments concourant
d
6clairerla
d6cisionet
normalementd
recommander,ou
simplement dfavoriser,
un
comporteinent de natured
accroitrela
cohirence entreI'ivolution
du processusd'une
part,
les objectifset
le
systdme de valeurs au service desquels ces acteurs se trouvent places d'autre part.Un
systime
d'informations d6di6
d
I'aide
d la
decision,
ou
tout court,
un
systdmed'information ddcisionnel (SID) comme l'ensemble des moyens humains, matdriels et logiciels
destind
d
la collecte, dla
m6morisation,i
la restitution des informations issues des sources deproduction et destindes d faciliter la prise de ddcision .
Il
se distingue d'un sysGme d'informationclassique dans le sens que ce dernier assure I'activitd de l'organisation au quotidien, alors que le
SID est destind
i
I'analyse eti
la prise de ddcision.Au
ccur
d'un
SID, un entrep6t de donn6esest une base de donn€es dedi€e d l'analyse et
i
la ddcouverte des connaissances.Il
est alimentdi
partir d'une ou
de
plusieurs sourcesd
traversun
processus d'extraction, transformation etchargement
(ETC).
A
partir
de l'entrep6t,
des structures analytiques peuvent €tre extraitesoappeldes
cubes
de
donndes
ou
cube
OLAP. Ces
oubes
sont
organisds
de
manieremultidimensionnelle, autour
d'un
zujet d'analyse(fat|
n
analyser selon des axes d'analyse,appelCes dimensions.
Les
entrep6tsde
donndesont
prouvd
leur
efficacit6
dans diff6rentsdomaine, tels que la vente, l'6ducation, les t6l€communications, la m6decine, etc.
Introduction
G6n6rale
Dans ce fravail, nous nous intdressons aux systdmes d'entre-aide ddployds sous la forme de
forums sur
le
Web et qui permettent des dchanges d'expdriences entre les gensd'un
domaineparticulier
(informatique,
mathdmatiques,
langues,
etc.) Ces
dchanges
s'effectuentprincipalement
par
des questionset
des reponsesaux
questions.Un
exemple populaire desfonrms doentre-aide est le rdseau StackExchange. Ce forum
A
mis au grandpublic
unAPI
quipermet la manipulation des donndes, par des analystes ou par des non-informaticiens. Cette
API
permet
soit
d'exdcuter des requdtes param6trdes et prdddfiniesou
enpemettant d'6crire
des requOtes en SQL, notamment pour des besoins d'analytiques.L'objectif
de ce travail est d'dtendre les possibilit6s analytique du rdseau StackExchange etdes rdseaux similaires, bas6s sur la notion de Questions
/
R6ponses. Ce travail est motiv6 par ladisponibilitd des donndes de StackExchange,
qui
peut 6he consid6r6e comme une source de donndes d'un systdme d'entreposage et d'analyse en ligne.Notre travail consiste
i
concevoir et impldmenter une base de donndes multidimensionnellesous
la
forme
d'un
ensemblede
cubes,afin
de permettre des analyses diverspar
des outilsOLAP. L'extension des possibilitds analytiques est effectude selon deux approches:
-
Une approche descendante inspirde de I'approche de lnmon, qui estl'un
des fondateursdes entrepOts de donn6es et
qui
consiste d ddduire des cubesOLAP
directement de labase de donn6es en analysant les tables sources et leurs relations.
-
Une approche ascendante inspirde de I'approche de Kimball, un autre fondateur desenhepdts de donndes, et qui consiste d dtendre les requ6tes analytiques proposdes dans
I'API
de StackExchange en leur ajoutant des dimensions d'analyse et des hidrarchies.La
combinaison des deux approches donnelieu
i
un
ensemblede
cubesOLAP dont
leschdma combin6 correspond
i
une galanie et sur lequel portera l'analyse en ligne.Notre mCmoire est organisd en 4 chapites
.
Chrpitre 01
:
dansce
chapitre, nous prdsentons les notions de basesur les
entrep6ts dedonndes
et
une
introduction
au
systdmed'entraide
Q/R
(Stackexchange,Quor4
Yahoo !Answers).
.
Chapitre
UI
z ce
chapitre
inclut
une
descriptiondes
sourcesde
donneesainsi que
lesIntroduction
G6n6rale
'
Chapitre 03
:
ce chapihe inclut une introduction sur le processusETL
;
la table de mappingentre Ie schdma multidimensionnel ainsi que les algorithmes de chargement des tables de faits.
. Chapitre
04 : c'est la phase de misE en Guvre de notre systdme, elle inclut I'impl€mentationdes cubes, leur alimentation ainsi que leur visualisation
Cftapitre
1
Entrepdt
de donn6es
&
Systimes
d'entraide
Question/R6ponse
L.
Introduction
2.
Entrepdts
de donn6es
3. Les
Systimes QuestionlR6ponse
4.
Besoins d'analyse dans
un systime
de
Q/R
5.
Conclusion
E
Entrepdt
de donn6es
&
systimes
d'entraide
euestion/R6ponse
1.
Introduction
Le concept d'entrep6t de donn6es (ED) a dt6 formalisd pour la premidre fois en 1990 par
Bill
Inmon.
Il
s'agissait de constituer une base de donndes orientde sujet, intdgrde et contenant des informations historisdes,non volatiles
et
exclusivement destindes aux processusd'aide
i
lad6cision. [W1]
En effet, la simple logique de production (produire pour repondre d une demande) ne
suffit
plus pour p6renniser I'activitd d'une entreprise. Elle est un systdme ouvert sur son environnement
au
ccur
des systdmes d'informations confrontde d des ph6nomdnes dconomiques et sociaux lourdde cons6quences.
Pour faire face aux
nouveauxenjeux, l'entreprise
doit
collecter,
traiter,
analyser lesinformations
de
son
environnementpour
anticiper.
Mais
cette
information produite
parI'entreprise
est
surabondante,non
organisdeet
6parpillde
dans
de
multiples
systdmesop6rationnels h6t6rogdnes et peut provenir de toutes les places de march6s (mondialisation des
6changes).
Il
devient
fondamentalde
rassembleret
d'homogdn6iserles
donn6esafin
de
permettreI'analyse des indicateurs pertinents pour faciliter la prise de ddcisions.
L'objectif
de I'entrep6t dedonndes est de
d6finir
et
d'intdgrer une architecturequi
servede
fondationaux
applicationsd6cisionnelles.
2.
Entrepdts
de
donn6es
2.1.
D6finition
Un entrepdt de donn6es est une collection de donn6es thdmatiques, intdgr6es, non volatiles et
historisees pour la prise de decisions
@ill
Inmon)IBII
L'infrastructure technique mise
en
Guvre est capabled'intdgrer,
d'organiser,
au
sein dusystdme d'information (SI) issues des applications de production ou importdes depuis I'ext6rieur
du SI
(lou6esou
achetdes) dans lesquellesles
utilisateursfinaux
puisent des informationspertinentes d I'aide d'outils de restitution et d'analyse OLAP (On-Line Analytical Processing).
2.1.1 Donn6es orient6es sujet
L'entrepdt de donnees est organisd autour des sujets majeurs et des mdtiers de I'entreprise.
Les donnees sont organis6es par thdme, contrairement aux donnees des systdmes de production,
organisdes par processus fonctionnels.
L'avantage de cette reprdsentation demeure dans le
fait
qu'il devient possible de r6aliser desanalyses
sur
des
sujets transversauxaux
strucfures fonctionnelleset
organisationnelles deE
Entrep0t
de donn6es
&
systimes
d'entraide
euestion/R6ponse
concepion au sein du SI. Cette orientation permet dgalement de faire des analyses par
itiration,
sujet aprds sujet.L'intdgration
dansune
structure uniqueest
indispensablepour
6viter
auxdonndes concerndes par plusieurs sujets d'6tre dupliqudes. Dans la pratique
il
existe dgalementdes magasins de donndes (Data mart) pouvant supporter I'orientation sujet.
2.1.2 Donnees integrees
Un enhep6t de donndes est un projet d'entreprise et concerne les diffErents services et mdtiers
de I'entreprise. L'intdgration de donn6es, au sein d'un entrepdt de donn6es, est donc un processus
determinant
sur
la
qualit6
et la
quantitdd'informations
disponiblesaux
utilisateurspour
leprocessus de ddcision.
Cette phase, que nous verrons
plus
en d6tail, au (chapitre03),implique
que les donndesdoivent 0tre
misesen
forme
et
unifides
afin
d'avoir
un
6tat
coh6rent.Pour parfaire
cettecohdrence, l'intdgration ndcessite une forte normalisation de donndes. Mais aussi la maitrise de
la
sdmantique,la
prise en compte des contraintes rdf6rentielleset
des rdgles de gestion. Cesnotions sont
6nonc6es, ddtaill6eset
administr6esau
sein des m6tadonndesde
I'entrepdt de donn6es.C'est
ainsi que I'on
poura
donnerune
bonne
vision
de
I'entreprisevia
I'utilisationd'indicateurs.
2.1.3
Donnees historis6esL'historisation est ndcessaire pour suivre dans le temps I'dvolution des differentes valeurs des
indicateurs
i
analyser. Ainsi, un rdftrentiel temps doit 6tre associd aux donndes afin de permettreI'identification dans la duree de valeurs prdcises.
2.1.4 Donn&s
non volatilesAhn
de conserverla
tragabilitd des informationset
des ddcisions prises, les informationsstockees au sein de I'entrep6t de donnees ne peuvent Otre supprimdes (Figure
l).
Bases
de
production
Entrep6ts de donndes
Ajout
-[.F---SuPPression
[E*kf*llls-_.,rc
Modification
.-Accds
ilil
Entrepdt
de
donn6es
&
Systimes
d'entraide
Question/R6ponse
2'i"l;::llildilhft
T:ffirf:r"T"xffi,"r:::"
.
Pose le probldme de performance d cause du grand volume de donndes.Et pour mieux comprendre les caract6ristiques d'un entrepdt de donn6es, nous le comparant
avec une base de donn6es op6rationnelles. Ce tableau exprime une comparaison entre les donndes ddcisionnelles et fonctionnelles.
Carac/;6ristique Boses de donndes opdrationnelles Entrepflts de donndes
Buts Gestion des donndes opdrotionnelles Aide d lo ddcision
Nb d'utillsateurs Milliers Centaine
Nature des requ€tes Requ€tes prdddfinies Requ€tes Ad Hoc
Accds aux donndes Centoines d'enregistrements, en lecture
/
icriture
M i I I ion s d' en re g istre me nts, e n
lecture seule DonnCes Ditoillees, numdriques et olphonum€riques Plut6t numiriques
lntegrqtion OrientCe opplication Orientde sujet
Couverture
temporelle Do n nies cou ro ntes se u le me nt Donnde courantes et historiques
Mise d Jour Continue Pdriodique
Maddle de donnAes Normalisd Dd norma lisd, M u ltid ime nsion ne I
Optimisotion Accds tronsaaionnel it une partie de lo BD Accis anolytique
d
tout la BDTableau 0l.OLAP VS OLTP [M1]
2.3.
Architecture
de r6f6renced'un
entrep6t de donn6esCette architecture se divise en trois zones : pr6paration, stockage, pr6sentation (figure 2)
.? T
E
Enhep6t
de
donn6es
&
systimes
d'entraide
euestion/R6ponse
Zone de Requ€tes Rapports Data,Mining Zone de pr€parationi-r
tcl
ir'ri
\A
1R
\c
le
lM
iE;
1Nl
l-lr'
$il
r-i
\
-\i
\
/c
iwil
iirLi-1'
Nettoyage Standardieation Sources donndesFigure 02.architecture de rdference d'un ED [W16]
Dans la zone de prdparation les donndes sont extraites
i
partir des sources de donndes,Ces donndes applicatives sont donc extraites, transformdes et chargdes dans un entrep6t
de
donn6espar
un outil
de type
ETL
@xtract-Tranform-Load)ou
en
frangais ETC(Extraction-Transformati on-Chargem ent).
Il
existe diff6rentes zonesde
stockagequi
diffdrent
selonla
port6eet la taille.
Ondistingue:
L'Entrepdt
de donndes-
Transversal-
De tCraoctets aux pdtaoctetsLe
Datamarts (magasins de donnees)-
Conceme un ddpartement-
De giga-octets aux tdraootetsLes Cubes
-
Extrait de I'entrep6t ou du Datamart-
De mdgaootets aux giga-octets7.one de pr6sentations
Oufils d'ana$se
Outils de requ6tage Fouille de donndes OLAP / reporting IE
Entrepdt
de
donn6es
&
systimes
doentraide euestion/R6ponse
2.3.1. Les classes de donn6es
Un entrepdt de donndes peut se structurer en quatre classes de donndes organisdes selon un axe
historique et un axe de synthdse.
twll
o
Les donn6es agr6g6esLes donndes agrdgdes correspondent
i
des dldmentsd'analyse
prdsentant les besoins desutilisateurs.
Elles constituent
d6ji
un rdsultat d'analyse et une synthdse de l'information contenue dansle systdme ddcisionnel, et doivent 6tre facilement accessibles et compr6hensibles.
o
Les donn6es d6taill6esLes
donn6es d6tailldesrefldtent
les
6vdnementsles plus
rdcents.Les
intdgrationsrdgulidres
des
donn6es issuesdes
systdmesde
productionvont
habituellement Otrer6alis6es d ce niveau.
r
Les m6tadonn6esLes
m6tadonn6es constituent I'ensembledes
donndesqui
ddcrivent
des
rdgles
ouprocessus attach6s
i
d'autres donn6es. Ces dernidres constituentla
finalitd du
svstdmed'information.
o
Ls
donnees historiseesChaque nouvelle insertion de donn6es provenant du systdme de production ne d6truit pas
les anciennes valeurso mais cr6e une nouvelle occurrence de la donn€e.
2.3.2. Mod6lisation de donnees
Dans la conception d'un systdme d'information, la moddlisation des donndes est I'analyse et
la conception de I'information contenue dans le systdme.
)
La
mod6lisationpar
sujet
un entep6t de donndes est gdndralement bas6 sur un SGBD relationnel.L^a moddlisation par sujet est une technique de conception logique qui vise A organiser et
classifier les informations des bases ldgataires en donndes classdes par sujet fonctionnel. Elle est
basee sur la moddlisation "EntitdlRelation" et est pr6liminaire d la moddlisation dimensionnelle.
Chaque
sujet
correspondi
une
tableg&6e au
seinde
l'entrepdt.Il
faut isoler les
donn6esstratdgiques, ddterminer
les
informationsde
ddtails ndcessaires (profondeur, granularitd) etconserver les m6tadonndes.
D
La
modGlisationdimensionnelle
La
moddlisation dimensionnelle souvent appeldemod6lisation
OLAP
se prdsente comme une alternative au moddle relationnel.Elle
conespondffiffi
Entrepdt
de donn6es
&
Syst0mes
d'entraide
Question/R6ponse
C'est une mdthode de conception logique qui vise d prdsenter les donn6es sous une forme
standardisde intuitive et qui permet des accds hautement performants. Elle aboutit d pr6senter les
donndes
non
plus
sousforme de
tablesmais de
cube centr6sur une activit6.
Un
cube dedimension n (n > 3) est aussi dit hyper cube.
La table de faits est la clef de
votte
du moddle dimensionnel otr sont stock6s les indicateursde performances. Le concepteur s'efforce de considdrer comme indicateurs les informations d'un
processus d'entreprise dans un systdme d'information. Les indicateurs 6tant les donn6es les plus
volumineuses d'un systdme d'information, on ne peut se permettre de les dupliquer dans d'autres
tables mais de les rationaliser au sein de la table de faits.
o
La
table defaits
Table
de
faits
des ventesjournalidres
Cl6 date (CE)
Cl6
nroduit
(CE)Cl6 masasin (CE)
Quantit6 vendue
Montant
des ventes (€)Tableau 02. Moddle conceptuel d'une table de faits
Le terme < fait > est utilis6 pour reprdsenter une mesure dconomique. Pour exemple, lors de la
vente de produits sur un marchd, on comptabilise les types de produits vendus, leur quantitd et le
montant de chaque vente au
jour
lejour
et ce, pour chaque produit et pour chaque magasin.La mesure des quantitds et des
prix
est rdalisde d I'intersection de toutes les dimensions (produit,magasin, temps), coillme illustrd en tableau 2. Le nombre des dimensions ddtermine la finesse, la
granularitd de la table et indique la port6e de l'indicateur.
o
Additivit6s
des indicateursLes indicateurs les plus utiles d'une table de faits sont num6riques et additifs.
L'additivit6
desattributs d'une table de faits est cruciale pour les outils ddcisionnels. Les utilisateurs demandent
rarement l'analyse d'une seule ligne. Dans notre exemple, constater les ventes de produits sur
une annde pour les magasins d'une r6gion demande I'analyse de plusieurs milliers de lignes d la fois.
Pour autant, tous les attributs utiles ne sont pas additifs. Certains sont semi
additifs et
nepeuvent 6tre additionnds que pour certaines dimensions.
Sil
Entrep6t
de donn6es
&
Systimes
d'entraide
Question/R6ponse
D'autres sont non additifs et ne peuvent pas 6tre additionn6s par dimensions.
Pour cette demidre cat6gorie, on utilise des fonctions d'agrdgations tel que, le calcul de moyenne,
le ratio ou le comptage de lignes.
o
Les dimensionsLes tables de dimensions sont les entitds compldmentaires
i
la conception de la table de faits.Elles
contiennento autantque
possible,des attributs
sousforme
de
descriptions textuellespermettant de qualifier ou d'expliquer l'activit6.
Des
attributsde
dimensions, nombreux, permeffentde varier les
possibilit6s d'analyse (partranches ou en dds). Ces attributs rendent utilisables et
intelligible
les donndes de I'entrepdt dedonn6es. Ils dtablissent, en quelque sorte une interface homme/entrep6t de donn6es.
En g6n6ral, les tables de dimensions tendent d 6tre peu profondes mais elles sont larges (l'inverse
de la table de faits), en d'autres termes elles ont peu de lignes mais beaucoup de colonnes. Le
tableau 3 montre un exemple de la table de dimension produit.
Tables
de
dimension
"Produit"
Cl6 nroduit (CP) Description du produit Num6ro US (cl6 naturelle) Description de la marque Description de la cat6gorie Description du rayon
Description du type d'emballage
... et bien d'autre attributs
Tableau 03. Moddle conceptuel d'une table de dimension
2.4.
structure
logique&
physique de sch6mas deI'entrepdt
de donneesAu
sein de I'entrep6t de donn6es les donn6es sont redondantes et d6moralisdes, nous sommesloin
de la mod6lisation en hoisidme forme normale (3I.IF) et pour cause, cela permet de faciliterl'utilisation
et d'am6liorer les performances lors de I'analyse des donndes.Trois types de schdmas sont fr6quemment rencontr6s : le sch6ma en 6toile, le sch6ma en flocon
et le sch6ma en constellation de faits.
ffi
Entrep6t
de donn6es
&
systdmes
d'entraide
euestion/R6ponse
2.4.1. Le sch6ma en 6toile
Dans un sch6ma en 6toile, une table centrale de faits contenant les faits d analyser, rdference
les tables de dimensions par des clefs dtrangdres. Chaque dimension est d6crite par une seule
table
(feuille de l'arbre de
tables)dont les
attributs
reprdsententles
diverses granularit6spossibles (voir figure 3).
Figure 3. Moddle en 6toile [W17]
2.4,2. Le sch6ma en flocon de neige
Dans
un
sch6maen flocon de
neige, cette m6metable de faits,
r6ference les tables dedimensions de premier niveau, au m6me
titre
que le sch6ma en dtoile. La difference r6side dansle fait que les dimensions sont d6crites par une succession de tables (d l'aide de clefs dtrangdres)
reprdsentant la granularit6 de I'information. Ce schdma 6vite les redondances d'information mais
ndcessite des jointures lors des agr6gations de ces dimensions (figure 4). Dimension Temps
lD temps
annde niois
jour Dimension produit
f)imnnsion Marra.iin lD produit
nom code pflx poids sroupe famille lD magasin description ville surface
\!
/
l-1
E
r
Itlr
;t
I
Dimension Reqi Dimension Client
lD rdgion pays descrrptron dishict vente lD clienl nonl prenom adresse r"2
E
Entrepot
de
donndes
&
systimes
d'entraide
euestion/R6ponse
Figure 4. Exemple d'un moddle en flocon de neige [Wl8]
2.4.3. Le schdma en constellation de
faits
Dans un schdma en constellation, plusieurs moddles dimensionnels se pafiagent les mOmes
dimensions,
c'est-idire,
les tables de faits ont des tables de dimensions en coillmun(voir
figure5).
Pour conclure, les
diftrences
entre ces trois moddles sont faibles et ne peuvent donner lieui
des comparaisons de performance. Ce sont des sch6mas issus de la mod6lisation dimensionnelle
E
Entrepdt
de donn6es
&
systimes
d'entraide
euestion/R6ponse
Fait M*:sre Band* C
lDfichier lD zone lDternps Mesure C enregistre C0rrection C associee eurSAT lDzone * Description Latitude ddbut Latitude fln longitude dEbut Longitude fin lD pay5 Fait p;:rarnetre d'enuirnnrienrent Mlcroseconde lEtseconde lO minute lD heure lDjorlriulien lDfichier lD zoile lDtemps Vitesse de vent x de vaporisation rature d'eau Date de d€but Date de fin
lD passage Fait PJlesLrre Bfinrie KLI lD zone lDtemps Mesure KU enregistr€e Correctfon KU associee Altitude KU Nature surJace
Figure 5. Exemples d'un sch6ma en constellation [Wl9]
2.5. R6alisation
d'un
entrep6t de donn6esDu point de vue de la conception du schema de l'entrepdt, nous distinguons dans la
litt€rature trois grandes approches (Top-down, Bottom-up,
Middle-out)
2.5.1.
Bottom-up
(theKimball
approach)Dans I'approche ascendante, les ddp6ts
de
donn6es sontd'abord
cr66spour
fournir
desfonctionnalit6s de cr6ation de rapports et d'analyse pour des processus m6tier sp6cifiques. Ces
magasins de donnees peuvent ensuite 6tre intdgrds pour crder un entrepdt de donn6es complet.
L'architecture du bus de I'entrep6t de donn6es est principalement une impl6mentation
de
"thebus", un ensemble de dimensions et de faits conformes,
qui
sont des dimensions partag6es (demanidre specifique) entre des faits dans deux ou plusieurs magasins de donndes [W20]
2.5.2. Top-down (the
Bill
Inmon
approach)L'approche descendante est congue d I'aide d'un moddle de donndes d'entreprise normalisd.
Les
donndes "atomiquesr', c'est-d-direles
donn6esles plus
d6taill6es,sont
stockees dansI'entrepdt
de
donnees.Les
magasinsde
donnees dimensionnels contenantles
donndes n6cessairesi
des processus mdtier oui
des services sp6cifiques sont orddes d partir de I'entrep6tE
Entrepdt
de
donn6es
&
systimes
d'entraide
euestionlRdponse
2,5.3. Hybrid
(un mdlange des deux approches)L'entrepdt
de
donndesest
conservd danssa troisidme forme
normalepour
dliminer
laredondance des donndes. Cependant, une base de dorindes relationnelle
normalis6e
n'est pasefficace
pour les
rapportsde
Business Intelligenceof
la
moddlisation dimensionnelle estrepandue. Les petits magasins de donndes peuvent rechercher les donn6es de I'entrepdt consolidd
et utiliser
les donndes spdcifiques filtrdespour
les tables defaits
et
les dimensions requises.L'entrep0t
constitueune
source d'informations uniqued partir de
laquelleles
magasins dedonn6es
peuvent
lire,
fournissant
ainsi
un
large 6ventail
d'informations
commerciales.L'architecture hybride permet de remplacer
un ED
parun
r6f6rentiel de gestion des donn6es(master data management-MDM-) dans lequel des informations opdrationnelles, et non statiques,
pourraient rdsider. [W20].
3.
Les Systimes Question/R6ponse
L'dvolution
de
la
connaissance scientifiquene
cessede
secroitre. Les
gens, 6tudiants,chercheurs ou autres sont
i
un moment face d des situations otrils
ont besoins del'aide
d undomaine ou un sujet
qu'ils
croisent dans leurs quotidiens.L'dvolution
de I'informatique, et entreautres, I'intelligence
artificielle
ainsi quel'apparition
de I'Internet ont promu des systdmes dequestions/r6ponses
(QlR)
qui aident les gens de manidres diffdrents et dans differents domaines.Dans cette section, nous prdsentons les systdmes d'entraide en ligne bas6s sur les questions et les
r6ponses.
3.1 Les SystDmes
d'entraide
en ligne QuestionlR6ponsel'entraide en
ligne
estI'action
de s'entraider,de
s'aider mufuellement, d'agir en commun.Travail
ou
action effectu6s conjointement par plusieurs personnesIW22l.
L'entraide en ligneconcerne
les
personnesqui
utilisent
des sitesWeb
et
des forumspour former
des groupesd'entraide (des communautds en
ligne)
pour s'entraider dans un domaine sp6cifique.3.1.1
Pourquoi
un systimed'entraide
en ligne Question/R6ponseLa
recherchesimple
dans Googleou
Wikip6dia
ne
repond pastoujours
d
nos
besoinsd'apprentissage et de connaissance. De
fois
on ne comprend jamais les gensqui
repondent ouqui
posent ces questionsni
leurs intentions ou motivations. Les gensqui
ddveloppent les sitesd'entraide en ligne visent
i
rdgler ce probldme par :r
L'augmentation de niveau de questions/rdponses significative en ligne dans un domaineE
Entrepot
de donn6es
&
systimes
d'entraide
euestion/Rdponse
'
Ddveloppement de systdmes de qualitd qui permettent le contrdle des utilisateurs et parI'utilisateuro
etla
mised'un
systdme de reconnaissance d ceux qui posent/repondent ddes meilleures publications (posts), badges, r6putation, droits d'action sur le site, etc.
'
Ddveloppementde
sites extr€mement efficace,tant
dansla
pertinence des questionspos6es que dans la
lisibilit6
et la qualitd des rdponses obtenues (dans chaque domaineprdcis
il
y a des experts).Nous allons
faire
une 6tudesur
les systdmes d'entraide enligne
Q/Rpour
connaitre cescomposants et mieux comprendre sont fonctionnements.
3.1.2
Etuded'un
casd'un
systimed'entraide
en ligne QuestionlR6ponseNotre cas, nous allons 6tudier
trois
sites d'entraide en ligne Q/R, qui sont les plus populairesdans le Web,
il
s'agit d'une 6tude comparative afin de d6gager les dl6ments en communs entreces systdmes.
le
web
qui
permetd
sesutilisateurs
de cr6er,d'6diter
et
d'organiser desquestions-r6ponses.
Le
site organise les questions-r6ponses par sujets et permet aux utilisateursde
collaborer.
La
maison mdre, Quora
Inc., est
localisde
d
Mountain
View,
enCalifornie. Le
site, fond6 enjuin
2009, et rendu disponible aupublic
le 21juin
2010,a atteint
les
100millions
devisiteurs
uniquespar mois
en mars2016.
Quoraa
6t6fond6 en
avril
2009
par Adam d'Angelo,
co-fondateur
et
direoteur technique
deFacebook, et Charlie Cheever,
qui
a men6i
bien la cr6ation de Facebook Connect etde Facebook Platform.
[W2]
courarlment connu sous le sigle Yahoo !
Q&
est un service communautaire collaboratifdans lequel les membres proposent des rdponses aux questions pos6es
par
d'autres.Il
s'agit d'un service du portail Yatroo! qui a 6t6 lanc6 en d6cembre 2005 aux Etats-Unis, en
2006 en France. [W3]
F
StackExchange:
Stackexchangea
etd
crdeen
2008par Jeff Atwood
et
JoelSpolsky. Stackexchange
est un
r6seaudes
communautds(175 sites) dont
le
plus populaire est StackOverflow, etqui
sont cr66es et fonctionn6es par des experts et desenthousiastes
qui
sont
passionn6spour
un
sujet
sp6cifique
organisdesdans
desbibliothdques
des
questions-
r6ponsesde
haute qualit6
axdes
sur
le
domained'expertise de chaque communaut6. StackOverflow est
le
domaine leplus
importantet populaire de rdseau Stackexchange dddi6 pour la communaut6 des d6veloppeurs et
ffi
Entrepdt
de donn6es
&
systimes
d'entraide
euestionrR6ponse
Le
tableaucomparatif
suivantmontre les
composants en communsest les
diff6rencesentre ces
trois
sites [Tableau04].:Stackexchange Nature de
site
Q/RNature des
questions
- privil6gient les questions pos6e parlesutilisateurs
sp6cifiques et objectivementresponsables aux questions de discussion large et ouverte
Nature des rdponses
aux
- Les r6ponses doivent 6tre toutQuestions
aussi pr6cises et appuyer leurs: arguments avec des arguments et
des sources [ce qui est positive) Rdglement int6rieur
de
- Les sites Stackexchange ont parsite
leur conception un obiectiftrds 6troit et des rdgles exremement strictes en matidre de sujet Domaines dans lesite
- Stackexchange est compos6 deplusieurs secteurs: plusieurs sites, un domaine de connaissance chacun [10]
Tags
-oui on peut taguer une question(les tags est une table dans le sch6maJune
-oui on peutTableau 04, Comparaison entre SE, Quora, yahoo lanswers [W5, W6, W7, Wg, Wl6]
Le
tableau 04 nous pennet de ddgager les composants en colnmuns entre les sites web denotre cas d'dtude
:
les utilisateurs peuvent poser des questions, r6pondre d des questions, dditerdes questions
ou
des r6ponses, commenterun
ou
plusieurs posts(un
post coffespondi
uneQuora
Q/R
- large et ouverte
-encourager des
discussions et des opinions
plus ouvertes fmais ce
n'est pas une chose ndgativeJ
-moins strictes (mais pas faibleJ
- Quora est horizontal: un site, tous les domaines de la connaissance
-oui on peut mais par
commentaire -oui on peut -oui -oui -oui -oui -oui
-oui on peut faire des
classements pour des fins d'analyse
-actuellement non Amazon Web Services (hostingJ, Ubuntu Linux
(systeml, PYLONS [web
server), TORNADO (web
Framework), PYTHON,
IAVASCRIPT MySQLfle sch6ma de la BD n'est pas
r6v6ler au public mais les fondateurs disent qu'il
ressemble aux sch6mas de FriendFeedJ, Git (controll Commenter une Q ou R Editer une Q/R Voter une Q/R Rdputation Score R6compenses (badges) Classement(Ranking) API Quelques Choix techniques -oui -oui -oui -oui -oui
-oui on peut faire des classements
pour des fins d'analyse -oul
SYSTEM: Microsoft Windows
SERVER X64,WEB SERVER: IIS ,Database:SQL Server Yahoo ! Answers Q/R - large et ouverte -encourager des discussions et des opinions plus ouvertes -moins strictes
(mais pas faibleJ
-horizontal plusieurs cat6gories(26) -oui -oui on peut -oui -oui -oui -oui -oui -oui on peut faire des classements
pour des fins d'analyse -oui Un m6lange de MySQL, oracle (BD] -l *t ^8. lr
fil
Entrep0t
de
donn6es
&
Systimes
d'entraide
Question/R6ponse
question, une reponseso etc.), identifier (Tag) des questions, voter un post positivement (Up vote)
ou
ndgativement@own vote)
ou
sur
un
score positivementou
n6gativement, gagner en rdputation. Ces points communs sont gdn6ralement les dldmentsqui
composent les systdmesd'entraide en ligne Q/R.
Stackexchange
a mis
aupublic
une quantitdde
ses propres donn6esi
desfins
d'analyse enformat
xml
(figure 6). Ces donndes sont tdldchargeablesvia
le site Web archive.org, qui est unelibrairie
de
donndesd'Internet.
La
disponibilitd
des
donndesde
Stackexchangenous
a encourag6s d I'utiliser comme rdftrence de base pour le reste de notre travail.3.1.3
L'exploration
des donnees de StackexchangeL'exploration est le fait de chercher avec I'intention de ddcouvrir, d'dtudier quelque chose ou
un lieu.
[Wl1]
L'exploration
des donndesde
Stackexchange estle fait
de
chercher,fouiller et
analyser les donndes (figure06). Seulement, le fait d'avoir juste une collection de donn6es n'a pas une grandeutilit6.
IL
faut poser des questions par exemple:(
How many upvotes doI
have for each Tag? >r,ou
<<the Most popular Stackoverflow Tagsin
May
2010)
[W9].
Pour rdpondre aux questionspar des requ6tes en langage
T-SQL,
Stackexchange amis
en ligneun
outil
open source pourexdcuter des requdtes arbitraires sur des donndes publiques du rdseau Stackexchange,
c'est
lestackexchange data
explorer
(SEDE) [WS]. Pour les
d6veloppeursqui
veulent crder
desapplications
basdessur les
donndesde
Stackexchange,en
utilisent leurs
langages deprogrammation
qui
lui
sont familiers, tels que F# et JavaScript, Stackexchange a mis en ligneune
API
(actuellementV2.2) avec une documentationd'utilisation
deI'API
accessible d traversle site Web. [W12] '"r Badger
.!
CommentsIt'
PostHistoryIt'
PostLinks lL' Posts't'
Tagsllr
Usen '-l.i VotesI:JJ,:l1l
ii; lr, Pl,,'l 1Jl":l1l
1J:1n Pl,lll,'i
li;i3
ll:lt
Fl',{l;
jlriirli
ii:lr
Pi.'l l J,Jrliif
l J: lr, Pl,,'ll;'J'lili,
li: lo FhlI I'J,'':l'l
I
1 l;lI
F l'1Ii'JrJlll
lJ:1I Fli't;iitlL Icrunrent iiiilL Dccunrent i'l''..'lL Dccument ;i|.,'ll $riunrent ,ililL Dccilnrent ,thlL [ciunrrnt ,ii'{L Dciunrcnt ;t[,;lL D'rcunrent
E
Entrep6t
de donn6es
&
systimes
doentraide euestion/R6ponse
4.
Besoins doanalyse dans un
systime
de
elR
Stackoverflow et Stackexchange contient un tr6sor scientifique, une trds large quantitd de
donndes du monde r6el spdcialisd dans
le
domaine deQIR
(section 3.1.3).En
2018-2A19, oncompte neuf milliards pages
we
par 100 millions ou plus d'utilisateurs, StackOverflow a g6ndrdplus de 2,5
millions
de r6ponses et deuxmillions
de nouvelles questionso et plus de 1,6million
de nouveaux utilisateurs ont rejoint la communautd.[Wl3]
Les sch6mas de donndes de StackOverflow est document6 dans le Stackexchan
ge
data explorer(SEDE,
voir
la
section 3.1.3).
La
qualit6 des
donn6esest
6lev6egrdce
au travail
desadministrateurs
et
des mod6rateurs,malgrd que
les
donndesde
monder6el
aient
toujourstendance d avoir du
bruit.
L'analyse des donndes du monde rdel est beaucoup plus int6ressantecar elle permet de comprendre I'impl6mentation des techniques et leurs efficacitds.
Comme
Stackexchangeest
un
domaine
de
Q/&
souvent l'expression
des
requetesd'exploration des donndes passe par l'dcriture du code, c'est-d-dire I'analyste pour r6pondre d un
besoin
d'analyse
il
lui
faut dcrire et exdcuter une requ6te SQL, ou un code dans un langage deprogrammation
qui
fait
appele
I'API
(dans notre casI'API
de
Stackoverflow),ce
qui
rendl'analyse par
non
informaticiensdiffrcile et
carle
code seradifficile d
dcrireet
i
d6boguer.Aussi,
il
faut prendre en comptele
bruit et la
perte d'informations, due au grand volume dedonndes et le temps 6lev6 pour les rdcupdrer d
partir
du site Web. En outre, pour les requ6tesSQL,
il
faututiliser
plusieurs jointures, cequi
est couteux en termes de temps de reponse etparfois, les requ6tes sont trds complexes d dcrire et plusieurs groupements dans une seule requ6te
compliquentc,ette dernidre (Figures 7 et 8).
Toutefois, le SQL n'est pas ad6quat pour effectuer des analyses ndcessitant des explorations
et
des navigations dans les donn6esafin
de prendre des ddcisions. Pouravoir
une ex6cutionrapide des requ€tes ;
il
faut que la m€moire soit rapide et donc un mdcanisme de mdmoire cachesera
utile
et
preuve acc6l6rer les requdtes(en utilisant
les requOtes pr6c6dents), les rdsultatspeuvent causer
un out-of
memory, (mdmoire insuffrsante) quand les requOtes elles sont tropspecifiques. Dans ce cas les spicialistes en SQL demandant de mat6rialiser certains des rdsultats
(we
mat6rialisee) dans un espace sur le disque estla-il
faisant ddjnh
moddlisation etI'OLAp
lll
Entrepdt
de
donn6es
&
Systimes
d'entraide
QuestionlR6ponse
--
ilsis flrany uFfl,rBtssdo
I
ha,refcr
each tag?--
hcit long
befor'e
I
get tag
hadge:?OECLARE SUserId
int,-
{;li..rs,;r ",'-:;:r-:,SELE{T --TOP 20
TagHame,
caUl.IT{';') A5 UpVotes
FROf'l TaEg
fi,;i.rlR :i..:,ft: PostTags ON
FcstTags.Tagld = Tags.id
Ii.rl,i::,q: :,;:JLj
Pssts
OFJPosts.Parentld
.= PostTags.PastIdIiii,iif{
*riii." VDtes ONVotes.Postld
,"
Pssts,Id **c
VoteTypeld'. i
tlllEf;E
Posts,OrvnerUserld,., SUsenId
6ROUP BY Tagllane
OROER EY lJpVotes DESC
Figure 07. Requ€te el : "GROUP By rAG NAME"
-
[W8]Re"sulte
l.J'ndc=,.rE,trTagHarne
pg,,verFl"leil :3te.nd.ar{ts .net-3"5 CatE.llaEeiing
.net
cotYln-rancl-lifie
'.scriFtti{}g -net-4,.3 €sF.flet
Erep
DEstersql-ser-l'er
:=iorecl-pr0cedu res tcld u|lit-testing
Upl/ates
?5
111t
11 1'l7
6
6
,*3
3
3
3
3
3
3
E
Entrep0t
de
donn6es
&
systimes
d'entraide
euestionlR6ponse
Dans
la requ6te
Ql
en Figure7,
nous avonsfait
troisjointures et
un
< group by TagName>. Par contre,
si
on veut aussi grouperpar
< User > et < Tag Name >>, la requOte devientplus
complexe commela
requ6teQ2
enfigure
8.
On pourra donc imaginer qu'une analyseexploratoire
n6cessite
d
l'analyste
d'6crire une
successionde
requ6tesde plus en
pluscomplexes, ce qui pourrait devenir pdnible.
-- iJp !! Dclrn voles by day oi:ieek cf Qursticn or in-rr;er 5ELEfi
CASE !&lEli Postlypeld = 1 THEU 'Quesiicn' EL5E 'ensr:r' il,lD As [post TypeJ, 0ATEM}IEfl{EEKDAY, p.Creation0aie) A5 Cai,
{ount(') A5 tuount,
siX:(CAiE !<ll VoteTypeld =
i
TflElti
EL5E 0 Em) AS Upvotei,Sifj(ttst l.,+lEll VoteTypeld
'
r TilEtii
ELSE 0 EttD) A5 Do,rnVotes, cAsE !.*lEti stf.i(cAsE lftEil voteTypeld -" I rHEri 1 EtsE 0 Ets) " I THEil r;,.,EL5E(lA5I(5Ui{lASEhtlEf'lVoteTypeid.2IHEI{1Et5l0ElE)A5flcat)iciJT(5Ull($5ElifiE}tVoteTypeld.iTH$,l1ELSE0EtiD)A5flcat
EIS A5 UpVoteDovnVote[atio
FROI
Votes v ,,.i:, Posts p 0N v.Postld=p,Id
ITIEf;E
PostTypeld irr (1,i.)
i:r:l
VoteTypeld i:r (i,3)
GRflJP BY
Postlypeld, DATipAf,T(tiEEOAY, p,treationDate), DATEttAItE(HiEtOAy, p,CreationDate)
OROER 8Y
Pottlypeld, DATEPART(liEEKDAY, p,(reationDate)
Figure 09. Requ6te e2: " ILUSEURs cRoup By"
-
tWSlLe fait qui nous a conduit d penser
i
une autre solution plus adequateo celle de construire unentrepdt de donnees
Q/R pour faciliter
I'analyse des donn6es, gagner en tempset avoir
unevision complet et pas compliqu6e et aussi dviter la perte d'information.
5.
Conclusion
Au
cours de ce chapitre Nous avons abordd le concept d'Entrepdt de donndes,qui
est unesolution pour
l'aide
i
la
ddcision. Nous avons prdsentd la d6finitiond'un
entrep6t de donndes,ses caract6ristiques, son architecture et la mod6lisation multidimensionnelle. Aussi, nous avons
ddfini
les systdmes d'entraide enligne Q/R,
et prdsent6 une analyse de ces systdmes. Nousavons fait une comparaison entre Stackexchange, Yahoo ! Answers et Quora pour faire sortir les
6l6ments en mmmuns
et
les diff6rences. Nous avons 6tudi6 I'exploration des donndes Q,&. deStackexchange et avons pr6sent6 les besoins d'analyse dans
un
systdme d'entraide Q/R. Cettepr6sentation des besoins d'analyse qui nous a motiv6 d proposer comme solution au probldme un
Cftapitre
2
Conception
du Systime
1.
fntroduction
2.
L'approche
de
la
conception
3.
Description
des
sources de donn6es
4.
Mod6lisation
Conceptuelle
5.
Conception
Logique
f
conception
du
systime
1".
Introduction
Avec
la
gdndralisationde l'informatique
danstous les
secteursd'activitd, les
entreprisesproduisent et manipulent de tres importants volumes de donndes dlectroniques. Ces donndes sont
stockdes dans
les
systdmes opdrationnelsde
I'entrepriseau
sein
de
basesde
donndes, defichiers...
L'exploitation de
ces donndes dansun but
d'analyseet
de
supporti
la
prise
deddcision
s'avdredifficile
et fastidieuse ; elle est rdalis6e le plus souvent de manidre imparfaitepar les
ddcideurs grdced
des
moyens classiques (requ6tesSQL,
wes,
outils
graphiquesd'interrogation. . .).
Ces systdmes paraissent peu adapt6s pour servir de support d la prise de ddcision. Ces bases
op6rationnelles utilisent le moddle relationnel ; celui-ci convient bien aux applications g6rant
L'activitd
quotidienne de I'entreprise, mais s'avdre inadapt| au ddcisionnel[Kimball
1996]. Faced cette inad6quationo les entreprises ont recours d des systdmes d'aide d
la
ddcision spdcifiques,basds sur I'approche des entrepdts de donndes. Cependant, de tels systdmes restent
diffrciles
d6laborer
et
sont
souvent r6alis6sde
manidre empirique, rendant I'dvolution
du
systdmeddcisionnel d6licate. Actuellement, les entreprises ont besoin d'outils et de moddles pour la mise
en place de systdmes ddcisionnels comportant des donn6es dvolutives [Inmon 1994].
L'objet de ce chapitre est de
ddfinir la
mod6lisation conceptuelle des donndes de site webwww.stackexchange.com et on utilisant une combinaison des approches Top
Down
et BottomUp, prdsent6e dans le chapitre prdcddent.
2.
Approche
de
la conception
Dans le chapitre pr6cedent, nous avons pr6sent6 difTerentes approches de conception de systdmes
d6cisionnels, notamment, I'approche Top
Down
de lnmon, I'approche Bottom up de Kimball.Dans ce chapitre, nous montrons
I'utilisation
de ces deux approchespour
la
conception d'unschdma multidimensionnel
qui
sera au cmur du systdme d6cisionnel.La
combinaison des deuxapproches est justifiee par les points suivants :
o
Le rdseau de StackExchange a mis d la disposition de ses utilisateurs une API permettantd'interroger sa base de donndes, notannment par des requOtes d'analyse. Cependant, ces
requ6tes ne permettent pas d'effecfuer des regroupements avancdes des donndes. Par
exemple, certaines requ0tes sont cibldes pour un utilisateur donnd d la fois mais peuvent