Télécharger la présentation
Publié parFaustine Besson Modifié depuis plus de 10 années
1
Vers l'échantillonnage d'un entrepôt de données
Raphaël Féraud et Fabrice Clérot
2
Relever le défi de la volumétrie
Une tendance lourde depuis la fin du siècle dernier est l'augmentation exponentielle des volumes de données stockés. La capacité à transformer les données en information n'évolue pas aussi vite que les volumes stockés : Le processus d'analyse des données nécessite une intervention humaine. Le traitement des données utilise souvent des algorithmes de complexité supérieur à o(n) : Pour un algorithme de complexité o(n²), le doublement de la puissance de calcul ne permet d'augmenter que de racine de 2 les capacités de traitements. EDA/2007/Raphaël Féraud
3
Le système d'information décisionnel
Traitements d ’interface E/S Traitements d'alimentation Rapports prédéfinis – OLAP - Requêtes ad hoc – Data mining Entrepôt de données : données de détails sur tous les métiers de l'entreprise. Datamarts : données agrégées et préparées pour un métier particulier. Facturation Ventes Logs Contact Enquêtes Catalogue … EDA/2007/Raphaël Féraud
4
Limitations La volumétrie très importante de l'entrepôt conduit à administrer fortement les requêtes ad hoc, voire à les prohiber. L'utilisation de datamarts spécialisés permet de limiter les effets de la volumétrie au prix d'une spécification a priori de l'espace des requêtes. Dans un contexte très évolutif comme celui des nouvelles technologies, cette architecture montre ses limites : les datamarts doivent être constamment actualisés. L'information contenue dans l'entrepôt est sous exploitée. EDA/2007/Raphaël Féraud
5
Une autre approche est-elle envisageable ?
Question : quel est le nombre moyen d' s reçus en mars 2007 par les clients Orange ? Réponse : 18,3456 A-t-on réellement besoin d'une telle précision ? Pour les requêtes ad hoc ou pour le calcul d'indicateurs de suivi de l'activité, la réponse est clairement non. Il est possible d'échanger de la précision sur le calcul contre du coût de traitement. EDA/2007/Raphaël Féraud
6
L'approche synopsis L'approche synopsis permet de gérer séparément les requêtes approximées. EDA/2007/Raphaël Féraud 9
7
Échantillonnage d'une équijointure
Soit R1 et R2, deux tables reliée par une clé n'étant pas la clé primaire d'aucune des tables, J l'équijointure de R1 et R2 et l un taux d'échantillonnage, et Sl l'opérateur d'échantillonnage. La solution triviale consiste à calculer l'équijointure, puis à échantillonner : Le résultat est optimal, mais le temps de traitements est élevé. La solution naïve consiste à échantillonner chacune des tables pour de les joindre : Le temps de calcul est minimal, mais qu'en est-t-il de la qualité de l'échantillon ? Parler du problème de permutation des opérateur JOIN et SAMPLE ? EDA/2007/Raphaël Féraud
8
Difficulté de l'échantillonnage d'une équijointure
EDA/2007/Raphaël Féraud 22
9
Comment améliorer la méthode triviale ?
La solution triviale est lente car elle nécessite de joindre les tables, ce qui demande un accès aléatoire dont le coût est prohibitif lorsque les tables ne tiennent plus en mémoire. Une amélioration importante de la solution triviale consiste à : indexer les n-uplets des tables à joindre suivant a, la clé de jointure, et non plus suivant la clé des tables, calculer les fréquences de la clé de jointure dans la jointure, tirer les n-uplets suivant les fréquences de la clé de jointure. On passe ainsi d'une complexité de o(n log n) à o(k log n), où n est la taille de la plus grande table à joindre et k la fréquence de la clé de jointure, avec k < n. Que faire lorsque l'index sur k ne tient plus en mémoire ? EDA/2007/Raphaël Féraud
10
Echantillonnage par hachage
Avec une fonction de hachage bien choisie, nous pouvons borner la ressource mémoire utilisée pour indexer suivant la clé de jointure : h(x) = x mod N, avec N nombre premier. Lorsque la ressource mémoire nécessaire à l'index dépasse N, il y a des collisions : La fréquence de la clé de jointure dans la jointure est estimée, La présence de n-uplets ne faisant pas partie de la jointure diminue la taille de l'échantillon. La valeur de N permet de maîtriser le coût de traitement en jouant sur la qualité de l'échantillon. L'échantillonnage d'une équijointure par hachage comprend trois étapes : Hachage des tables sur l'identifiant de la clé de jointure. Estimation des fréquences de la clé de jointure dans la jointure. Tirage de l'échantillon. EDA/2007/Raphaël Féraud
11
Etape 1 : hachage R1 R1 R2 ki=aj mod N R2 A B a1 b1 a2 b2 a3 b3 b4 …
EDA/2007/Raphaël Féraud
12
Estimation des fréquences
k1 k3 k2 k4 R2 k1 k3 k2 k4 EDA/2007/Raphaël Féraud
13
Echantillonnage R1 k1 k3 k2 k4 R2 k1 k3 k2 k4 EDA/2007/Raphaël Féraud
14
La base de données La jointure de EDP x CRU sur la clé étrangère ID_Tiers génère d'enregistrements : Chacun des éléments de parc produit en moyenne à 486 compte-rendu d'usages. Chacun des comptes-rendus d'usages est rattaché en moyenne à 6 éléments de parc. La clé de jointure possède valeurs différentes. EDA/2007/Raphaël Féraud
15
Choix de N Nous avons tracé le temps nécessaire au calcul de l'échantillon en fonction de N pour une taille d'échantillon constante. Pour la suite des expérimentations, nous avons choisi N = 6007 pour indexer les valeurs de la clé de jointure. Nombre important de collisions Faible nombre de collisions Dépassement mémoire : index sur disque EDA/2007/Raphaël Féraud
16
Précision de l'estimation
La précision d'un estimateur se décompose en deux grandeurs, la variance et le biais : Nous avons construit dix échantillons de 5% de la jointure pour chacune des méthodes d'échantillonnage. Nous avons calculé la valeur moyenne de la précision, du biais et la variance des estimateurs des fréquences des valeurs de la clé de jointure. Échelle : x'=log(109.x) EDA/2007/Raphaël Féraud
17
Conclusion Nous avons proposé une méthode d'échantillonnage d'une jointure par hachage permettant de contrôler les ressources mémoire utilisées. Les résultats obtenus sur nos expérimentations montre qu'avec trois fois moins de ressources mémoire, nous obtenons la même qualité d'estimation que la méthode triviale, qui donne le résultat optimal. EDA/2007/Raphaël Féraud
18
Perspectives L'échantillonnage d'une équijointure sur clé étrangère n'est qu'une étape vers l'échantillonnage d'un entrepôt de données : Il y a potentiellement 2K jointures dans une base de données contenant k tables ! L'échantillonnage d'une jointure de flux de données est une brique technologique importante pour un Data Stream Manager System : La méthode proposée nécessite une lecture complète des tables avant de tirer l'échantillon ! EDA/2007/Raphaël Féraud
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.