Concepteurs : Didier DONSEZ Date : Mars 2004 Dure : 2 heures Remarques : Calculatrice RECOMMANDEE et tout document autoris Conseil : Lire le sujet jusquau bout. Annexe : Rsultats du benchmark TPC/H 0RGpOLVDWLRQGpFLVLRQQHOOHGHVDFWLRQVGHWpOpVSHFWDWHXUVLQWHUDFWLIV + CORRECTION Loprateur BreeFox 1 propose ses abonns un boiter routeur ADSL qui groupe un accs IP, le tlphone et un bouquet de chanes de tlvision interactives. Nous ne nous intresserons qu cette dernire fonction dans notre entrept de donnes. Les chanes de tlvision proposes par BreeFox dans son bouquet sont des chanes nationales et des chanes page. Seulement, les interruptions publicitaires (des chanes nationales et page) peuvent tre personnalises en fonction du profil du foyer (ou des adultes du foyer quand le contrle parental 2 est dverrouill). Le tlspectateur peut ragir (interactivement) de plusieurs manires aux missions et aux publicits quil reoit au moyen de sa tlcommande (ie ]DSHWWH: A tout moment, il peut zapper vers une autre chane A tout moment, il peut teindre son poste Pendant une publicit, il peut zapper la pub suivante sans attendre la fin de la publicit en cours (la dure de visualisation est importante). Pendant une publicit, il peut demander plus dinformation sur le produit prsent (la dure de visualisation est importante) puis revenir lmission en cours .
1 Toute ressemblance avec une socit existante est purement fortuite ! 2 Pour viter que les enfants du foyer apprennent trop jeunes la Biologie !
Universit Joseph Fourier / PolyTech Grenoble / RICM3 / 2003-2004 / SID / Examen 2/ 2 Lentrept de donnes est centr sur les actions du tlspectateur. Lobjectif de cet entrept est de profiler au plus prcis le foyer (ou plutt le tlspectateur qui dtient la tlcommande) afin de maximiser la demande dinformation sur les produits prsents par les publicits. En effet, loprateur peroit plus dargent de la part de lannonceur quand le spectateur demande plus dinformation au moment au lannonce est passe ! Le schma de lentrept est constitu des tables suivantes (les cls primaires sont soulignes)
'DWH(ClDate, Anne, Mois, JourDeMois, JourDeSemaine, TrancheHoraire, Heure, Minute, DrapeauVacances, Drapeau Manisfestation) )R\HU(ClFoyer, NomAbonn, AnneNaissanceAbonn, Rgion, Dpartement, District, Ville, Quartier, SituationFamille, RevenuFoyer, CatgorieSocioProfessionnel, SousCatgorieSocioProfessionnel, DomaineActivit, NombreAdulte, NombreEnfant) (PLVVLRQ(ClEmission, Chane, DateDbut, DureSeconde, TypeEmission, Catgorie, Annonceur) TypeEmission= Programme, AnnoncePublicitaire Catgorie= Mto, Journal, Varit, Jeu, JeuAvecPognion, Film, Foot, Annonceur=seulement pour les annonces publicitaires $FWLRQ(ClDate, ClFoyer, ClEmission, TypeAction, DureAction, DureRestante, DrapeauCtrlParentalDverrouill) TypeAction= Zap Autre Chane , Eteindre , Allumer , Zap Pub Suivante , Demande Information , Passif (ie pas daction sur la zappette) 'XUpH$FWLRQ = Dure coule entre le dbut de lmission et le dbut de laction. 4XDQG 7\SH$FWLRQHVWGLIIpUHQWGH'HPDQGH,QIRUPDWLRQ 'XUpH$FWLRQ = Dure coule entre le dbut de lmission et la fin du temps supplmentaire dinformation avant que le spectateur regarde avant de retourner son mission, 4XDQG 7\SH$FWLRQHVWpJDOGH'HPDQGH,QIRUPDWLRQ DureRestante = Dure restante entre laction et la fin de lmission (=0 si TypeAction= Passif DrapeauCtrlParentalDverrouill indique le contrle parental a t dverrouill Rtro-Conception
Q1: Quelle est la table de fait dans cet entrept ?. Justifiez en 2 lignes ! Action (car au centre des dimensions, attributs additifs ou numriques)
Q2: Que pensez vous de lattribut TypeAction de Action ? Nest pas une mesure ! Cest une dimension dgnre
Q3: A votre avis, il y a til des dimensions douteuses dans cet entrept ? Rappelez la dfinition et justifiez en 3 lignes Foyer !.
Q4: Donnez les nouvelles tables si on dcide de diminuer la taille de la table Foyer par une mini-dimension dmographique
Universit Joseph Fourier / PolyTech Grenoble / RICM3 / 2003-2004 / SID / Examen 3/ 3 On cre une table de dimension Demographie avec les attributs de Foyer (Rgion, Dpartement, District, Ville, Quartier, RevenuAssur, RevenuFoyer, CatgorieSocioProfessionnel, SousCatgorieSocioProfessionnel, DomaineActivit ou dautres ventuellement) On supprime ces attributs de Foyer On ajoute une cl de mini-dimension la table de fait et la table de dimension Foyer Dimensionnement Q5: Donnez le nombre de faits prsents dans la table de fait. Nombre de foyers abonns 3 Millions Nombre de actions par foyer et par heure 10 Un foyer regarde la tlvision 320 jours par an, 5 heures par jour Nombre de tranche horaire 24 Nombre dannes 3 Taille des cls 4 octets Taille des attributs numriques 4 octets Taille des attributs discrets (comme les types !) 1 octet Taille des attributs boolens (comme les drapeaux !) 1 octet
Nombre dactes=3.000.000*10*320*5*3= 144 000 000 000 actions ou enregistrements Donnez la taille dun enregistrement de la table de fait ? (4*3 cls + 4*2 attributs numriques + 1*1 attributs type + 1*1 attributs boolens)=22 octets par fait Donnez la taille (en Octets) de stockage de la table de fait. Taille de la table de fait= 3168000000000octets soit 3 To Configuration Matrielle Q6: A partir des rsultats du benchmark TPC/H (http://www.tpc.org/tpch/results/tpch_results.xls) donn en annexe, choisissez la configuration matrielle et logicielle (complte) qui est la plus adapte votre infocentre pour une performance minimale de 25000 QphH ? Quels sont vos critres de choix ? Remarque : vous ngligerez la taille des tables de dimensions. On choisira un SF=3000 (3000Go) HP HP Integrity Superdome Enterprise Server 2 3000 45248 109 4922070 US $ Oracle Database 10g Enterprise Edition HP UX 11.i 64-bit
Rapports
Q7: Donnez la requte SQL qui donne le temps cumul pour chaque type dmission et pour chaque tranche horaire SELECT D.TrancheHoraire, E.TypeEmission, SUM(DureeAction) AS TempsCumul FROM Emission E JOIN Action A USING (ClEmission) JOIN Date D USING (ClDate) GROUP BY D.TrancheHoraire, E.TypeEmission SORT BY D.TrancheHoraire ASC, TempsCumul DESC
Q8: Donnez la requte SQL qui donne le top 10 des type dmission les plus regardes en temps cumul SELECT E.TypeEmission, SUM(DureeAction) AS TempsCumul FROM Emission E JOIN Action A USING (ClEmission) GROUP BY E.TypeEmission SORT BY TempsCumul DESC TOP(10)
Q9: Donnez le rapport mensuel de progression du nombre de demande dinformation (ie TypeAction = Demande Information ) et de la dure associe regarde SELECT D.Anne, D.Mois, COUNT(*) AS NombreTotal, SUM(A.DureAction) AS DureTotale FROM Action A JOIN Date D USING (ClDate) WHERE A.TypeAction= Demande Information GROUP BY D.Anne, D.Mois SORT BY D.Anne ASC, D.Mois ASC
Q10: Donnez le rapport prcdent mais avec une moyenne glissante avec les 2 mois prcdents. SELECT R.Anne, R.Mois, AVG(R.NombreTotal) OVER ( ORDER BY D.Anne D.Mois ASC ROWS 2 PRECEDING) AS MoyGlissanteNombreTotal, AVG(R.DureTotale) OVER ( ORDER BY D.Anne D.Mois ASC ROWS 2 PRECEDING) AS MoyGlissante DureTotale FROM( SELECT D.Anne, D.Mois, COUNT(*) AS NombreTotal, SUM(A.DureAction) AS DureTotale FROM Action A JOIN Date D USING (ClDate) WHERE A.TypeAction= Demande Information GROUP BY D.Anne, D.Mois SORT BY D.Anne ASC, D.Mois ASC ) R GROUP BY R.Anne, R.Mois SORT BY R.Anne ASC, R.Mois ASC
Conception physique Q11 : Rappelez le principe dindex B-Tree et celui dun index BitMap ? Lequel est il gnralement mieux adapt aux entrepts de donnes ?(en 10 lignes)
Q12 : Pourquoi est il intressant d'avoir des enregistrements de taille fixe pour la table de fait (justifiez en 5 lignes) On peut y appliquer des indexs bitmaps !
Q13 : Est il judicieux d'utiliser les indexs bitmap sur les fichiers (stockage physique des tables) dont les enregistrements ont un taille variable (justifiez en 5 lignes) Non, car pas daccs alatoire possible.
Q14 : Pourquoi est il intressant de partitionner la table de fait sur des disques diffrents ? (2 raisons justifier en 8 lignes) 1. pour les perfs 2. pour la business logique de duree de vie (validite) des donnees. Permet de purger les donnes anciennes (hors du champs des tudes)