OLAP : Intégration des informations
Leur synthèse
Le problème : les sources peuvent être autonomes et hétérogènes autorisations nécessaires pour l’extraction utilisation de plusieurs langages pour la définition de l’information à extraire
La solution : utiliser un schéma fédérateur, avec ou sans données, que les utilisateurs manipulent comme s’il s’agissait d’une base de données habituelle
– avec données courantes provenant d’une seule source (vues matérialisées) ou de plusieurs sources autonomes et éventuellement hétérogènes (base de données intégrée)
besoin d’outils pour la conception du schéma, transformation/chargement de données et
propagation de changements
– avec données historiques (entrepôt de données, données en avance), c’est notre cas
besoin d’outils pour la conception du schéma, transformation/chargement de données, propagation de changements et rafraîchissement périodique
– sans données, au sein d’une seule source (vues virtuelles) ou lié à plusieurs sources autonomes et éventuellement hétérogènes (médiateurs, données à la demande)
besoin d’outils pour la récriture/évaluation des requêtes et la fusion des résultats dans tous les cas, l’accès aux données se fait presque exclusivement en lecture
Constitution d’un entrepôt de données
Architecture à trois niveaux : sources – entrepôt – data mart (voir figure 1) à data mart : ‘petit’ entrepôt orienté sujet, dont les données sont dérivées de l’entrepôt
Extraction, Transformation, Chargement de données à outils ETL
Extracteur :
– traduction vers le langage source, évaluation, traduction vers le langage de l’entrepôt
– détection de changements aux sources
Intégrateur :
– réconciliation /correction d’erreurs/filtrage/estampillage pour conformer au schéma de
l’entrepôt
– chargement de données, rafraîchissement
Caractéristiques principales des entrepôts de données
Un entrepôt de données est l’endroit où les données intégrées sont stockées et exploitées à l’aide d’un système de gestion de bases de données. Par conséquent, un entrepôt de données est avant tout une base de données, même si les caractéristiques suivantes le distinguent clairement des bases de données transactionnelles habituelles :
Utilisation
les utilisateurs principaux sont les décideurs de l’entreprise à besoin des schémas faciles a lire (pas de schémas normalisés) schéma dimensionnel
(voir Figure 2)
Mode d’accès
souvent à travers un data mart, en lecture uniquement à des index qui ne sont pas efficaces pour le transactionnel le deviennent pour les entrepôts
Volume
de l’ordre de tera octets à besoin d’algorithmes efficaces pour le chargement de données et l’évaluation des requêtes
Maintenance
les mises à jour sont propagées des sources vers l’entrepôt
– immédiatement ou périodiquement (suivant la nature de l’application)
– par reconstruction ou de manière incrémentale
Rafraîchissement
les données qui deviennent ‘obsolètes’ sont supprimées
Metadonnées
Les métadonnées d’un entrepôt sont plus complexes et plus volumineuses que celles d’une base de données transactionnelle, et sont souvent gérées en dehors de l’entrepôt
Utilisation d’un entrepôt de données
– OLAP : Online Analytic Processing
résumés/agrégations selon plusieurs critères et sur plusieurs dimensions
– Génération de rapports
– Extraction de connaissances à partir de données (Fouille de données, ‘Data Mining’)
TD-1 : Algèbre fonctionnelle
Rappelons d’abord qu’une fonction est désignée par f : XY, où f est le nom de la fonction, X son ensemble de départ et Y son ensemble d’arrivée. Nous noterons def(f) l’ensemble des éléments de X pour lesquels f est définie et range(f) l’ensemble des valeurs prises par f. Une fonction f est appelée :
fonction totale (ou application) si def(f)= X (sinon, f est appelée fonction partielle)
fonction injective (ou injection) si xx’ implique f(x)f(x’), pour tous x,x’ dans def(f)
fonction surjective (ou surjection) si range(f)= Y
fonction bijective si elle est à la fois injective et surjective.
Dans la suite, nous nous intéresserons uniquement aux fonctions totales, et l’algèbre fonctionnelle dont nous aurons besoin comportera quatre opérations :
Composition : prend en argument deux fonctions, f et g, telles que range(f)⊆def(g), et renvoie une fonction gof : def(f)range(g) définie par gof (x)= g(f(x)), xdef(f)
Couplage : prend en argument deux fonctions, f et g, telles que def(f)=def(g), et renvoie une fonction fg : def(f)range(f)range(g) définie par fg(x)= <f(x), g(x)>, xdef(f)
Projection : l’opération habituelle sur le produit de deux ou plusieurs ensembles
Restriction : prend en argument une fonction f : XY et un ensemble E⊆def(f), et renvoie une fonction f/E : EY définie par f/E(x)= f(x) pour tout x dans E
Proposition (cf figure 2)
Soit deux fonctions f : XY et g : XZ, alors f= Y o(fg) et g= Z o(fg)
(Y et Z sont des projections sur YZ)
Propriétés des inverses
Rappelons d’abord que l’inverse (ou réciproque) d’une fonction f : XY, noté f-1, est définie comme suit : f-1(y)= {x / f(x)= y} ; il associe chaque élément y de range(f) à l’ensemble des éléments x de def(f) ayant y comme image (et donc chaque élément y n’appartenant pas a range(f) à l’ensemble vide). Voici quelques propriétés des inverses :
composition : (gof)-1(z)= {f-1(y) / yg-1(z)}, pour tout zrange(gof)
couplage : (fg)-1((y, z))= f-1(y) g-1(z)
restriction : (f/E)-1 (y) = Ef-1(y), pour tout yrange(f/E)
Exercice : Pour les fonctions données en table 1, donner les résultats de calculs suivants :
1/ g2og1, g1og, g2o(g1og), (g2og1)og
2/ fg, gh, (fg)(gh), f(gh), (fg)h, (g1og)(h1oh), f(g2og1og)(h2oh), gg
3/ vérifier si g= Store o(gh) et h= Product o(gh)
4/ g/E, h/F, (g/E)(h/F), où E= {1, 2, 4, 5, 7, 8} et F= {2, 3, 4, 6, 7, 9}
5/ g-1, (g1og)-1, ((g2og1)og) -1¸ (gh)-1, ((g1og)(h1oh))-1, (g/E)-1, (h/F)-1
Quelles conclusions en tirez-vous concernant les propriétés des opérations de l’algèbre?