43
1 Module BDR Master d’Informatique (SAR) Cours 10- Intégration de données : perspectives Anne Doucet [email protected]

Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

  • Upload
    others

  • View
    3

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

1

Module BDRMaster d’Informatique (SAR)

Cours 10- Intégration de données : perspectives

Anne [email protected]

Page 2: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

2

Plan

• Intégration de données• Architectures d’intégration

– Approche matérialisée (Entrepôt de données)– Approche virtuelle (médiateurs)– Architectures P2P

Page 3: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

3

Intégration de données

• Contexte • Caractéristiques• Processus d’intégration de données

Page 4: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

4

Contexte

• Sources d’informations nombreuses et très diversifiées (SGBD R, SGBDO, XML, fichiers texte, pages Web, etc.)

• Différents modes de consultation– Langages et modes de requêtes différents (SQL, moteurs de

recherche, programme d’applications…)– Différentes façons de répondre (différentes présentations

du résultat) : pages Web, tableurs, relations…• Différents interactions avec la source

– Protocoles de communication (JDBC, ODBC, IIOP)– Différentes interfaces

Page 5: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

5

Exemple

SGBDrelationnel

ApplicationSGBDobjet

SGBDSemi-Structuré

Agencede voyage

Chainehotelière

Site horairedes vols

InformationsPays

Météo

FichierstexteFichiers

texteFichiers

texte

SQLXQueryOQL API

Moteur derecherches

instancestuples objets xmlhtml

Page 6: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

6

Intégration de données

Fournir un accès (requêtes, éventuellement mises à jour)uniforme (les sources sont transparentes à l’utilisateur)à des sources (pas seulement des BD)multiples (même 2 est un problème)autonomes (sans affecter le comportement des sources)hétérogènes (différents modèles de données, schémas)structurées ( ou au moins semi-structurées)

Page 7: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

7

Caractéristiques des sources

• Distribution• Hétérogénéité• Autonomie• Interopérabilité

Distribution

HétérogénéitéAutonomie

Interopérabilité

Page 8: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

8

Distribution

• Les données sont stockées sur des supports répartis géographiquement.

• Offre disponibilité et amélioration des temps d’accès. • Pbs:

– Localiser la (ou les) source(s) contenant les données pertinentes.

– Tenir compte de la puissance des sources et de leur charge

– Les sources peuvent être temporairement indisponibles

Page 9: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

9

Hétérogénéité

• L’hétérogénéité concerne les données, les modèles et les langages.

• Système homogène : • même logiciel gérant les données sur tous les sites • même modèle de données• même univers de discours

• Système hétérogène :• n’adhère pas à toutes les caractéristiques d’un système

homogène• langages de programmation et d’interrogation différents,

modèles différents, SGBD différents

Page 10: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

10

Autonomie• Conception : sources locales avec des

• modèles de données propres,• langage d’interrogation• Interprétation sémantique des données, contraintes, fonctions …

• Communication : les sources de données locales décident quand et comment répondre aux questions d’autres sources

• Exécution : pas d’information provenant des sources locales sur

• l’ordre d’exécution des transactions locales ou des opérations externes

• pas de distinction entre les opérations locales et globales• Association :

• connexion et déconnexion des sources• partage de données et des fonctions

Page 11: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

11

Interopérabilité

• Systèmes interopérables :• échange de messages et de requêtes• partagent les fonctions• Communiquent même avec des composants internes

incompatibles• Propriétés fondamentales à tout système interopérable :

– Distribution– Hétérogénéité– Autonomie

Page 12: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

12

Processus d’Intégration

Processus semi automatisable permettant d’intégrer des données structurellement et sémantiquement hétérogènes.

Problème ancien (voir état de l’art dans A.P.Sheth and J.A Larson. Federated database systems for managing distributed, heterogeneous, andautonomous databases. ACM Computing Surveys, 22(1):183-236, Mars 90).

Pbs : hétérogénéité des modèles de données, des puissances d’expression, des modélisations.

Un système d’intégration comprend 4 tâches principales :- intégration de schéma- fusion de données- traduction de requêtes- réécriture de requêtes

Page 13: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

13

Intégration de schéma

– Pré intégration• Analyse des schémas :

– identification des éléments semblables dans les schémas initiaux, et description des liens inter-schémas.

