PDF Rapport SNM PDF - Compress
PDF Rapport SNM PDF - Compress
PDF Rapport SNM PDF - Compress
Rapport
Réalisé par :
- Elhaila Abdelmo
Abdelmounaim
unaim
- Laamime Othmane
- Elobaidi Zakaria
Page 1 of 19
Sommaire
Chapitre 1 : Datawarehouse .................................................................................................................... 3
Introduction : ...................................................................................................................................... 3
Définition : .......................................................................................................................................... 3
Historique : .......................................................................................................................................... 4
Architecture d’un DataWarehouse : ..................................................................................................... 5
I. Composante de collection des données : .................................................
....................... ....................................................
.................................
....... 6
II. Composante d’archivage des données :.........................
...................................................
....................................................
.................................
....... 7
III. Composante de livraison des données : ....................................................
.......................... ...................................................
............................
... 9
Caractéristiques du datawarehouse : .................................................
....................... ...................................................
..................................................
......................... 9
SGBD et Datawarehouse : .................................................................................................................. 10
Chapitre 2 : Nettoyage de données : ...................................................................................................... 12
Indicateurs et mesures de la qualité des données : .......................
.................................................
....................................................
...............................
..... 12
Problématique : ..................................................................................................................................... 13
Algorithme de déduplication : ............................................................................................................... 13
Sorted-neighborhood method : ............................................................................................................. 14
Variante de SORTED NEIGHBOURHOOD METHOD : ............................................................................... 15
Conclusion : ........................................................................................................................................... 19
Page 2 of 19
Chapitre 1 : Datawarehouse
Introduction :
de bases et d’applications. Alors les organisations recherchent des solutions pour résoudre ce
problème et mieux gérer leurs données. C’est dans ce contexte que, depuis quelques années,
se développent les DataWareho
DataWarehouse.
use.
Définition :
Un DataWarehouse (DWH) est par définition un système de base de données distinct d’un
système de traitement de données opérationnelles, dans lequel les données provenant de
diverses sources, parfois même très hétérogènes, sont combinées, compressées et archivées à
long terme. Alors Le Data Warehouse est une collection de es orientées sujet, intégrées, non
volatiles, historisées, organisées pour le support d’un processus d’aide à la décision.
Alors les informations orientées transactions générées par l’activité quotidienne par les sources
classiques de données qui sont les systèmes
sys tèmes de traitement de données opérationnelles
opérationnelles
deviennent donc des données décisionnelles stockées sur le long
l ong terme et préparées pour
l’analyse.
Page 3 of 19
Figure 1 : Data warehouse
Historique :
C’est pendant les aux années 1980 que l'origine du concept d'entrepôt de données remonte,
car durant ces années un intérêt croissant au système décisionnel a vu le jour ; cela ssee justifie
essentiellement par l'émergence des SGBD relationnels, la simplicité du modèle relationnel et la
puissance offerte par le langage SQL.
Au début, en effet, le
l e DataWarehouse n'était rien d'autre qu'une
qu'une copie des données du système
opérationnel prise de façon périodique ; cette dernière étant dédiée à un environnement de
support à la prise de décision. Ainsi, les données étaient extraites du système opérationnel et
stockées dans une nouvelle base de données « concept d'Infocentre >> dont d ont le motif principal
est de répondre aux requêtes des décideurs sans toutefois altérer les performan
performancesces des
systèmes opérationnels.
Le DataWarehouse, tel qu'on le connaît actuellement, n'est plus vu comme une copie ou
o u un
cumul de copies prises de façon périodique des données du système opérationnel. Il est devenu
s ource d’informations, alimenté avec des données recueillies et consolidées des
une nouvelle source
différentes sources internes et externes. Alors Il s’agit d’une solution permettant de collecter,
extraire, transformer dans le but de les analyser selon plusieurs critères et de les présenter aux
décideurs
base de données
Info centre Entropots de données
relationnelle
1980 1990
1970
Page 4 of 19
Architecture d’un DataWarehouse :
Le DataWarehouse a une structure bien définie, selon différents niveaux et de détails des
données, et les phases du processus de gestion et d’analyse d’un DWH se reflètent dans la
structure type, l’architecture dite de référence des systèmes d’entreposage des données.
Page 5 of 19
I. Composante de collection des données :
entreprise ainsi que des sources de données externes pertinentes qu’on distingue :
Données internes : système d’exploitation : progiciel de gestion intégré ; bases de données
opérationnelles ; système de gestion de contenu ; bases de données orientées texte, fichiers
plats (par exemple Excel, CSV, fichiers textes), emails, etc.
Données externes : applications et systèmes de services externes, sites Web, médias sociaux,
services de Cloud, etc.
Les techniques de collecte qui sont utilisées pour l’extraction
l’extr action et l’acquisition des données sont :
▪ Trigger ou déclencheur, ils peuvent alors être utilisés pour automatiser l’extraction
des données. Les déclencheurs vous permettent de définir des opérations qui sont
exécutées automatiquement lorsque certains événements se produisent.
▪ Fichiers journaux : le niveau d’acquisition des données d’un DWH peut contenir des
programmes capables
capables d’évaluer les fichiers journaux (ou fichiers log) des systèmes
sources et d’extraire les opérations enregistrées dans ces derniers.
En matière d’intégration de données, la plupart des DWH offrent des fonctionnalités OLAP qui
permettent de présenter les fichiers dans des structures multidimensionnelles.
Le traitement analytique en ligne (OLAP) est une méthode d’analyse utilisée pour comprimer
les données et fichiers d’entreprises pertinents pour la gestion. Le fonctionnement
fonctionnement est basé sur
le processus ETL :
E = Extraction : l’extraction
l ’extraction des données consiste à extraire des informations pertinentes de
diverses sources de données. Les sources de données sont encouragées à générer des extraits à
intervalles réguliers et à les
l es transmettre au DWH. Dans le cas d’une stratégie Pull, c’est le DWH
qui initie, de sa propre initiative, l’extraction des données.
Page 6 of 19
T = Transformation : les données extraites sont ajustées lors d’une transformation et traduites
da manière uniforme dans le format de la base de données cible.
L = Loading (chargement) : la phase de chargement
c hargement implique la sauvegarde des données
transformées dans les bases de données cibles respectives du DWH.
Pour résumer ce passage relatif aux ETL, nous sommes partis de données brutes que nous
avons nettoyées et transformées et que nous allons stocker dans une base de données
particulière, appelée DataWareho
DataWarehouse.
use.
Figure 3 : E-T-L
Le niveau d’archivage des données est un élément central de l’entrepôt des données. Il s’agit
de ce que l’on nomme le « Core Data Warehouse ». Les données extraites sont généralement
stockées dans le DWH sous fo rme de matrices multidimensionnelles, ce que l’on appelle des
schémas en étoile ou en flocon, pour des analyses futures dans le cadre d’un archivage à long
terme.
➢ Schémas en étoile :
C'est un schéma dans lequel il existe une table pour les faits et plusieurs tables pour les
différentes dimensions autour de celle-ci. La table de faits contient les différentes mesures et
des clés étrangères de chacune de leurs tables de dimensions.
Page 7 of 19
Figure 4 : Exemple schéma en étoile.
Ce schéma dérive
dimensions, du précédent
sont éclatées avec une table
ou décomposées centrale
en sous autour de
hiérarchies. laquelle les
L'avantage l es
du différentes
schéma en
flocon de neige est de formaliser une hiérarchie au sein d'une dimension, ce qui pourrait
faciliter l'analyse.
Page 8 of 19
des données : dans le meilleur des cas, chaque information n’apparaît
n’apparaît qu’une seule fois et ne
doit donc être placée qu’une fois dans le schéma.
Ce niveau de données sert d’interface avec les applications finales et les outils de présentation,
ce qui facilite l’analyse des données et les méthodes d’évaluation qui permettent d’extraire des
informations des entrepôts de données et de les traiter sous différentes formes de
présentation pour les utilisateurs finaux. Ce
C e niveau comprend notamment les outils de rapports
et d’interrogation, les outils de collaboration et d’expl oration de données, le traitement
analytique en ligne (OLAP), les systèmes d’information exécutive (EIS) et les outils de prévision
prévis ion
et de simulation.
Il existe sur le marché différents outils pour l'aide à la décision. Comme les
l es outils de fouille de
données ou data mining (pour découvrir des liens sémantiques), les outils d’analyse en ligne
OLAP "On-Line Analytical Processing" (pour la synthèse et l'analyse
l 'analyse des données
multidimensionnelles).
▪ Data mining ou fouille de données : est un ensemble de techniques tirées des
mathématiques permettant le forage de données, c'est-à-dire la recherche
d'informations dans de grands volumes de données. C'est l'art d’extraire des
connaissances à partir des données
▪ Outils de traitement analytique en ligne (OLAP) : L’affichag e via OLAP permet de
modéliser des données formatées en fonction
f onction d’un nombre quelconque de
dimensions prédéfinies. Les analystes peuvent utiliser diverses opérations de base
afin d’éditer un cube OLAP, qui est une base de données à plusieurs
plusi eurs dimensions,
optimisée pour les applications d'entrepô
d'entrepôtt de données et de traitement analytique
en ligne.
Caractéristique
Caractéristiquess du datawareh
datawarehouse
ouse :
Page 9 of 19
contenues dans l'entrepôt de données. Dans un système
sy stème opérationnel, les données sont
essentiellement destinées à satisfaire un processus fonctionnel en obéissant à des règles
de gestion, alors que celles d'un DW sont destinées à un processus analytique.
▪ Evolutives dans le temps : Dans un système décisionnel, il est important de conserver les
différentes valeurs d'une donnée, cela permet les comparaisons et le suivi
s uivi de l'évolution
des valeurs dans le temps
▪ Non volatiles : Une donnée dans un environnement opérationnel peut être mise à jour
ou supprimée. Par contre une telle opération n'existe pas dans un environnement
datawarehouse.
▪ Organisées pour le support d'un processus d'aide à la décision : Les données du DW sont
organisées de manière à permettre l'exécution des processus d'aide à la décision
décisi on
(Reporting, Data Mining ...).
SGBD et Datawareh
Datawarehouse
ouse :
Il faut bien comprendre qu’un Data Warehouse n’est pas l’équivalent d’une simple base de
données. Une base de données a pour fonction de collecter
coll ecter et de stocker des données en
temps réel. Un DataWarehouse, lui, est semblable
sem blable à un entrepôt : il est utilisé
utili sé pour stocker
toutes les données générées depuis que l’entreprise génère des données. C’est le lieu où
TOUTES données, en provenance de TOUTES les sources, se trouvent réunies.
On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure
d'informatique décisionnelle. En réalité SGBD et datawarehouse ont des objectifs différents. Ils
stockent les données de manière différentes et font l'objet
l 'objet de requêtes différentes. Ils sont
ainsi basés sur deux systèmes différents.
Page 10 of 19
▪ SGBD : Le mode de travail est transactionnel. L'objectif est de pouvoir insérer, modifier
et interroger rapidement et en sécurité la base. Ces actions doivent pourvoir être
effectuées très rapidement par de nombreux utilisateurs simultanément.
Chaque transaction travail sur de faibles quantités d'informations,
d'informations, et toujours sur les
versions les plus récentes des données.
▪ Les datawarehouses eux reposent sur le système OLAP (On Line Analytical
Analytic al Processing).
Ce système travail en lecture
lec ture seulement. Les programmes consultent d'importan
d'importantestes
quantités de données pour procéder à des analyses. Les objectifs principaux sont
regroupés, organiser des informations
informations provenant de sources diverses, les
l es intégrer et les
l’utilis ateur une vue orientée métier, retrouver et analyser
stocker pour donner à l’utilisateur
l’information facilement et rapidement. Cela nécessite de consulter des versions
historiques de la base et peut se permettre d'ignorer tempora
temporairement
irement les dernières
mises à jour.
Il est important de séparer les bases de production (SGBD) du datawarehouse. Pour des
raisons de performances premièrement car les systèmes de production ne sont pas prévus
pour répondre efficacement aux requêtes des systèmes d'aide à la décision. De plus les
systèmes de production ne conservent
co nservent pas leurs données, alors qu'un datawarehouse
reposent sur des données historisées. De plus un datawarehouse se reposent sur des
systèmes de production différents dont les données ne sont pas nécessairement
uniformisées
Page 11 of 19
Chapitre 2 : Nettoyage de données :
La qualité des données est un terme générique décrivant à lal a fois les caractéristiques de
données : complètes, fiables, pertinentes et à jour, cohérentes mais aussi l ’ensemble du
processus qui permet de garantir ses caractéristiques. Le but est d’obtenir des données sans
doublons, sans fautes d’orthographes,
d’orthographes, sans omission, sans variation superflue et conforme
à la structure définie. Les données sont dites de qualité si elles satisfont aux exigences de
leurs utilisateurs
Il faut préciser aussi que chaque organisme doit créer ses propres définitions
opérationnelles en fonction des objectifs et priorités, afin de définir des indicateurs pour
chacune des dimensions, et vérifier par des mesures régulières leur évolution dans le
temps.
✓ Chaque dimension peut être mesurée soit d’une manière subjective en recueillant la
perception des utilisateurs, ou bien d’une autre manière à travers du suivis
automatiques de ces indicateurs spécifiques. Dans notre cas, c’est la deuxième
méthode qui nous intéresse pour éviter des doublons.
Page 12 of 19
Problématique :
Algorithme de déduplication :
Page 13 of 19
Blocage :
Les algorithmes de blocage utilisent une clé de blocage pour partitionner un ensemble
d'enregistrements en partitions disjointes blocs. La comparaison des paires d'enregistrements
est alors limitée aux enregistrements dans la même partition. Ainsi, le nombre global de
comparaisons est fortement réduit qui est l’objectif principal.
Une décision importante pour la méthode de blocage est le choix d'un bon partitionnement, qui
détermine le nombre et la taille
taill e des partitions. Il doit être choisi d'une manière que les doublons
potentiels sont regroupés dans la même partition.
Sorted-neighborhood method :
Sorted-neighborhood
Le SNM est une technique d'indexation qui a été développée dans le but de réduire
Nombre de comparaisons entre les enregistrements candidats en cours de déduplication dans
une base de données ou entrepôts.
Étant donné une collection de deux bases de données ou plus, nous commence par la la
concaténation d'abord
d'abord en une seule liste de N enregistrements, puis appliquez la
l a SNM.
On peut dire que la méthode peut être résumé en trois phases principales :
Page 14 of 19
Phase de comparaison :
On glisse une fenêtre de taille fixe sur la liste séquentielle d'enregistrements limitan
limitantt les
comparaisons des enregistrements correspondants
correspondants à ces enregistrements qui sont dans
la fenêtre.
Si la taille
taill e de la fenêtre est de w enregistrements, alors chaque nouvel enregistrement
entrant dans la fenêtre est comparé aux w - 1 enregistrements précédents pour trouver
des enregistrements doublons.
Page 15 of 19
L'algorithme prend cinq paramètres d’entrée :
D est une référence aux données, qui n'a pas encore été chargé à partir du disque.
di sque.
La clé de tri K définit l'attribut ou la combinaison d'attributs qui doit être utilisé dans l'étape de
tri.
W spécifie la taille
traditionnelle SNM.maximale de fenêtre, qui correspond à la taille de la fenêtre de la
la
1. procedure PSNM(D,
PSNM(D, K, W, I, N)
2. pTaille calcTaillePartition(D)
3. pNum [N/pTaille-W+1]
4. array liste-tri Taille N : Entier
5. array recs
recs size pTaille : Enregistreme
Enregistrement nt
6. liste-tri sortProgressive
sortProgressive(D,
(D, K, I, pSize, pNum)
7. for currentI 2 to [W/I] do
8. for currentP 1 to pNum do
9. Recs lloadPartition(D,
oadPartition(D, currentP)
10. for dist in range(currentI,
range(currentI, I, W) do
11. for i 0 to |recs|-
|recs|- dist do
12. Pair <recs[i] ; recs[i+ dist]>
13. if compare(pair) then
14. emit(pair)
15. lookAhead(pair)
Page 16 of 19
Dans de nombreux scénarios pratiques, l'ensemble de données ne rentrera pas dans la
mémoire principale, pour des raisons liées
li ées aux limitations de ressources. Pour résoudre ce
problème, PSNM opère sur une partition de l'ensemble de données à la fois.
f ois.
L'algorithme PSNM calcule une taille de partition appropriée pTaille
pTaille,, c'est-à-dire le nombre
maximum d'enregistrements qui tiennent en mémoire, en utilisant la fonction
foncti on
Ligne 8, Puisque le processus de chargement est effectué par partition, PSNM itère
séquentiellement et charge (ligne
(ligne 9)
9) tout partitions.
Ligne 10 : Pour traiter une partition chargée, le
l e PSNM effectue d'abord une itération globale
des distances de classement des enregistrements dist qui se trouvent dans l’intervalle de
fenêtre actuel currentI.
Dans la ligne 11,12,
11,12, le PSNM répète ensuite tout enregistrements dans la partition actuelle
pour les comparer à leur dist-voisin
dist-voisin.. La comparaison est exécutée à l'aide de la fonction
compare (pair) de la ligne 13.
13. Si cette fonction renvoie « Vrai »,
», un duplicata a été trouvé et
peut être émis.
De plus, le PSNM évoque la méthode lookAhead (pair), que nous expliquons plus tard, pour
rechercher progressivement plus de doublons dans le voisinage actuel. Si non résilié tôt par
Page 17 of 19
l'utilisateur, le PSNM se termine lorsque tous les intervalles ont été traité et la taille maximale
de la fenêtre W a été atteint.
lookAhead : Après avoir trié les données d'entrée, nous trouvons des zones de densité de
doublons élevée et faible, en particulier en cas de doublons se produisent dans de plus grands
groupes, c'est-à-dire des groupes d'enregistrements qui sont tous doublons par paire. La
stratégie
comparaisonLook-Ahead utilise: Si
à l’exécution cette observation
la paire pour ajuster
d'enregistrements (i ;lej) classement descomme
a été identifié candidats de
un double,
alors les paires (i +1 ; j) et (i ; j + 1) ont de grandes chances d'être des doublonsdoublons du même
cluster. Par conséquent, le PSNM les l es compare immédiatement au lieu d'attendre le suivant
itération progressive. Si l'une des comparaisons prospectives détecte un autre doublon, une
analyse supplémentaire est récursive réalisé. De cette ce tte façon, le PSNM parcourt les grands
quartiers autour des doublons pour révéler progressivement des clusters entiers. À éviter les
comparaisons redondantes
redondantes dans différentes perspectiperspectives
ves ou une iitération
tération progressive suivante,
PSNM maintient toutes les comparaisons exécutées dans une structure de données temporaire.
Ce le comportemen
c omportementt est implémenté par la fonction lookAhead(pair) dans Ligne 15 de notre
implémentation PSNM. Depuis le regard vers l'avenir fonctionne récursivement, il peut
effectuer des comparaisons au-delà de la taille de fenêtre maximale donnée W. Par
conséquent, il peut trouver des doublons qui ne peuvent pas être trouvés par le traditionnel
SNM.
Cache de partition.
partition. Comme nous ne pouvons pas supposer que l'entrée est triée physiquement,
l'algorithme doit réitérer à plusieurs reprises l'ensemble du fichier en recherchant les
enregistrements de la partition suivant, qui contient les candidats de comparaison les plus
prometteurs actuellement. Ainsi, tous les enregistrements doivent être lus lors du chargement
de la partition suivante.
Pour surmonter ce problème, nous a implémenté la l a mise en cache de partition dans
loadPartition(D, currentP) dans la ligne 9 : Si une partition est lue pour la première time, la
fonction collecte les enregistrements demandés à partir du ensemble de données d'entrée et
les matérialise dans un nouveau, dédié fichier cache
cac he sur le disque. Lorsque la partition
partiti on est
demandée ultérieurement encore
encore une fois, la fonction le charge à partir de ce fichier cache,
réduisant le les coûts des opérations d’E / S supplémentaires de PSNM (et d’éventuels efforts
d’analyse sur l’entrée de fichier) .
Page 18 of 19
Conclusion :
Le temps nécessaire pour trouver le plus de doublons dans la méthode de voisinage trié
progressif est inférieur à celui du SNM traditionnel.
Pour tout instant arbitraire auquel des résultats sont nécessaires, la sortie d'un algorithme SNM
progressif sera plus grande que la sortie de son algorithme
alg orithme SNM traditionnel corresponda
correspondant.
nt.
À cette fin, notre algorithmes PSNM ajuste dynamiquement le comportement en choisissant
automatiquement les paramètres optimaux, par exemple, la taille des fenêtres, la taille des
blocs et les clés de tri, rendant leur spécification manuelle superflue.
De cette façon, nous facilitons considérablement la complexité du paramétrage pour la
détection des doublons en général et contribuer au développement de plus d'applications
d'applicat ions
interactives pour les utilisateurs.
Page 19 of 19