Chap 18
Chap 18
Chap 18
parallèles et réparties
BD BD
locale locale
Réseau Réseau
Programme
SGBD réparti SGBD réparti
d'application
Logiciel Logiciel Logiciel
intermédiaire intermédiaire intermédiaire
Pilote de Pilote de Pilote de
télécommunication télécommunication télécommunication
Serveur de Serveur de
Client
données données
Schéma
conceptuel
global
Schéma de
localisation
Gestionnaire de Gestionnaire de
transaction transaction
Gestionnaire de Gestionnaire de
l'ordonnancement l'ordonnancement
Gestionnaire de Gestionnaire de
données données
BD et journal BD et journal
Site
Site participant
coordonnateur
Début
Confirmer
Oui
Ecrire confirmer Confirmer?
au journal Oui Non
Confirmé Annulé
Ecrire fin de
la transaction
au journal
16/12/2019 © Robert Godin. Tous droits réservés. 12
18.1.7 Optimisation de
requête répartie
Coût en communication
– Peut dominer le coût E/S !
Potentiel de parallélisme intersite et intrarequête
– surtout interopération
18.1.7.1 ETAPES
D'OPTIMISATION Décomposition
Schéma
conceptuel &
externe global
Requête interne
globale
Requête sur
fragments
Plan d'exécution
réparti
Shéma interne
Optimisation locale
local & statistiques
Site participant
Plan 3 :
Transférer T1 au site 3
Transférer T2 au site 3
T1 T2 T3 = Résultat final au site 3
Plan 2 :
Transférer A(T2) au site 1
T1 A(T2) (= T1 T2) = R au site 2
Transférer R au site 2
R T2 = Résultat final au site 2
Transférer T2 au site 1
T1 T2 = R au site 1
En parallèle, transférer T4 au site 3
T3 T4 = S au site 3
Transférer S au site 1
Ensuite, R S = Résultat final au site 1
16/12/2019 © Robert Godin. Tous droits réservés. 17
18.1.8 Conception d'une
BD répartie
Rapprocher les données des traitements
Nouvelles opportunités
– duplication
synchrone ou asynchrone ?
– fragmentation
Réseau Réseau
Programme
instance Oracle instance Oracle
d'application
Au site 1 :
CREATE DATABASE LINK Bd2.nomDomaineDuSite2 ... ;
SELECT …
FROM Schéma1.Table1, Table2
WHERE …
Duplication A A
– disques mirroirs
Code détecteur/correcteur d ’erreur
– Parité
– Hamming
– …
Répartition cyclique (striping)
– par bloc
– par bit (moins populaire)
16/12/2019 © Robert Godin. Tous droits réservés. 23
18.2.2 Architecture Raid 0 : Répartition par bloc
of Independent Disks )
Bloc 4 Bloc 5 Bloc 6 Bloc 7
Bloc 8 Bloc 9 Bloc 10 Bloc 11
... ... ... ...
RAID 1
... ... ... ...
Raid 2 : Codes correcteurs d’erreurs
– disques miroirs
RAID 2
– codes correcteurs (e.g. type Hamming) A1
B1
A2
B2
A3
B3
A4
B4
CCEA1
CCEB1
CCEA2
CCEB2
CCEA3
CCEB3
Mémoire vive
Unité de Unité de Unité de
traitement traitement traitement
Sélection
globale
Jointure
Fragment 2 R locale Fragment 2 S
Jointure
Fragment 3 R locale Fragment 3 S
Fragmentation et duplication
Jointure
Fragment 1 R locale Copie de S
Jointure
Fragment 2 R locale Copie de S
Jointure
Fragment 3 R locale Copie de S