You are on page 1of 6

15/10/2010

Fonctions d’un adaptateur Offres d’adaptateurs


• Fournisseurs indépendants
– extracteurs indépendants entre les données sources
et les outils cibles
– Information Builders Inc. (IBI), EvolutionaryTechnology
Inc. (ETI), Prism, Carleton, etc.
• Editeurs de SGBD
– passerelles entre le SGBD et les données sources
– interface standard : ODBC, JDBC, OLE/DB, ADO
– Oracle, DB2, Microsoft, Sybase, etc.

Fragmentation Reconstruction
• Réécriture
– mettre la requête sous la forme d'un arbre algébrique
(feuille: relation, nœud: operateur relationnel P, J, S)
• Reconstruction
– remplacer chaque feuille par le pgme de
reconstruction de la relation globale
• Transformation
– Appliquer des techniques de réduction pour éliminer
les opérations inutiles

1
15/10/2010

Réduction pour la fragmentation


• Le schéma de répartition permet de localiser
horizontale chaque fragment entrant dans la composition
d’une relation globale.
• Lors de l’exécution d’une requête, le SGBDR
décompose la requête globale en sous-
requêtes locales pour accéder aux fragments
en utilisant le schéma de répartition.

Transactions réparties
• OBJECTIF Transactions réparties
– Garantir que toutes les mises à jour d'une transaction
sont exécutées sur tous les sites ou qu'aucune ne l'est.
• EXEMPLE
• PROBLEME
– Transfert de la somme X du compte A vers le compte B – 1 transaction globale T
– DEBUT – => N transactions locales Ti
site 1: A = A – X
site 2: B = B + X PANNE --> INCOHERENCE – nécessité d'une coordination entre les sites
DONNEES locaux Si
- FIN
• SOLUTION
• PROBLEME
– Le contrôle est réparti : chaque site peut décider de – un site coordinateur C
valider ou d’annuler ... – un protocole de validation en 2 étapes

2
15/10/2010

Commit en deux phases Protocole C/S


• Principe • PREPARER
– Diviser la commande COMMIT en deux phases – Le coordinateur C demande aux autres sites Si s’ils sont
– Phase 1 : prêts à commettre leurs mises à jour.
• Préparer à écrire les résultats des mises à jour dans la BD • 2a. SUCCES : COMMETTRE
• Centralisation du contrôle – Tous les participants effectuent leur validation sur ordre du
– Phase 2 : coordinateur.
• Écrire ces résultats dans la BD • 2b. ECHEC : ABORT
• Coordinateur : – Si un participant n’est pas prêt, le coordinateur demande à
tous les autres sites de défaire la transaction.
– Le composant système d'un site qui applique le protocole • REMARQUE
• Participant : – Le protocole nécessite la journalisation des mises à jour
– Le composant système d'un autre site qui participe dans préparées et des états des transactions dans un journal
l'exécution de la transaction local à chaque participant.

• PHASE 1 • PHASE 2
• -> Le site C ajoute <T préparée> dans son • -> A partir des messages reçus des sites Si et
journal au terme d'un laps de temps déterminé, le
• -> Le site C envoie "prêt à commettre T" à site C prend une décision :
tous les sites Si – il valide T s'il a reçu "T prête" de tous les sites Si :
• il ajoute <T validée> à son journal
• -> Chaque site Si prend une décision :
• il envoie "valider T" à tous les sites
– s'il valide Ti , alors :
– il avorte T s'il a reçu au moins un message "abort
• Le site Si écrit <T prête à commettre> dans son journal
T" d'un site Si (ou au bout du laps de temps
• Le site Si envoie "T prête" au site C spécifié) :
– s'il ne valide pas Ti , alors : • il ajoute <T abortée> à son journal
• Le site Si écrit <non T> dans son journal • il envoie <abort T> à tous les sites Si
• Le site Si envoie "abort T" au site C

3
15/10/2010

• Chaque site Si : Cas favorable


– inscrit dans son journal le message envoyé par le
site C
( <T validée> ou <T abortée> )
– envoie un accusé de réception au site C
• Quand le site C a reçu tous les accusés des
sites Si , il ajoute :
<T finie> à son journal

Cas défavorable Panne d’un participant


• Un site participant Si tombe en panne
==> REPRISE A FROID DE Si
• Analyse du journal du site Si :
– <T validée> => refaire T
– <T abortée> => défaire T
– <T prête à commettre>
=> consulter le site C pour avoir l'état de T :
C répond => Si a connaissance de l'état de T
C ne répond pas => Si envoie une demande de l'état de
T à tous les sites
– Rien concernant T => Si sait que C a aborté T

4
15/10/2010

Cas de panne d’un participant Oracle et la distribution des


données
SGBD Oracle
– gestion du catalogue de la
BDR
• SQL*Net
– connexion client-serveur,
login à distance automatique
– requêtes distribuées,
transactions distribuées,
réplication
• SQL*Connect : passerelle
vers les bases non-Oracle

Database link • Exemple :


• requête globale :
• Lien à une table dans une BD distante spécifiée
par: • SELECT nom FROM client WHERE numero=
– nom de lien 234 ;
– nom de l'utilisateur et password • requête locale :
– chaîne de connexion Net8 (protocole réseau, nom de
site, options, etc…) • SELECT nom FROM client1@site1 WHERE
• Exemple numero=234
CREATE DATABASE LINK empParis • UNION
CONNECT TO anne IDENTIFIEDBY monPW
USING Paris.emp • SELECT nom FROM client2@site2 WHERE
numero=234;

5
15/10/2010

Fédération de BD
• Procédure d’intégration :
– 1) Traitement de l’hétérogénéité sémantique
– 2) Traduction des schémas (résolution de
l’hétérogénéité syntaxique)
– 3) Intégration des schémas
• 1) Hétérogénéité sémantique
– Origine : Résulte des conceptions indépendantes des
différentes BD
– Effet : Désaccord sur la signification des données
– Solution : Analyse sémantique comparée des
données préalable à la fédération souvent groupée
avec la phase de traduction

You might also like