mti820 entrepôts de données et intelligence d’affaires
TRANSCRIPT
![Page 1: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/1.jpg)
MTI820 −Entrepôtsdedonnéesetintelligenced’affaires
Conceptionphysiquedesdonnées
1DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers
![Page 2: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/2.jpg)
Lecycledevied’unprojetenBI• Diagrammedefluxdetravail:
2
Planificationdeprojet/programme
Définitiondes
besoinsd’affaires
Conceptiondel’architecturetechnique
Modélisationdesdonnées
Conceptiondesapplicationde
BI
Sélectionetinstallationdes
produits
Conceptionphysique
ConceptionetdéveloppementdusystèmeETL
Développementdesapplications
deBI
Déploiement
Croissance
Maintenance
Gestiondeprojet/programme
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers
![Page 3: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/3.jpg)
Question• Quels sont lescritères à considérer lors delaconception
physique?
• Quels sont leschoix à fairelors delaconceptionphysiqueetquel est l’impact deces choix?
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 3
![Page 4: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/4.jpg)
Choixdeconception• TailledelaBD:
– Tablesdefaits,index,agrégations,etc.• Stockagedesdonnées:
– Allocationdemémoire,stockagehorizontal/vertical,etc.• Stratégied'indexation:
– Arbre-B,cluster,bitmap,jointureenétoile,etc.
• Stratégiedepartitionnement:– Fragmentation horizontale/verticale,dimensions,intervalles,etc.
• Stratégied'agrégation:– Dimensionsetniveauxd'agrégation,approcheMOLAPouROLAP,etc.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 4
![Page 5: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/5.jpg)
Question• Quels sont lesfacteurs à considérer lors del’estimation
delataille del’entrepôtdedonnées?
• Commentestime-t-onlataille requise?
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 5
![Page 6: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/6.jpg)
Estimationdelatailledel'entrepôt• Tailledeslignesdestablesdefaitsetdedimension:
– Considérer lenombreetletypedechaquecolonne.
• Nombredelignesdecestables:– Estimerlenombredelignesajoutéesàchaquechargement(ex:
chaquemoisouannées).
• Stockagedesindexes:– Environégalàlatailledesdonnées.
• Espacetemporaire:– Constructiondesindex,opérationsdetri(ORDERBY,DISTINCT)etde
groupement(GROUPBY),etc.
• Tailledesagrégations:– Tablesd'agrégations,cubesOLAP,etc.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 6
![Page 7: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/7.jpg)
Estimationdelatailledel'entrepôt• Autresconsidérations:
– Tablesdemétadonnées;– ZonedepréparationdedonnéesETL(staging area);– Journaldesopérationsdusystème(system log);– etc.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 7
![Page 8: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/8.jpg)
Questions• Commentlesdonnées sont-elles stockées physiquement
dans l’entrepôt?
• Commentlestockage influence-t-il laperformancedusystème?
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 8
![Page 9: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/9.jpg)
Stockagedesdonnées• Fichiersetblocs:
– UneBDestcomposéedeplusieursfichiersdedonnées,renfermantdesblocsdedonnées;
– Unblocrefermeuncertainnombred'enregistrements (lignes)d'unetabledelaBD;
– Unblocconstituel'unitéminimaledetransfertentrelamémoirecentraleetledisquedurdelaBD.
• Principed'optimisation:– L'opérationlapluscoûteuseauniveauduserveurBDestle
transfertdedonnéesentrelamémoire centraleetledisquedur;
– Ilfautdoncminimiser lenombredeblocslusetécritsdanslaBD.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 9
![Page 10: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/10.jpg)
Stockagedesdonnées• Illustration:
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 10
0
Numérode bloc
1
2
bloc enregistrement ...
taillecolonne1donnéescolonne1
taillecolonne2
donnéescolonne2
![Page 11: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/11.jpg)
Stockagedesdonnées• Paramètresdestockage(Oracle):
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 11
CREATE TABLE TableExemple(...
)INITRANS 1MAXTRANS 5PCTFREE 10PCTUSED 40TABLESPACE user_dataSTORAGE(
INITIAL 20480NEXT 20480MINEXTENTS 1MAXEXTENTS 10PCTINCREASE 10)
Paramètre Description
INITRANS/MAXTRANS
Espaceinitialetmaximaldublocpourl'informationsurlestransactionsimpliquantlebloc(ex:récupération)
PCTFREE Pourcentaged'espacedansleblocréservépourlesUPDATE
PCTUSED PourcentagedublocdevantêtrelibrepourleretournerdanslaFREELIST
TABLESPACE L'espace mémoiredanslequel latableestcréée
INITIAL/ NEXT Tailleenoctetsdespremieretdeuxièmeextensionsmémoire(EXTENT)delatable
MINEXTENTS/MAXEXTENTS
Nombreminimaletmaximal d'extensionsdemémoirepermisespourlatable
PCTINCREASE Facteurdecroissancedelatailledesextensionsdemémoire(aprèsladeuxième)
![Page 12: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/12.jpg)
Question• L’ordre dans lequel lesdonnées sont stockées a-t-il un
impactsur laperformance?
• L’ordre destockageest-il différentdansunentrepôtdedonnéesquedansune BDtransactionnelle?
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 12
![Page 13: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/13.jpg)
Stockagevertical• LaplupartdesRDBMStransactionnelsstockent lesdonnées
horizontalement:– Leslignesd’unetablesontstockéesséquentiellement surdisque:
– Facilitelesrequêtesretournantuneouplusieurslignes.
• Danslesentrepôtsdedonnées, lesrequêtesportentsouventsurlescolonnes(ex:SUM,AVG,MIN,MAX,etc.)– Ilpeutêtreplusefficace(500xplusrapidedanscertainscas)de
stockerlesdonnéesparcolonnes:
DépartementdegénielogicieletdesTI MTI820Hiver2011– C.Desrosiers 13
ligne1 ligne2 ligne3col1 col 2 col3 col1 col2 col3 …
col1 col2 col3ligne1 ligne2 … ligne 1 ligne2 … …
![Page 14: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/14.jpg)
Questions• Commentpeut-onaccélérer lesopérations desélection
etdejointuredans l’entrepôtdedonnées?
• Quels sont lesdifférents typesd’indexetleurs avantagesrespectifs?
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 14
![Page 15: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/15.jpg)
Stratégied'indexation• Index:– StructurededonnéesrésidantdanslaBD;– Permetd'améliorerlaperformanced'opérationscommelasélectionetlajointure.
• Typesd'index:– Indexarbre-B(B-tree);
– Indexgroupant(cluster);– Indexbitmap;
– Indexdejointureenétoile(star-join).
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 15
![Page 16: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/16.jpg)
Stratégied'indexation• Considérations:– Stockage:• Peutprendreautantd'espacequelesdonnéesàindexer.
– Miseàjoursuiteàuneinsertion/suppression:• Moinssignificatifdanslesentrepôtsdedonnées.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 16
![Page 17: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/17.jpg)
Indexarbre-B• Indexhiérarchique sous la formed'un arbrebalancé;• Réorganisation dynamique à la suite d'une insertion,
suppressionoumise à jour de la clé;• Sélection d'une ligne en O(log(N)) dans le pire des cas, où
N est le nombrede lignes;• Propriétés:
– Chaqueblocdoitêtrerempliàmoitiéauminimum;– Lescléssonttriéesdansunbloc;– Touteslescléscontenuesdanslesous-arbre d'uneclésontstrictementinférieuresàcetteclé.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 17
![Page 18: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/18.jpg)
Indexarbre-B• Exemple:
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 18
Bloc7
50
Bloc2
25 40Bloc6
60
Bloc0
10 20
Bloc3
25 30
Bloc1
40 43 44
Bloc5
50 53
Bloc4
60 70
Blocsdedonnées
![Page 19: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/19.jpg)
Indexarbre-B• RechercheaveccléC dansunarbre-B:
– Bloc interne:• On cherche le plus petit i tel que C < Ci• On suit le pointeur à la gauche de Ci
– Feuille:• On parcourt le bloc jusqu'à ce qu'on trouve la clé ou qu'on dépasse sa valeur
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 19
Exemple:RecherchedeC=43
Bloc7
50
Bloc2
25 40Bloc6
60
Bloc0
10 20
Bloc3
25 30
Bloc1
40 43 44
Bloc5
50 53
Bloc4
60 70
![Page 20: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/20.jpg)
Indexarbre-B• Exempledecréation(Oracle):
• Consignesd'utilisation:– Nepascréerd'indexsiplusde15%delatablepeutêtreretournée(sinonlebalayageestplusefficace);
– Nepascréerd'indexsurlescolonnesdontlavaleurestsouventnulle;
– Créerdesindexsurlescléuniquesousurlescolonnesutiliséepourfiltrer;
– Cléscomposées:mettred'abordlescolonneslesplusutiliséescarl'indexsertégalementpourlespréfixes.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 20
CREATE INDEX nomIndex ON TableExemple(col1, col2, ...)[paramètres de stockage]
![Page 21: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/21.jpg)
© R. Godin, C. Desrosiers - Hiver 2011 21
Organisationparindex(TOI)• Lesdonnées sont stockées physiquementdans l’index
• Leslignes sont physiquementordonnées selon laclé• Accélère lessélections etlesjointures
Bloc7
50
Bloc2
25 40Bloc6
60
Bloc0
10 20
Bloc3
25 30
Bloc1
40 43 44
Bloc5
50 53
Bloc4
60 70
Données
![Page 22: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/22.jpg)
© R. Godin, C. Desrosiers - Hiver 2011 22
Organisationparindex(TOI)
• Exemple(Oracle):
• Lacléprimaireestautomatiquement utiliséecommeclédel’index;
• UnseulTOIpartable,maispeutêtrecombinéavecplusieursindexesarbre-B.
CREATE TABLE ExempleTable(idClePrimaire INTEGER NOT NULL,col1 DATE NOT NULL,col2 VARCHAR NOT NULL,...PRIMARY KEY (idClePrimaire))ORGANIZATION INDEX
![Page 23: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/23.jpg)
Indexgroupant(cluster)• Regroupeleslignesd’uneouplusieurstablesselonune
clé(indexcluster)ouunevaleurdérivéedelaclé(hashcluster);
• Unseulpossiblepartable.• Clustersurplusieurstables:
– Accélèrelajointureenregroupantphysiquement leslignesdeplusieurstablesselonlaclédejointure(pré-jointure);
– Ralentitlebalayaged’unetable(fulltablescan)carleslignesdelatablesontplusdistancées.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 23
![Page 24: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/24.jpg)
Indexgroupant(cluster)• Clustersurdeuxtables:
– Clédel’index:idClient
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 24
ClientidClient nom noTéléphone
1001 'JeanBon' '111-111-1111'
1002 'Charles Latan' '222-222-2222'
1003 'PaulLisse' '333-333-3333'
CompteidCompte idClient montant
1 1001 1,000$
2 1001 100$
3 1002 500$
4 1002 2,000$
5 1003 5,000$
Bloc0 Bloc1 Bloc21003 'PaulLisse' '333-333-3333' 1001 'JeanBon' '111-111-1111' 1002 'Charles Latan' '222-222-2222'
5 1003 5,000$ 1 1001 1,000$ 3 1002 500$
2 1001 100$ 4 1002 2,000$
![Page 25: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/25.jpg)
Indexgroupant(cluster)• Exemple(Oracle):
• Note:peuemployédanslesentrepôtsdedonnées
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 25
CREATE CLUSTER MonCluster(idClient INTEGER)[paramètres de stockage]
CREATE TABLE Client(idClient INTEGER NOT NULL PRIMARY KEY,nom VARCHAR2(50) NOT NULL,noTéléphone VARCHAR2(12) NOT NULL)CLUSTER MonCluster(idClient)
CREATE TABLE Compte(idCompte INTEGER NOT NULL PRIMARY KEY,idClient INTEGER NOT NULL,montant NUMBER(7,2) NOT NULL,FOREIGN KEY (idClient) REFERENCES Client)CLUSTER MonCluster(idClient)
![Page 26: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/26.jpg)
Indexbitmap• Créeunecolonne(bit)pourchaquevaleurpossibledes
colonnesindexées– Ex:colonnesexe{homme,femme}setraduitpardeuxbits;
• Sertàaccélérerlessélectionsayantdescontraintesd'égalitésdevaleursurplusieurscolonnes.
• Consignesd'utilisation:– Lorsqueledomainedelacolonneestréduitetvariepeu;– Pourlessélectionspouvantretournerunpourcentageélevédunombredelignes;
– Exemples:• Colonnesexe estunbon choix;• ColonnenoTéléphone estunmauvais choix.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 26
![Page 27: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/27.jpg)
Indexbitmap• Exempled'utilisation:
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 27
ClientidClient nom étatCivil sexe revenuNet
1001 'JeanBon' 'marié' 'H' 55,320
1002 'LucieFer' 'N/A' 'F' 38,145
1003 'Sylvie Agra' 'célibataire' 'F' 152,546
1004 'CharlesLatan' 'N/A' ’H' 25,100
CREATE BITMAP INDEX bitmapEtatCivil ON Client(etatCivil)CREATE BITMAP INDEX bitmapSexe ON Client(sexe)
bitmapEtatCivil bitmapSexe'marié' 'célibataire' 'N/A' 'H' ’F'
1 0 0 1 0
0 0 1 0 1
0 1 0 0 1
0 0 1 1 0
![Page 28: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/28.jpg)
Indexdejointureenétoile• Pré-calculeleslignesdestablesdedimensionpouvant
êtrejointesaveclatabledefaits;• Permetd’utiliserl’informationdestablesdedimensions
sansdevoirjoindrecestablesàlatabledefaits.• Bitmapjoin index (Oracle):
– Calculel’indexbitmapsurlatablerésultantdelajointuredestablesdedimensionsaveclatabledefaits;
– Lescolonnesdestablesdedimensionemployéedansl’indexbitmapdoiventavoirundomainerestreint;
– Peutaccélérerjusqu'à10foislajointure(benchmarksOracle).
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 28
![Page 29: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/29.jpg)
Indexdejointureenétoile• Exemplebitmapjoin index:
– Requêteàoptimiser:
– Indexàcréer:
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 29
CREATE BITMAP INDEX indexJointure ON Inventaire(Fournisseur.province, Produit.catégorie)FROM Inventaire, Fournisseur, ProduitWHERE Inventaire.idProduit = Produit.id AND
Inventare.idFournisseur = Fournisseur.id
SELECT SUM(Inventaire.quantité)FROM Inventaire, Produit, FournisseurWHERE Inventaire.idProduit = Produit.id AND
Inventare.idFournisseur = Fournisseur.id ANDProduit.catégorie='moteur_mazda' ANDFournisseur.province='QC'
Inventaire
idFournisseuridProduit...quantité
Fournisseur
idnomvilleprovincenoTéléphone...
Produit
idmodèlecatégoriesous-catégorie...
![Page 30: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/30.jpg)
Recommandations• Tablesdedimension:
– Mettreunindexarbre-Bsurlescolonnesemployées pourfiltreretayantungrand domaine;
– Mettreunindexbitmapsurlescolonnesdontledomaineestrestreintetinvariant,souventutiliséespourfiltrerlessélections(ex:sexe).
• Tablesdefaits:– UtiliseruneTOIsileslignessontsouventaccédéesparintervalle
delacléprimaire(ex:$totalpourtransactions10000à20000);
– Mettreunindexarbre-Bsurlesclésétrangères;
– Créerdesindexdejointureenétoilesurlescombinaisonsd'attributsdedimension lesplussouventutilisées.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 30
![Page 31: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/31.jpg)
Question
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 31
• Proposezdesindexespourleschémasuivant:
id_produit : integer (PK)code_sku : integernom : varchar(50)description : varchar(1000)marque : varchar(50)categorie : varchar(50)poids : numbervolume : number
DimProduit
no_vente : integer (PK)id_produit : integer (FK)id_client : integer (FK)total : numbertaxes : numberrabais : number
FactVentes
id_client : integer (PK)nom : varchar(50)adresse : varchar(100)ville : varchar(50)province : varchar(20)sexe : char(1)groupe_age : integergroupe_salaire : integernb_enfants : integer
DimClient
![Page 32: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/32.jpg)
Questions• Qu’est-ceque lepartitionnement (fragmentation)de
tables?• À quoisert cette stratégie?
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 32
![Page 33: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/33.jpg)
Stratégiedepartitionnement• Fragmentationhorizontale:
– Ondécoupeunetableensous-ensemblesdelignes;– Ex:partitionnement delatabledefaitsselonladate(moisouannée);
– Lesfragmentssontsouventphysiquement séparés(ex:disquesdifférents).
• Fragmentationverticale:– Ledécoupaged'unetablesefaitselonlescolonnes;– Ex:stockagedelacolonnesalaired'unetableEmployé surlesitedudépartement decomptabilité;
– Rarementemployée.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 33
![Page 34: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/34.jpg)
Stratégiedepartitionnement• Avantagesdupartitionnement:
– Permetd'accélérerlessélectionsfaitesselonlaclédepartitionnement (ex:date);
– Permetd'accélérerlajointureentredeuxtablessiellessontpartitionnées selonlamêmeclé;
– Permetd'accélérerl'insertiondedonnéesenlot(fastload);
– Facilitelamaintenance:onpeut fairelasauvegarded'unepartitionindépendamment desautres;
– Permetdelocaliserleslignesd'unetableprèsdesapplicationssusceptiblesdelesutiliser(BDréparties).
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 34
![Page 35: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/35.jpg)
Stratégiedepartitionnement• Exempledepartitionnementparintervalle(Oracle):
– Partitionnement destransactionsparannée:
– Sélectiondesventesde1992:
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 35
CREATE TABLE Ventes(idDate INTEGER NOT NULL,idClient INTEGER NOT NULL,idProduit INTEGER NOT NULL,...)PARTITION BY RANGE (idDate)( ...
PARTITION P2000 VALUES LESS THAN (20010101) TABLESPACE TS2000PARTITION P2001 VALUES LESS THAN (20020101) TABLESPACE TS2001PARTITION P2002 VALUES LESS THAN (20030101) TABLESPACE TS2002...
)
SELECT * FROM Ventes PARTITION(p2002)
![Page 36: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/36.jpg)
Questions• Qu’est-ceque lapré-agrégation destables?
• À quoisert cette stratégie?
• Commentpeut-onimplémenter concrètement lapré-agrégation?
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 36
![Page 37: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/37.jpg)
Stratégied'agrégation• Exempled'agrégation:
– Contexte:• 300magasinset40,000produits;• Environ500produitsparmarque;• Environ1venteàchaquesemaine,pourchaqueproduit,danschaquemagasin.
– Requêtesur1produit,1magasin,1semaine:• Agrégationde1 ligne delatabledefaits.
– Requêtesur1produit,touslesmagasins,1semaine:• Agrégationde300 lignes delatabledefaits.
– Requêtesur1marque,touslesmagasins,1année:• Agrégationde7,800,000 lignes delatablesdefaits.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 37
![Page 38: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/38.jpg)
Tablesdefaitsagrégées• Accélèrentlesrequêtesanalytiquesenpré-calculant
l'agrégationdefaitsàdifférentsniveauxdeshiérarchiesdimensionnelles;
• Dupliquentl'informationcontenuedanslatabledefaitsatomique(niveauleplusgranulaire).
• Exemple(suite):– Tabledefaitsagrégésoùchaque lignedonneletotaldesventesdurantunesemaine,pourunemarquedeproduitsdansuncertainmagasin;
– Requêtesur1marque,touslesmagasins,1année:• Agrégationde15,600lignes (aulieude7millions).
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 38
![Page 39: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/39.jpg)
Niveauxd’agrégation
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 39
MAGASIN
magasinville régionprovincetous
X−−−−
PRODUIT
produitmarquecatégoriedépartementtous
−X−−−
TEMPS
joursemainemoistrimestreannée
X−−−−
MAGASIN
magasinville régionprovincetous
−X−−−
PRODUIT
produitmarquecatégoriedépartementtous
−X−−−
TEMPS
joursemainemoistrimestreannée
X−−−−
MAGASIN
magasinville régionprovincetous
−X−−−
PRODUIT
produitmarquecatégoriedépartementtous
−X−−−
TEMPS
joursemainemoistrimestreannée
−X−−−
Agrégationsuruneseuledimension
(one-way agregate)
Agrégationsurdeuxdimensions
(two-way agregate)
Agrégationsurtroisdimensions
(three-way agregate)
![Page 40: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/40.jpg)
Stratégied'agrégation• Exempled'agrégationsurdeuxdimensions:
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 40
Magasin
idMagasinville régionprovince...
Produit
idProduitmarquecatégoriedépartement...
Date
idDatesemainemoistrimestreannée...
Ventes
idMagasinidProduitidDate...montant
Ventesagrégée
idMagasinidCatégorieidSemaine...montant
Dateagrégée
idSemainemoistrimestreannée...
Produitagrégé
idCatégoriecatégoriedépartement...
![Page 41: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/41.jpg)
Question• Commentdécide-t-onlespré-agrégations à faire
(dimensionsetgrain)?
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 41
![Page 42: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/42.jpg)
Choixd’agrégations• Tenircomptedutypeetdelafréquencedesrequêtes
faitesàl'entrepôt(profilagederequêtes);• Choisirlesdimensionslesplussouventutilisées;• Choisirunniveaudehiérarchieoffrantunbon
compromisentrel'utilitéetlegainenperformance– Ex:l'agrégationdesmagasinsIkea auniveau"ville"n'estpas utilecarilyapeudemagasinsdansuneville(max.3);
• Chaquenouvellelignedoitagrégeraumoins10lignesdelatabledefaitsatomiques.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 42
![Page 43: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/43.jpg)
Approchesd’agrégations• Relational OLAP(ROLAP):– UtiliselesBDrelationnellesstandards(ex:vuesmatérialisées).
• MultidimensionalOLAP(MOLAP):– BDmultidimensionnelles(cubesdedonnées);– TechnologiedifférentedesBDrelationnelles(ex:tableauxcompressés).
• Approchehybride(HOLAP):– CombinelesavantagesduMOLAPetROLAP;– Implémentéedanslaplupartdesproduitscommerciaux.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 43
![Page 44: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/44.jpg)
Agrégationparvuesmatérialisées(ROLAP)• Tablephysiquesynchroniséeaveclesrésultatsd'unerequête;• Synchronisationtemps-réel,enlotousurdemande;• Permet lesindexes, lepartitionnement, contrôled'accès,etc.• Hiérarchied'agrégationspossibleencréantunenouvellevue
àpartird'autresvues.• Exemple(Oracle):
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 44
CREATE MATERIALIZED VIEW TransactionAgrégée REFRESH FORCE ENABLE QUERY REWITE AS SELECT idMagasin,
P.catégorie AS catégorie, D.semaine AS semaine, SUM(T.montant) AS montantAgrégé
FROM Transaction T, Produit P, Date DWHERE T.idProduit = P.id AND T.idDate = D.idGROUP BY idMagasin, P.catégorie, D.semaine
Paramètre Description
REFRESHFORCE
Synchronisationincrémentale lorsquepossible,sinoncomplète
ENABLEQUERYREWRITE
Permetderéécrire larequêtesi celaaméliorelaperformance
![Page 45: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/45.jpg)
Agrégationparvuesmatérialisées(ROLAP)• Avantages:– Utiliselamêmetechnologiequel’entrepôtdedonnées(BDrelationnellestandard);
– Langageétabliderequêtes(SQL).• Inconvénients:– GestiondesagrégationspluscomplexequeMOLAP;– MoinsbonneperformancequeMOLAP,maislatechnologies’améliore.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 45
![Page 46: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/46.jpg)
BDmulti-dimensionnelles (MOLAP)• Représententlesdonnéessouslaformed'untableau
multidimensionnel(cube)où:– Lescoordonnéesd'unecasecorrespondentàunecombinaisondevaleursdesdimensionsducube;
– Lecontenud'unecasecorrespondauxfaits(mesures)pourcesvaleurs;
• Utilisentdestechniquesdecompressionpourgérerlefaitquelaplupartdescasesducubessontvides(sparsearray compression);
• Pré-calculentcertainesagrégations,ensebasantsurleshiérarchiesdimensionnelles.
DépartementdegénielogicieletdesTI MTI820Hiver2011– C.Desrosiers 46
![Page 47: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/47.jpg)
BDmulti-dimensionnelles (MOLAP)• ExempledecubeOLAP:
DépartementdegénielogicieletdesTI MTI820Hiver2011– C.Desrosiers 47
![Page 48: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/48.jpg)
BDmulti-dimensionnelles (MOLAP)• Avantages:– Bonneperformancepourlesopérationsd'analysemulti-dimensionnelle (ex:slicing etdicing);
– Gestionefficacedesagrégations;• Inconvénients:– Demandebeaucoupdemémoire,surtoutsilenombrededimensionsestimportant;
– LesmisesàjourpeuventêtrepluscoûteusesqueROLAP.
DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 48
![Page 49: MTI820 Entrepôts de données et intelligence d’affaires](https://reader035.vdocuments.site/reader035/viewer/2022062519/62b2f4e1ef78f104df2275bb/html5/thumbnails/49.jpg)
Exemplesdeproduits• BDmultidimensionnelles:
– Cognos (IBM)PowerCubes,TM1;– MicrosoftSQLServerAnalysis Services;– OracleEssbase.
• Stockagevertical:– SybaseIQ;– Vertica.
DépartementdegénielogicieletdesTI MTI820Hiver2011– C.Desrosiers 49