• Aucun résultat trouvé

Transparents(PowerPoint

N/A
N/A
Protected

Academic year: 2022

Partager "Transparents(PowerPoint"

Copied!
36
0
0

Texte intégral

(1)

27/02/22 © Robert Godin. Tous droits réser vés.

1

18 Bases de données

parallèles et réparties

(2)

18.1 Bases de données réparties

R é s e a u

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e t é l é c o m m u n i c a t i o n

S G B D r é p a r t i

S e r v e u r d e d o n n é e s

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e t é l é c o m m u n i c a t i o n

P r o g r a m m e d 'a p p l i c a t i o n

C l i e n t

R é s e a u

L o g i c i e l i n t e r m é d i a i r e

P i l o t e d e t é l é c o m m u n i c a t i o n

S G B D r é p a r t i

S e r v e u r d e d o n n é e s

B D lo c a le

B D lo c a le

(3)

27/02/22 © Robert Godin. Tous droits réser vés.

3

18.1 Bases de données réparties

 Bénéfices potentiels

– Performance

– Fiabilité et disponibilité

– Expansion graduelle (scalabilité)

 Inconvénients

– Complexité accrue

– Coût important

 conception, administration,...

(4)

Problèmes techniques

 Transparence de la répartition

 Transactions réparties

 Évaluation de requêtes réparties

 Interface uniforme à différents modèles

– extracteurs, médiateurs,...

 Répartition du dictionnaire de

données

(5)

27/02/22 © Robert Godin. Tous droits réser vés.

5

18.1.1 Classification des

architectures de BD répartie

 BD répartie homogène

– même SGBD

 LMD compatible

– e.g. SQL

Modèle de données compatible

– e.g. relationnel

 BD répartie hétérogène

– relationnel, fichiers, objet,...

(6)

Autonomie

 Multi-SGBD

– autonomie totale

 SGBD fédéré

– fonctions de coordination intégrées au SGBD

– e.g. support de protocole XA

 SGBD réparti

(7)

27/02/22 © Robert Godin. Tous droits réser vés.

7

18.1.2 Architecture des schémas

S c h é m a e x t e r n e

S c h é m a e x t e r n e

S c h é m a e x t e r n e . . .

S c h é m a c o n c e p t u e l

g l o b a l

S c h é m a d e l o c a l i s a t i o n

S c h é m a l o c a l

S c h é m a l o c a l

S c h é m a

l o c a l

. . .

(8)

18.1.3.1 DUPLICATION RÉPARTIE

Duplication synchrone

(synchronous replication)

– sérialisabilité globale

Duplication asynchrone (asynchronous replication)

– copie primaire

– mise-à-jour en différé des autres

(9)

27/02/22 © Robert Godin. Tous droits réser vés.

9

18.1.3.2 FRAGMENTATION RÉPARTIE

 Fragmentation horizontale

– e.g. compte des clients de Montréal sur le site de Montréal

 Fragmentation verticale

– e.g. la colonne des salaires sur le site

de la comptabilité

(10)

18.1.4 Transactions réparties

G e s t i o n n a i r e d e t r a n s a c t i o n T r a n s a c t i o n s

r é p a r t i e s

G e s t i o n n a i r e d e l ' o r d o n n a n c e m e n t

G e s t i o n n a i r e d e d o n n é e s

B D e t jo u r n a l

S i t e c o o r d o n n a t e u r

G e s t i o n n a i r e d e t r a n s a c t i o n

G e s t i o n n a i r e d e l 'o r d o n n a n c e m e n t

G e s t i o n n a i r e d e d o n n é e s

B D e t jo u r n a l

S i t e p a r t i c i p a n t

(11)

27/02/22 © Robert Godin. Tous droits réser vés.

11

18.1.5 Contrôle de concurrence réparti

 Verrouillage

– Site primaire

 contrôle centralisé des verrous

– Contrôle réparti

 verrouiller toutes les copies en écriture

– Copie primaire

– Verrouillage majoritaire

(12)

18.1.6 Protocole de confirmation en deux phases

Début

Ecrire préparer

au journal Début

Attente

Préparer à confirmer

Ecrire prêt au journal (vider tampons journal)

Prêt

Site coordonnateur (usager) Site participant (données)

Vote OK

Tous ont répondu OK

Confirmer Ecrire confirmer

au journal

Confirmé Oui

Non Ecrire annuler

au journal Annuler

Annulé

Confirmer?

Ecrire confirmer au journal

Ecrire annuler au journal

Confirmé Annulé

Oui Non

Accepter

Accepter

Ecrire fin de la transaction au journal

(13)

27/02/22 © Robert Godin. Tous droits réser vés.

13

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

(14)

18.1.7.1 ETAPES

D'OPTIMISATION

D é c o m p o s i t io n R e q u ê t e ( e x : S Q L )

S c h é m a c o n c e p t u e l &

e x t e r n e g lo b a l

R e q u ê t e in t e r n e g lo b a le

L o c a l i s a t io n d e s d o n n é e s

R e q u ê t e s u r f r a g m e n t s

O p t im is a t io n g lo b a le

S c h é m a d e lo c a lis a t io n

P la n d 'e x é c u t io n r é p a r t i

S t a t is t iq u e s s u r f r a g m e n t s

O p t im is a t io n lo c a le S h é m a i n t e r n e

lo c a l & s t a t is t iq u e s

S i t e c o o r d o n n a t e u r

S it e p a r t ic i p a n t

(15)

27/02/22 © Robert Godin. Tous droits réser vés.

15

18.1.7.2 OPTIMISATION GLOBALE

Plan 1 :

Transférer T

1

au site 2 T

1

 T

2

= R au site 2 Transférer R au site 3

R  T

3

= Résultat final au site 3 Plan 2 :

Transférer T

2

au site 1 T

1

 T

2

= R au site 1 Transférer R au site 3

R  T

3

= Résultat final au site 3

Plan 3 :

Transférer T

1

au site 3 Transférer T

2

au site 3

T

1

 T

2

 T

3

= Résultat final au site 3

(16)

18.1.7.3 STRATÉGIE PAR SEMI-JOINTURE

Plan 1 :

Transférer T 2 au site 1

T 1T 2 = Résultat final au site 1 Plan 2 :

Transférer  A (T 2 ) au site 1

T 1   A (T 2 ) (= T 1  T 2 ) = R au site 2 Transférer R au site 2

R T 2 = Résultat final au site 2

(17)

27/02/22 © Robert Godin. Tous droits réser vés.

17

Parallélisme interopération et intersite

T1  T2  T3  T4

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

(18)

18.1.8 Conception d'une BD répartie

 Rapprocher les données des traitements

 Nouvelles opportunités

– duplication

 synchrone ou asynchrone ?

– fragmentation

(19)

27/02/22 © Robert Godin. Tous droits réser vés.

19

CREATE DATABASE LINK Bd2.nomDomaineDuSite2 ... ;

18.1.9 BD répartie avec Oracle

 Au site 1 :

R é s e a u

O r a c l e N e t P i l o t e d e t é l é c o m m u n i c a t i o n

i n s t a n c e O r a c l e

S e r v e u r d e d o n n é e s d u

S i t e 2

O r a c l e N e t P i l o t e d e t é l é c o m m u n i c a t io n

P r o g r a m m e d 'a p p l i c a t i o n

C l i e n t

R é s e a u

O r a c l e N e t P i l o t e d e t é l é c o m m u n i c a t i o n

i n s t a n c e O r a c l e

S e r v e u r d e d o n n é e s d u

S i t e 1

B d 1 B d 2

(20)

Transparence de localisation par SYNONYM

CREATE PUBLIC SYNONYM Table2

FOR Schéma2.Table2@Bd2.nomDomaineDuSite2

SELECT …

FROM Schéma1.Table1, Table2

WHERE …

(21)

27/02/22 © Robert Godin. Tous droits réser vés.

21

Duplication répartie (REPLICATION)

 MATERIALIZED VIEW (remplace SNAPSHOT)

 Paramètres de contrôle du rafraîchissement

CREATE MATERIALIZED VIEW ClichéTable2 AS

SELECT * FROM Schéma2.Table2@Bd2.nomDomaineDuSite2

(22)

18.2 Base de données parallèle

 Exploitation du parallélisme intrasite

 Parallélisme de disques

(23)

27/02/22 © Robert Godin. Tous droits réser vés.

23

18.2.1 Disques parallèles

 Duplication

– disques mirroirs

 Code détecteur/correcteur d ’erreur

– Parité

– Hamming

– …

 Répartition cyclique (striping)

– par bloc

– par bit (moins populaire)

(24)

18.2.2 Architecture RAID (Redundant Array of

Independent Disks )

RAID 0

répartition par bloc

RAID 1

disques miroirs

RAID 2

codes correcteurs (e.g. type Hamming)

moins de disque que 1

RAID 3

répartition par bit (ou octet)

un disque de parité (détection)

récupération d ’une faute d ’un disque

RAID 4

répartition par bloc

disque de parité

RAID 5

répartition par bloc

blocs de parité répartis

permet les écritures parallèles

RAID 6

répartition par bloc

codes correcteurs répartis

(25)

27/02/22 © Robert Godin. Tous droits réser vés.

25

Suite

 Implémentation dans couche basse

transparent au SGBD

logiciel

pilote RAID

matériel

 Choix dépend des contraintes de l ’application

performance : 0

fiabilité : 1

performance + fiabilité (RAID10)

coût élevé amène à considérer d’autres alternatives

 2 et 4 supplantés par 3 et 5

(26)

Comparaison des niveaux RAID

Niveau Répartitio

n Redonda

nce Espace Fiabilité Lecture Écriture

0 bloc aucune - ++ (inter-bloc) ++

1 miroir --- +++ +

0+1 bloc miroir --- +++ ++ (inter-bloc) ++

2 CCE -- ++ - -

3 bit parité bit - + (une faute) ++ (un bloc à la

fois) -

4 bloc parité bloc - + (une faute) ++ (inter-bloc) -

5 bloc parité bloc

répart ie

- + (une faute) ++ (inter-bloc) ++

6 bloc CCE

répart i

-- ++ ++ (inter-bloc) +

(27)

27/02/22 © Robert Godin. Tous droits réser vés.

27

18.2.3 Parallélisme d’entrée- sortie au niveau du SGBD

 Fragmentation de table

– Aléatoire

 requêtes difficilement prévisibles

e.g. entrepôt de données

– Partition par intervalles de valeurs

 clé de partition

– Partition par hachage

 sélection par égalité

(28)

18.2.4 Autres formes de parallélisme

 Plusieurs processeurs

 Plusieurs unités de mémoire

 Duplication des processus SGBD

– processus miroirs pour fiabilité

(29)

27/02/22 © Robert Godin. Tous droits réser vés.

29

Architecture à mémoire partagée

(Symmetric MultiProcessor – SMP)

(30)

Architecture à disques

partagés

(31)

27/02/22 © Robert Godin. Tous droits réser vés.

31

Sans partage

(32)

Architecture cluster

 Hybride parallèle/réparti

 Interconnexion par LAN rapide

– couche de clusterware

 Architecture en lames (blades)

(33)

27/02/22 © Robert Godin. Tous droits réser vés.

33

Oracle 10g

Métaphore du « grid computing »

Ressource de calcul virtuelle

Transparence de l’architecture matérielle

Supporte plusieurs combinaisons d’architectures parallèles et réparties

Oracle Real Application Clusters (RAC)

Un seul SGBD virtuel

Architecture cluster à disque partagé

Tire profit du coût décroissant des architectures à lames (machines peu coûteuses, Linux, réseaux très rapides, clusterware pour partage des disques, …)

Paramétrage de haut niveau

Fiabilité

Performance

Automatismes sophistiqués

Mécanismes de surveillance et de mise au point intégrés

Basculement transparent d’application suite à une faute

Répartition automatique des services sur un bassin de ressources

(34)

Parallélisme intraopération

 Parallélisme à l’intérieur d’une opération

 Balayage

 Tri

 Sélection

 Jointure

 Agrégats

 …

(35)

27/02/22 © Robert Godin. Tous droits réser vés.

35

Sélection parallèle

(36)

Jointure parallèle

 Fragmentation symétrique

 Fragmentation et duplication

Références

Documents relatifs

public static void main (String args []) throws Exception { // Création d'une Connection globale pour l'application UsineConnection uneUsineConnection =

public class exempleInsertionsNouveauxObjetsOMLJava { public static void main (String args []){. /* Ouvrir

CONSTRAINT annéeSup0 CHECK(annéeParution.valeurAnnée > 0), CONSTRAINT referenceTableEditeur éditeur SCOPE IS Editeur) CREATE INDEX indexEditeurLivre ON Livre(éditeur). CREATE

noSequence : INTEGER {Clé candidate : codeMatricule}. codeMatricule

CREATE VIEW Article (noArticle, description, prixUnitaire, quantitéEnStock)AS SELECT C.noArticle, description, prixUnitaire, quantitéEnStock FROM Catalogue AS C, Inventaire AS

 Méthodes d’accès spatiales (Spatial Acces Method - SAM ).. – objets

– Deux opérations de lecture ou d'écriture dans deux transactions différentes sont non permutables si elles portent sur la même donnée et au moins une des deux est

public static void main (String args []) throws Exception { // Création d'une Connection globale pour l'application UsineConnection uneUsineConnection =