Вы находитесь на странице: 1из 38

18 Bases de donnes parallles et rparties

15/01/2012

Robert Godin. Tous droits rservs.

18.1 Bases de donnes rparties


BD locale Rseau Rseau BD locale

Programme d'application Logiciel intermdiaire Pilote de tlcommunication

SGBD rparti Logiciel intermdiaire Pilote de tlcommunication

SGBD rparti Logiciel intermdiaire Pilote de tlcommunication

Client

Serveur de donnes

Serveur de donnes

15/01/2012

Robert Godin. Tous droits rservs.

18.1 Bases de donnes rparties




Bnfices potentiels

Performance Fiabilit et disponibilit Extensibilit Complexit accrue Cot important


 conception, administration,...

Inconvnients

15/01/2012

Robert Godin. Tous droits rservs.

Problmes techniques
Transparence de la rpartition  Transactions rparties  valuation de requtes rparties  Interface uniforme diffrents modles


extracteurs, mdiateurs,...

Rpartition du dictionnaire de donnes

15/01/2012

Robert Godin. Tous droits rservs.

18.1.1 Classification des architectures de BD rpartie




BD rpartie homogne

mme SGBD e.g. SQL e.g. relationnel relationnel, fichiers, objet,...


Robert Godin. Tous droits rservs. 5

LMD compatible

Modle de donnes compatible

BD rpartie htrogne

15/01/2012

Autonomie


Multi-SGBD

autonomie totale fonctions de coordination intgres au SGBD e.g. support de protocole XA

SGBD fdr

SGBD rparti

15/01/2012

Robert Godin. Tous droits rservs.

18.1.2 Architecture des schmas


Schma externe Schma externe ... Schma externe

Schma conceptuel global

Schma de localisation

Schma local
15/01/2012

Schma local

...

Schma local
7

Robert Godin. Tous droits rservs.

18.1.3.1 DUPLICATION RPARTIE




Duplication synchrone (synchronous replication)

srialisabilit globale copie primaire mise--jour en diffr des autres

Duplication asynchrone (asynchronous replication)


15/01/2012

Robert Godin. Tous droits rservs.

18.1.3.2 FRAGMENTATION RPARTIE




Fragmentation horizontale

e.g. compte des clients de Montral sur le site de Montral e.g. la colonne des salaires sur le site de la comptabilit

Fragmentation verticale

15/01/2012

Robert Godin. Tous droits rservs.

18.1.4 Transactions rparties


Transactions rparties Gestionnaire de transaction Gestionnaire de l'ordonnancement Gestionnaire de donnes Gestionnaire de transaction Gestionnaire de l'ordonnancement Gestionnaire de donnes

BD et journal Site coordonnateur

BD et journal

Site participant

15/01/2012

Robert Godin. Tous droits rservs.

10

18.1.5 Contrle de concurrence rparti




Verrouillage

Site primaire
 contrle centralis

des verrous

Contrle rparti
 verrouiller

toutes les copies en criture

Copie primaire Verrouillage majoritaire

15/01/2012

Robert Godin. Tous droits rservs.

11

18.1.6 Protocole de confirmation en deux phases


Site coordonnateur (usager) Dbut Site participant (donnes) Ecrire prparer au journal Prparer confirmer Dbut

Attente

Vote OK

Ecrire prt au journal (vider tampons journal) Annuler

Tous ont rpondu OK Oui Ecrire confirmer au journal

Non Ecrire annuler au journal

Prt

Confirmer Confirmer? Oui Accepter Ecrire confirmer au journal Accepter Confirm Annul Non Ecrire annuler au journal

Confirm

Annul

Ecrire fin de la transaction au journal

15/01/2012

Robert Godin. Tous droits rservs.

12

18.1.7 Optimisation de requte rpartie




Cot en communication

Peut dominer le cot E/S ! surtout interopration

Potentiel de paralllisme intersite et intrarequte

15/01/2012

Robert Godin. Tous droits rservs.

13

Requte (ex:SQL)

18.1.7.1 ETAPES D'OPTIMISATION

Dcomposition

Schma conceptuel & externe global

Requte interne globale

Localisation des donnes

Schma de localisation

Site coordonnateur

Requte sur fragments

Optimisation globale

Statistiques sur fragments

Plan d'excution rparti