– unifier les types en correspondance en un schéma intégré et produire les règles de traduction associées entre le schéma intégré et les schémas initiaux.

• Ordre d’intégration• Définition de contraintes globales

– Comparaison• Identification de relations entre attributs• Homonymes, synonymes, types de données, dépendances• Propriétés (assertions) de correspondance inter schémas

(dépendances d’inclusion, exclusion, union)• S’assurer que l’ensemble d’assertions est cohérent et minimum.

Page 14: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

14

Fusion de données

– Mise en conformité : résolution de conflits• Classification : les populations du monde réel représentées par les

deux types sont différentes.• Description : les types ont des ensembles différents de propriétés• Structure : les concepts utilisés pour décrire les types sont différents• Hétérogénéité : les modèles de données utilisés sont différents. • Données : des instances en correspondance ont des valeurs

différentes pour des propriétés en correspondance.

– Regroupement et restructuration : mise en forme d’objets dans la vue intégrée

Page 15: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

15

Architectures d’intégration

• Intégration matérialisée– Les données provenant des sources à intégrer sont stockées

sur un support spécifique (entrepôt de données).– L’interrogation s’effectue comme sur une BD classique

(relationnelle).

• Intégration virtuelle– Les données restent dans les sources– Les requêtes sont faites sur un schéma global, puis

décomposées en sous-requêtes sur les sources. Les différents résultats des sources sont de la requête sont combinés pour former le résultat final.

Page 16: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

16

SGDB universel Entrepôt de données

Systèmes fortement intégrés

RechercheD’information

SystèmesFaiblement intégrés

Systèmes de requêtesPour sources hétérogènes

Intégrationvirtuelle

Intégration matérialisée

Architectures d’intégration :Localisation de données

Bases de données fédérées Moteurs de recherche

Les données sont transférées Les données restent sur le site où elles se trouvent

Données nativesstructurées

Données structuréesNatives et dérivées

Données nativesNon structurées

Données structurées Données nativesStructuréesSemi-structuréesNon structurées

Page 17: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

17

Architecture d’entrepôt de données

Intégrateur

Entrepôt(BD relationnelle)

requête réponse

Schéma local Schéma local Schéma local

Extraction et nettoyagede données

utilisateur

Source 1 Source 2 Source 3

Page 18: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

18

Architecture de médiateur

Schéma global

Schéma local

Source 1

Schéma local

Source 2

Schéma local

Source 3

Médiateur

requête réponse

utilisateur

adaptateuradaptateur adaptateur

Page 19: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

19

Matérialisé vs. virtuel

• Architectures matérialisées– Bonnes performances– Données pas toujours fraîches– Nettoyage et filtrage des données

• Architectures virtuelles– Les données sont toujours fraîches– Traitement de requêtes peut être coûteux– Défi principal : performances

Page 20: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

20

Entrepôts de données

Page 21: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

21

Motivations

• Réconciliation sémantique– Dispersion des sources de données au sein d’une entreprise– Différents codage pour les mêmes données– L’entrepôt rassemble toutes les informations au sein d’un unique

schéma– Conserve l’historique des données

• Performance– Les données d’aide à la décision nécessitent une autre organisation

des données– Les requêtes complexes de l’OLAP dégradent les performances

des requêtes OLTP.• Disponibilité

– La séparation augmente la disponibilité– Une bonne façon d’interroger des sources de données dispersées

• Qualité des données

Page 22: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

22

Systèmes légués

• gros système, critique, sur environnement ancien. Souvent peu documenté. Interactions entre les différents modules peu claires. Très cher à maintenir.

• Il faut l'intégrer (migration) au système actuel (Entrepôt) = architecture cible.• Contraintes : migration sur place, garder opérationnel, corriger et améliorer

pour anticiper, le moins de changements possibles (diminuer le risque), flexible sur les évolutions futures, utiliser les technologies modernes.

• Approche classique : tout réécrire dans l'architecture cible– promesses à tenir dans des conditions changeantes– problème de transfert de très gros fichiers (plusieurs jours) dans

système critique– gros projet, retard mal vus, risque d'abandon

• Approche incrémentale : – isoler des sous-systèmes a migrer– établir des passerelles pour que les modules déjà migrés puissent

communiquer avec les modules encore dans le système légué(traducteur de requêtes et de données).

