intégration de données cédric gueydan - décembre 2004 -
TRANSCRIPT
Intégration de données
Cédric Gueydan
- Décembre 2004 -
p. 2Intégration de données
Plan
21/12/04
- Hétérogénéité
- Différentes approches
- Médiateurs
Introduction
Besoin : interroger différentes sources de données simultanément et combiner les résultats obtenus afin de fournir une information non disponible directement
Problème : hétérogénéité des sources
Objectif : donner à l'utilisateur l'illusion qu'il interroge une seule et unique source
p. 3Intégration de données21/12/04
Conflits sémantiques
Conflits intensionnels
Conflits de données
Conflits schématiques
Conflits de types de données
Conflits de labels
Conflits d’aggregations
Conflits de généralisations
Conflits de nommage
Conflits de graduation/d’échelle
Conflits confondants
Conflits de domaines
Conflits de contraintes d’intégrité
Hétérogénéité – conflits (Goh 1997)
p. 4Intégration de données21/12/04
Conflits sémantiques
Conflits intensionnels
Conflits de données
Conflits schématiques
Conflits de types de données
Conflits de labels
Conflits d’aggregations
Conflits de généralisations
Conflits de nommage
Conflits de graduation/d’échelle
Conflits confondants
Conflits de domaines
Conflits de contraintes d’intégrité
Hétérogénéité – conflits (Goh 1997)
p. 5Intégration de données21/12/04
Hétérogénéité sémantique
p. 6Intégration de données
Causes d’hétérogénéité sémantique:
- conflits de confusion: Items d’informations semblant de signification identiques mais différents en réalité
- conflits de graduation/échelle: utilisation de différents référentiels pour mesurer une valeur
- conflits de nommage: exemple : homonymes/synonymes
21/12/04
Différentes approches
- matérialisée (entrepôt de données ou data warehouse)
p. 7Intégration de données
- virtuelle (médiateur)
21/12/04
Différentes approches
Approche matérialisée - 1
Idée : l'utilisateur interroge une base de données réelle (l’entrepôt) contenant une copie des données pertinentes des différentes sources considérées
p. 8Intégration de données21/12/04
Différentes approches
Source 1
Entrepôt
Utilisateur
Intégrateur
Adaptateur
Source n
Adaptateur
Requête
. . . . . . .
p. 9Intégration de données
Approche matérialisée - 2
21/12/04
Différentes approches
Source 1
Entrepôt
Utilisateur
Intégrateur
Adaptateur
Source n
Adaptateur
Requête
. . . . . . .
p. 10Intégration de données
Approche matérialisée - 2
21/12/04
Différentes approches
Principales questions :- Peuplement- Mise à jour- Définition du schéma de l’entrepôt
p. 11Intégration de données
Approche matérialisée - 3
21/12/04
Différentes approches
Idée : l'utilisateur interroge un médiateur chargé de traduire la requête pour interroger les différentes sources et de combiner les résultats obtenus
p. 12Intégration de données
Approche virtuelle - 1
21/12/04
Différentes approches
Source 1
Utilisateur
Médiateur
Adaptateur
Requêtes
. . . . . . .
Requêtes
Requêtes
Source n
Adaptateur
Requêtes
p. 13Intégration de données
Approche virtuelle - 2
21/12/04
Différentes approches
Requête formulée dans les termes du schéma global (du médiateur)
Source 1
Utilisateur
Médiateur
Adaptateur
Requêtes
. . . . . . .
Requêtes
Requêtes
Adaptateur
Requêtes
Source np. 14Intégration de données
Approche virtuelle - 2
21/12/04
Différentes approches
Source 1
Utilisateur
Médiateur
Adaptateur
Requêtes
. . . . . . .
Requêtes
Requêtes
Adaptateur
Requêtes
Source np. 15Intégration de données
Approche virtuelle - 2
Schéma global
Schéma source n
Schéma source 1
Module de gestion des requêtes
. . .
Reformulation, optimisation, exécution des requêtes
21/12/04
Différentes approches
Décomposition en sous-requêtes basées sur les vues abstraites des sources
Source 1
Utilisateur
Médiateur
Adaptateur
Requêtes
. . . . . . .
Requêtes
Requêtes
Adaptateur
Requêtes
Source np. 16Intégration de données
Approche virtuelle - 2
21/12/04
Différentes approches
Traduction des sous-requêtes et interrogation des sources
Source 1
Utilisateur
Médiateur
Adaptateur
Requêtes
. . . . . . .
Requêtes
Requêtes
Adaptateur
Requêtes
Source np. 17Intégration de données21/12/04
Approche virtuelle - 2
Source 1
Utilisateur
Médiateur
Adaptateur
Requêtes
. . . . . . .
Requêtes
Requêtes
Source n
Adaptateur
Requêtes
Différentes approches
Réponse = chemin inverse
p. 18Intégration de données
Approche virtuelle - 2
21/12/04
Différentes approches
Les données sont stockées uniquement au niveau des sources
Le médiateur contient des vues abstraites sur ces sources
Les adaptateurs traduisent les requêtes exprimées par les vues dans le langage spécifique de chaque source
p. 19Intégration de données
Approche virtuelle - 3
21/12/04
Différentes approches
p. 20Intégration de données
Principales questions :
- définition du schéma global- définition des schémas sources - mapping schéma global / schémas des sources
Approche virtuelle - 4
21/12/04
Différentes approches
Comparaison - 1
Matérialisée Virtuelle
performances
historique
volume
actualisation temps réel
+ -
+ -
-
-
+
+ajout/suppression de sources +-
complexité +-
p. 21Intégration de données21/12/04
Différentes approches
Comparaison - 2
Approche virtuelle préférable si :- les sources sont mises à jour fréquemment- les sources sont très nombreuses- il est impossible de prédire les requêtes de l'utilisateur
p. 22Intégration de données21/12/04
Médiateur
Correspondance entre schéma global et schémas sources :- GAV : Global As View schéma global défini en termes des sources- LAV : Local As View sources définies en termes du schéma global
Langage pour modéliser :- le schéma global- les vues sur les sources- les requêtes utilisateur
Choix de conception :
p. 23Intégration de données21/12/04
Médiateur
Global schema: movie(Title;Year; Director)european(Director)review(Title; Critique)
Source 1: r1 (Title;Year; Director ) since 1960, european directors
Source 2: r2 (Title;Critique) since 1990
p. 24Intégration de données
Exemple de requête:
Titres et critiques de film en 1998 :
SELECT Title, Critique FROM movie JOIN reviewWHERE Year=1998
[Lenzerini] [Halevy]
21/12/04
Règles de mapping GAV:
p. 25Intégration de données
Médiateur
- Mapping – GAV -
Global schema: movie(Title;Year; Director)european(Director)review(Title; Critique)
Source 1: r1 (Title;Year; Director ) since 1960, european directors
Source 2: r2 (Title;Critique) since 1990
CREATE VIEW movie (Title; Year; Director) AS
SELECT Title, Year, Director FROM r1
…21/12/04
CREATE VIEW movie (Title; Year; Director) AS
SELECT Title, Year, Director FROM r1
p. 26Intégration de données
Médiateur
- Mapping – GAV -
Global schema: movie(Title;Year; Director)european(Director)review(Title; Critique)
Source 1: r1 (Title;Year; Director ) since 1960, european directors
Source 2: r2 (Title;Critique) since 1990
Règles de mapping GAV:
…21/12/04
Règles de mapping LAV:
p. 27Intégration de données
CREATE VIEW r1 (Title; Year; Director) AS
SELECT Title, Year, Director FROM movie JOIN europeanWHERE Year >= 1960
Médiateur
- Mapping – LAV -
Global schema: movie(Title;Year; Director)european(Director)review(Title; Critique)
Source 1: r1 (Title;Year; Director ) since 1960, european directors
Source 2: r2 (Title;Critique) since 1990
21/12/04
…
CREATE VIEW r1 (Title; Year; Director) AS
SELECT Title, Year, Director FROM movie JOIN europeanWHERE Year >= 1960
Global schema: movie(Title;Year; Director)european(Director)review(Title; Critique)
Source 1: r1 (Title;Year; Director ) since 1960, european directors
Source 2: r2 (Title;Critique) since 1990
Règles de mapping LAV:
p. 28Intégration de données
Médiateur
- Mapping – LAV -
21/12/04
…
Médiateur
p. 29Intégration de données
Comparaison [Knoblock] [Lenzerini]
GAV LAV
Non modulaire: l'addition de nouvelles sources nécessite la modification du schéma global
Bonne modularité: l'addition de nouvelles sources est simple
Simplicité de la reformulation de requête (dépliement)
Difficulté de la reformulation de requête (inférence)
21/12/04
Médiateur
Architecture : - combinaison entrepôt / médiateur (Xylème)
Conception schéma : - BAV : Both As View- GLAV : Global Local As View- BGLAV : BYU Global Local As View (Brigham Young University)
p. 30Intégration de données
Autres approches :
21/12/04
p. 31Intégration de données
PicselTsimmisSimsXylemeMomisInformation ManifoldObserverHermesInfomaster…
→ Nombreux systèmes existants:
→ Tous présentent une approche différente
21/12/04
Conclusion
→ Pas de solution « miracle »
p. 32Intégration de données21/12/04
Médiateur
p. 33Intégration de données
- Traitement des requêtes – GAV -
Reformulation par simple dépliement VIEW movie (Title; Year; Director) AS
SELECT Title, Year, Director FROM r1
Rappel des règles de mapping :
Exemple de requête utilisateur :SELECT Title, Critique FROM movie JOIN reviewWHERE Year=1998
Niveau schéma global
Requête:SELECT Title, Critique FROM r1 JOIN r2WHERE Year=1998
Niveau schémas sources
…
21/12/04
p. 34Intégration de données
Exemple de requête utilisateur :SELECT Title, Critique FROM movie JOIN reviewWHERE Year=1998
Requête:SELECT Title, Critique FROM r1 JOIN r2WHERE Year=1998
Reformulation par simple dépliement
Niveau schéma global
Niveau schémas sources
Médiateur
- Traitement des requêtes – GAV -
VIEW movie (Title; Year; Director) ASSELECT Title, Year, Director FROM r1
Rappel des règles de mapping :
…
21/12/04
p. 35Intégration de données
Exemple de requête utilisateur :SELECT Title, Critique FROM movie JOIN reviewWHERE Year=1998
Niveau schéma global
Reformulation nécessitant inférence
Rappel des règles de mapping :
VIEW r1 (Title; Year; Director) ASSELECT Title, Year, Director FROM movie JOIN europeanWHERE Year >= 1960
Niveau schémas sourcesSELECT Title, CritiqueFROM r2 JOIN r1WHERE year = 1998
Requête:
Médiateur
- Traitement des requêtes – LAV -
…
21/12/04
VIEW r1 (Title; Year; Director) ASSELECT Title, Year, Director FROM movie JOIN europeanWHERE Year >= 1960
p. 36Intégration de données
Exemple de requête utilisateur :SELECT Title, Critique FROM movie JOIN reviewWHERE Year=1998
Reformulation nécessitant inférence
Niveau schéma global
Niveau schémas sourcesSELECT Title, CritiqueFROM r2 JOIN r1WHERE year = 1998
Requête:
Médiateur
- Traitement des requêtes – LAV -
Rappel des règles de mapping :
…
21/12/04
Règles de mapping GAV:
p. 37Intégration de données
CREATE VIEW movie (Title; Year; Director) ASSELECT Title, Year, Director FROM r1
CREATE VIEW european (Director) ASSELECT Director FROM r1
CREATE VIEW review (Title; Critique) ASSELECT Title, Critique FROM r2
Médiateur
- Mapping – GAV -
Global schema: movie(Title;Year; Director)european(Director)review(Title; Critique)
Source 1: r1 (Title;Year; Director ) since 1960, european directors
Source 2: r2 (Title;Critique) since 1990
21/12/04
Règles de mapping GAV:
p. 38Intégration de données
CREATE VIEW movie (Title; Year; Director) ASSELECT Title, Year, Director FROM r1
CREATE VIEW european (Director) ASSELECT Director FROM r1
CREATE VIEW review (Title; Critique) ASSELECT Title, Critique FROM r2
Médiateur
- Mapping – GAV -
Global schema: movie(Title;Year; Director)european(Director)review(Title; Critique)
Source 1: r1 (Title;Year; Director ) since 1960, european directors
Source 2: r2 (Title;Critique) since 1990
21/12/04
Règles de mapping LAV:
p. 39Intégration de données
CREATE VIEW r1 (Title; Year; Director) ASSELECT Title, Year, Director FROM movie JOIN europeanWHERE Year >= 1960
CREATE VIEW r2 (Director) ASSELECT Title, Critique FROM movie JOIN reviewWHERE YEAR >= 1990
Médiateur
- Mapping – LAV -
Global schema: movie(Title;Year; Director)european(Director)review(Title; Critique)
Source 1: r1 (Title;Year; Director ) since 1960, european directors
Source 2: r2 (Title;Critique) since 1990
21/12/04
Global schema: movie(Title;Year; Director)european(Director)review(Title; Critique)
Source 1: r1 (Title;Year; Director ) since 1960, european directors
Source 2: r2 (Title;Critique) since 1990
Règles de mapping LAV:
p. 40Intégration de données
CREATE VIEW r1 (Title; Year; Director) ASSELECT Title, Year, Director FROM movie JOIN europeanWHERE Year >= 1960
CREATE VIEW r2 (Director) ASSELECT Title, Critique FROM movie JOIN reviewWHERE YEAR >= 1990
Médiateur
- Mapping – LAV -
21/12/04