Optimisation locale

Shma interne local & statistiques Site participant

15/01/2012

Robert Godin. Plan d'excution rservs. Tous droits


local

14

18.1.7.2 OPTIMISATION GLOBALE


Plan 1 : Transfrer T1 au site 2 T1 " T2 = R au site 2 Transfrer R au site 3 R " T3 = Rsultat final au site 3
Plan 2 : Transfrer T2 au site 1 T1 " T2 = R au site 1 Transfrer R au site 3 R " T3 = Rsultat final au site 3

Plan 3 : Transfrer T1 au site 3 Transfrer T2 au site 3 T1 " T2 " T3 = Rsultat final au site 3
15/01/2012 Robert Godin. Tous droits rservs. 15

18.1.7.3 STRATGIE PAR SEMI-JOINTURE


Plan 1 : Transfrer T2 au site 1 T1 T2 = Rsultat final au site 1
Plan 2 : Transfrer TA(T2) au site 1 T1 TA(T2) (= T1 2 T2) = R au site 2 Transfrer R au site 2 R T2 = Rsultat final au site 2

15/01/2012

Robert Godin. Tous droits rservs.

16

Paralllisme interopration et intersite




T1 T2 T3 T4

Transfrer T2 au site 1 T1 T2 = R au site 1 En parallle, transfrer T4 au site 3 T3 T4 = S au site 3 Transfrer S au site 1 Ensuite, R S = Rsultat final au site 1
15/01/2012 Robert Godin. Tous droits rservs. 17

18.1.8 Conception d'une BD rpartie


Rapprocher les donnes des traitements  Nouvelles opportunits


duplication
 synchrone ou

asynchrone ?

fragmentation

15/01/2012

Robert Godin. Tous droits rservs.

18

18.1.9 BD rpartie avec Oracle


Bd1 Bd2
Rseau Rseau

Programme d'application Oracle Net Pilote de tlcommunication

instance Oracle Oracle Net Pilote de tlcommunication

instance Oracle Oracle Net Pilote de tlcommunication

Client

Serveur de donnes du Site 1

Serveur de donnes du Site 2

Au site 1 :
Robert Godin. Tous droits rservs. 19

CREATE DATABASE LINK Bd2.nomDomaineDuSite2 ... ;


15/01/2012

Transparence de localisation par SYNONYM


CREATE PUBLIC SYNONYM Table2 FOR Schma2.Table2@Bd2.nomDomaineDuSite2

SELECT FROM Schma1.Table1, Table2 WHERE

15/01/2012

Robert Godin. Tous droits rservs.

20

Duplication rpartie (REPLICATION)




Master replication (duplication complte)

synchrone ou asynchrone

MATERIALIZED VIEW (remplace SNAPSHOT)


CREATE MATERIALIZED VIEW ClichTable2 AS SELECT * FROM Schma2.Table2@Bd2.nomDomaineDuSite2

Paramtres de contrle du rafrachissement

15/01/2012

Robert Godin. Tous droits rservs.

21

18.2 Base de donnes parallle


Exploitation du paralllisme intrasite  Paralllisme de disques


15/01/2012

Robert Godin. Tous droits rservs.

22

18.2.1 Disques parallles


 Duplication

15/01/2012

disques mirroirs

 Code

dtecteur/correcteur d erreur

Parit Hamming

 Rpartition cyclique

(striping)

par bloc par bit (moins populaire)


Robert Godin. Tous droits rservs. 23

Code Correcteur dErreur (CCE) de type Hamming


   

Bit 1=20 : bit de parit pour les bits 3=112, 5=1012, 7=1112 Bit 2=21 : bit de parit pour les bits 3=112, 6=1102, 7=1112 Bit 4=22 : bit de parit pour les bits 5=1012, 6=1102, 7=1112 Parit OK

Parit des bits 1 et 4 en erreur, donc bit 5 (= 1+4) invers

15/01/2012

Robert Godin. Tous droits rservs.

24

18.2.2 Architecture RAID (Redundant Array of Independent Disks )


  

RAID 0

rpartition par bloc disques miroirs codes correcteurs (e.g. type Hamming) moins de disque que 1 rpartition par bit (ou octet) un disque de parit (dtection) rcupration d une faute d un disque rpartition par bloc disque de parit rpartition par bloc blocs de parit rpartis permet les critures parallles rpartition par bloc codes correcteurs rpartis Robert Godin. Tous droits rservs.