– coordonner les mises à jour pour garder la cohérence.

Page 23: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

23

Bases de Données/Entrepôts de données

BD- OLTP Entrepôts

Objectif collecte de données consultation et analyseopérations au jour le jour

Utilisateurs un département (Employé) transversal (Gestionnaire)

Types dedonnées données de gestion données d’analyse

(données courantes) (données historiques)

Informations détaillées détaillées + agrégées

Opérations requêtes simples, pré-déterminées requêtes complexes, ad-hocsélections et mises à jour sélectionsnombreuses transactions peu de transactionstransactions courtes transactions longues

temps réel batchrecherche d'enregistrementsdétaillés agrégations et group by

n-uplets accédés dizaines millions

Page 24: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

24

Architecture

entrepôt

datamart

datamart

datamart

olap

données de production(y.c. Systèmes légués)

données externes (connaissances, règles)

META-MODELES

Page 25: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

25

Architecture à 3 niveaux

• Serveur de la BD de l’entrepôt– Presque toujours relationnel

• Data marts /serveur OLAP– Relationel (ROLAP)– Multidimensionel (MOLAP)

• Clients– Outils d’interrogation et de rapports– Outils d’analyse et d’aide à la décision

Page 26: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

26

Construction d’un entrepôt de données

1. Acquisition:Extraction : collection de données utilesPréparation : transformation des caractéristiques des données

du système opérationnel dans le modèle de l’entrepôtChargement : nettoyage (élimination des dupliqués, incomplétudes,

règles d’intégrité, etc.) et chargement dans l’entrepôt (trier, résumer, calculs,index).

2. Stockage :Les données sont chargées dans une base de données pouvanttraiter des applications décisionnelles.

3. Restitution des données :Il existe plusieurs outils de restitution (tableaux de bord, requêteursSQL, analyse multidimensionnelle, data mining ...)

Trois phases principales

Page 27: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

27

Maintenance• Les données de l’entrepôt sont stockées sous forme de vues

matérialisées sur les différentes sources de données.• Quand répercuter les mises à jour des sources ?

– À chaque modification ?– Périodiquement ?– À définir par l’administrateur

• Comment les répercuter ?– Tout recompiler périodiquement ?– Maintenir les vues de façon incrémentale

• Détecter les modifications (transactions, règles actives, etc.)• Les envoyer à un intégrateur qui détermine les vues concernées,

calcule les modifications et les répercute.

Page 28: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

28

Evolution

Les entrepôts sont amenés à évoluer souvent et considérablement.La taille d'un entrepôt croît rapidement (de 20giga à 100giga en 2 ans).

Pourquoi ?- nouvelles données (extension géographique, changement de fréquence deshistoriques, changement du niveau de détail, etc.)- ajout de nouveaux éléments de données au modèle (l'ajout d'un attributpour 2millions de n-uplets représente une augmentation considérable!)- création de nouveaux index, résumés- ajout de nouveaux outils (générateurs de requêtes, outils OLAP, etc.)- nouveaux utilisateurs- complexité des requêtes

Comment garantir l'extensibilité, la disponibilité, la maintenabilité ?

Page 29: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

29

Médiateurs

Page 30: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

30

Médiateurs

AdaptateurAdaptateur Adaptateur

ObjectsRelationsDonnées

non structurées

Médiateur

Applications

Niv

eau

glob

alN

ivea

u lo

cal

Page 31: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

31

Médiateur

Transformation de requêtes

Optimisationde requêtes

Exécution des requêtes

wrapper wrapper

Modèle de données local

Modèle de données global

Requête sur le schéma global

Requête sur l’union des schémas locaux exportés

Plan d’exécution réparti

Requête sur le schéma local exporté

Requête sur le schéma local

catalogue

Page 32: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

32

Médiateur

Le médiateur s’occupe de la répartition des sources :

• Localisation des sources• Accepte les requêtes des clients• Réécrit (décompose) et optimise les requêtes (optimisation

répartie)• Envoie les plans d’exécution à faire exécuter par les wrappers

des différentes sources• Combine (recompose) les résultats des wrappers et effectue

éventuellement quelques opérations supplémentaires

Attention : le médiateur ne comprend pas de code spécifique aux sources!

Page 33: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

33