RAID 1 RAID 2 RAID 3


RAID 4

RAID 5

RAID 6

15/01/2012

25

Suite


Implmentation dans couche basse


transparent au SGBD logiciel




pilote RAID

matriel performance : 0 fiabilit : 1 performance + fiabilit (RAID10)




Choix dpend des contraintes de l application


cot lev amne considrer dautres alternatives

2 et 4 supplants par 3 et 5
Robert Godin. Tous droits rservs. 26

15/01/2012

Comparaison des niveaux RAID


Niveau Rpartition Redondance Espace Fiabilit 0 1 0+1 2 3 4 5 bit bloc bloc bloc bloc aucune miroir miroir CCE parit bit parit bloc -----+++ +++ ++ Lecture ++ (inter-bloc) + ++ (inter-bloc) ++ ++ criture ++

+ (une faute) ++ (un bloc la fois) + (une faute) ++ (inter-bloc) + (une faute) ++ (inter-bloc)

parit bloc rpartie CCE rparti --

bloc

++

++ (inter-bloc)

15/01/2012

Robert Godin. Tous droits rservs.

27

18.2.3 Paralllisme dentresortie au niveau du SGBD




Fragmentation de table

Alatoire


requtes difficilement prvisibles

e.g. entrept de donnes

Partition par intervalles de valeurs




cl de partition par galit

Partition par hachage


 slection

15/01/2012

Robert Godin. Tous droits rservs.

28

18.2.4 Autres formes de paralllisme


Plusieurs processeurs  Plusieurs units de mmoire  Duplication des processus SGBD


processus miroirs pour fiabilit

15/01/2012

Robert Godin. Tous droits rservs.

29

Architecture mmoire partage (Symmetric MultiProcessor SMP)

15/01/2012

Robert Godin. Tous droits rservs.

30

Architecture disques partags

15/01/2012

Robert Godin. Tous droits rservs.

31

Sans partage

15/01/2012

Robert Godin. Tous droits rservs.

32

Oracle 10g
 

Mtaphore du grid computing Ressource de calcul virtuelle

Transparence de larchitecture matrielle




Supporte plusieurs combinaisons darchitectures parallles et rparties

Oracle Real Application Clusters (RAC) Un seul SGBD virtuel Architecture cluster disque partag

Tire profit du cot dcroissant des architectures lames (machines peu coteuses, Linux, rseaux trs rapides, clusterware pour partage des disques, ) Fiabilit Performance Mcanismes de surveillance et de mise au point intgrs Basculement transparent dapplication suite une faute Rpartition automatique des services sur un bassin de ressources
Robert Godin. Tous droits rservs. 33

Paramtrage de haut niveau


 

Automatismes sophistiqus
  

15/01/2012

Paralllisme intraopration
Paralllisme lintrieur dune opration  Balayage  Tri  Slection  Jointure  Agrgats 

15/01/2012 Robert Godin. Tous droits rservs. 34

Slection parallle

15/01/2012

Robert Godin. Tous droits rservs.

35

Jointure parallle


Fragmentation symtrique

Fragmentation et duplication

15/01/2012

Robert Godin. Tous droits rservs.

36

Paradigme map-reduce de traitement parallle





Fonctions map et reduce excutes en parallle


Architecture massivement parallle sans partage Exemple dindexation de pages Web

Map

Chaque processeur traite un ensemble de pages Pour chaque page


 

Input : ( dPage, texte de la page) Output : ensemble de paires ( dTermeIndex, IdPage)

Reduce

Chaque processeur traite un ensemble de termes Rassemble les paires pour un terme et forme le rsultat


Output : (IdTermeIndex,{IdPage})
Robert Godin. Tous droits rservs. 37

15/01/2012

Oracle exadata


Cellule exadata

Processeurs + disques + flash cache 336 TB SATA ou 100 TB SAS 5 TB Flash Interconnexion infiniband 40GB/sec Temps daccs jusqu 0.001 ms Pr-traitement en parallle
  

Stockage intelligent

Slection Compression par colonne Indexation

15/01/2012

Rpartition + duplication de donnes


Robert Godin. Tous droits rservs. 38

Вам также может понравиться