Adaptateur (Wrapper)• Cache l’hétérogénéité au médiateur

• Traduit le schéma des sources en termes du schéma global• Traduit les requêtes du médiateur en termes compréhensibles par les sources• Traduit les résultats renvoyés par la source en termes du schéma global• Un adaptateur par source (peut constituer un obstacle à l’intégration d’un nombre

important de sources)• Assez difficiles à écrire• Peuvent être « intelligents » : effectuer des optimisations spécifiques aux sources• Sont généralement associés aux sources, mais peuvent aussi se trouver dans le

médiateur

adaptateur

schéma requêtes données

donnéesrequêtesschéma

Page 34: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

34

Exemple

Transformer :

En :

<b>Data on the Web</b><i>Abiteboul S.</i><i>Buneman P</i><i>Suciu D.</i>Morgan Kaufman, 1999

<livre><titre>Data on the Web</titre><auteur>Abiteboul S.</auteur><auteur>Buneman P</auteur><auteur>Suciu D.</auteur><editeur>Morgan Kaufman </editeur><annee> 1999</annee></livre>

Page 35: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

35

Communication médiateur/adaptateur

• Pour faciliter le travail d’intégration, on définit– Un langage commun dans lequel le médiateur interrogera

les adaptateurs– Un format de résultat commun dans lequel les adaptateurs

répondront au médiateur

• Le langage et le format du résultat peuvent être standardisés ou propriétaires

Page 36: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

36

Schéma global

• Choix d’un modèle commun (et du langage de requêtes)– Relationnel (Information Manifold, Le Select,XPeranto), – orienté-objet (Garlic, Disco), – semi-structuré (Tsimmis, Yat, Nimble, Xylème), – Logiques de description (SIMS, Observer)

• Plusieurs approches pour définir le schéma global :– Global as View (Tsimmis, Disco, Yat, Garlic, XPeranto)– Local as View (AGORA, Information Manifold)– Combinaison des deux ?

• Ces approches sont déterminantes pour la réécriture des requêtes, et pour l’évolution du système d’intégration (ajout de sources)

Page 37: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

37

Architectures Pair-à-pair

Page 38: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

38

Définition

• Chaque nœud (peer) participant peut être client ou serveur• Chaque nœud « paye » sa participation en donnant accès à une

partie de ses ressources• Propriétés :

– Pas de coordination centralisée– Pas de BD centralisée– Aucun nœud n’a une vision globale du système– Le comportement global émerge à partir des interactions locales– Tous les services et données sont accessibles de n’importe quel nœud– Les nœuds sont autonomes– Les nœuds et les connections ne sont pas fiables

Page 39: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

39

Différents types de systèmes P2P

• Systèmes de partage de fichiers– Napster, Gnutella, Freenet

• Commerce électronique– eBay, serveurs d’intégration B2B

• Bases de données réparties– Mariposa [Stonebraker96]

• Réseaux– Réseaux mobiles ad-hoc

L’approche P2P se trouve à tous niveaux du système : utilisateur, application, gestion de l’information, réseau.

Page 40: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

40

Napster

Nœud i

b2.mp3

Nœud j

a1.mp3

Index centralisé

1

1: enregistrement de irecherche de a1.mp3ajout des fichiers de i dans l’index

2: retour des noeuds possédant a1.mp3

3: demande directe de i à j pour télécharger a1.mp34: téléchargement de a1.mp3 et

ajout dans la base de ressources partagées

2

3

4

Page 41: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

41

Gnutella

• Chaque nœud propage la requête à ses voisins (en général 4)• Le nombre de propagations est limité (en général à 7)• Détection de cycles grâce à l’identificateur des paquets

Recherche a

Retour a

Page 42: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

42

Gnutella (recherche)

A

B

C

D

E

Get X.mp3

Query de A

X.mp3

X.mp3

QueryHit de C

QueryHit de E

X.mp3

Transfert du fichier

Page 43: Module BDR Master d’Informatique (SAR)doucet/CoursBDR/BDR10-perspectives.pdf · 12 Processus d’Intégration Processus semi automatisable permettant d’intégrer des données

43

Conclusion

• De plus en plus de répartition (de données, de ressources)

• Plusieurs architectures :– BD réparties– Entrepôts de données– Médiateurs– Systèmes pair-à-pair

• Choix en fonction des applications